-
TRAINING NEURAL AUDIO CLASSIFIERS WITH FEW DATA 논문 리뷰ML/딥러닝 2020. 11. 2. 15:03반응형
ABSTRACT
본 논문은 적은 데이터로 뉴럴넷 오디오 classifier의 학습을 향상시키는 학습 전략을 제안한다.
- a naive regularization of solution space
- prototypical networks
- transfer learning
- 위 방법들의 조합
위 방법들은 적은 데이터의 영향력을 키운다.
최종적으로 본 논문에서는 class 마다 1~100 개의 예제를 사용해 acoustic event recognition과 acoustic scene classification의 성능을 측정하였다.
Transfer learning이 가장 높은 성능을 가진다. 그러나 prototypical networks는 외부 데이터나 validation 데이터와 함께 count 하지 않을때 더 높은 성능을 가질 것으로 보인다.
INTRODUCTION
End-to-end classifier를 학습시키기 위해 충분한 데이터가 있다고 가정하는 연구가 있다. 이러한 연구들은 대부분 각 class가 100개의 예제 이상 존재하고 공적으로 사용 가능한 데이터셋을 기반으로 한다.
대조적으로 적은 연구가 오직 적은 오디오 데이터를 가지고 오디오 classifier를 학습시키는 문제를 연구한다. 본 논문에서는 얼마나 많은 뉴럴 넷 구조가 이러한 상황에서 성능을 내는지 연구한다.
이러한 연구를 하는데에는 두가지 중요한 이유가 있다.
- 인간이 적은 데이터로부터 일반적인 컨셉을 학습할 수 있다고 가정하면, 현재 뉴럴 넷 시스템에서 그것이 가능하게 할 목표가 생긴다.
- 데이터 라벨링하는 과정은 힘들고 돈이 많이 든다. 항상 충분한 데이터가 있어야 뉴럴 넷을 학습시킬 수 있다는 가정은 합리적이지 않다.
적은 데이터로 뉴럴 넷을 학습시키는 도전은 예전부터 진행되어왔다. 예를 들어, Morfi and Stowell은 audio transcription 태스크를 event detection과 tag detection으로 두가지 태스크로 나눔으로써 이러한 문제를 접근하였다.
다른 방법으로는 unsupervised와 semi-supervised와 같이 non-labelled 데이터를 사용하는 방법이 있다. Transfer learning이 가장 유명한 방법이다. 낮은 리소스를 가지는 언어의 acoustic model을 학습시키는데 주로 사용된다. 또는 visual domain에서 얻은 knowledge를 audio domain으로 바꿀 때 사용된다.
또 다른 방법은 audio 태스크에서 큰 성능 향상을 이끈 data augmentation이 있다. 하지만 본 논문에서는 transfer learning을 주로 다룬다. 3가지 이점이 있는데 transfer learning은 다른 데이터를 사용할 수 있고, transfer learning에 사용 가능한 충분한 데이터가 있고 transfer learning은 차후에 data augmentation과 함께 사용되 성능을 향상시킬 수 있다.
Previous work들과 비슷한 사례로, 머신러닝 분야에서는 적은 학습 데이터로 학습하는 방법을 연구해왔는데 이를 few-shot learning이라고 한다. 이 방법들은 학습하는 동안 보지 않은 새로운 클래스들을 일반화하는 것을 목표로 한다. 새로운 클래스를 위해 적은 학습 데이터를 사용한다. Few-shot learning과 달리 본 논문에서는 새로운 클래스를 일반화하지 않는다. 대신 본 논문에서는 training과 prediction에서 정해진 클래스를 사용한다. 여전히 적은 데이터로 학습시키기 위해 few-shot learning으로부터 영감을 얻는다. 가장 유명한 few-shot learning은 metric learning이다. 이 방법은 클래스 neighborhood 구조를 보존하는 representation을 학습시킴으로써 거리들이 학습된 공간에서 간단히 측정된다. 이 방법들은 주로 이미지 분류에서 사용되고, 간단함과 높은 성능을 보여준다.
본 논문에서는 prototypical networks를 사용한다. Metric learning은 거리를 계산하는 것을 기반으로 하며, 학습된 임베딩 space에서 정의된 class-based인 prototypes과 다르다. 본 논문에서는 prototypical networks가 적은 데이터로 학습된 일반적인 딥러닝 모델보다 더 일반화를 잘하는지에 대해 연구한다.
오직 Tilk만 오디오 classifier를 위해 metric learning을 연구한다. 그는 metric learning approach의 대안으로 마지막 레이어 구조로 siamese network(?)를 사용하고, 입력으로 SVM classifier를 사용한다. 그러므로 우리의 연구는 오디오 classifier를 위한 prototypical networks의 첫 사례라고 할 수 있다.
게다가 80년대로 돌아가면 Kohonen는 learning vector quantization (LVQ)라는 speech recognition을 위한 distance based model을 제안했다. Prototypical network와 매우 비슷하다. 그러나 LVQ는 적은 데이터로 부터 학습시키기위해 디자인 되지 않았고 뉴럴 넷만이 가능한 강력한 non-linear mapping이 불가능하다.
본 논문에서는 어떠한 전략들이 뉴럴넷 audio classifier이 적은 데이터로 학습될 때 성능을 높이는지에 대해 연구한다. 전략들은 다른 적은 데이터 상황에서 평가된다. Section 2에서 설명한다.
첫번재로 전형적인 딥러닝 파이프라인의 regularization을 설명한다.
다음에는 prototypical networks를 설명한다. 이는 few-shot learning으로부터 온 metric learning-based classifier의 잠재력을 보여주는 것을 목표로한다.
마지막으로, 외부 audio data를 사용하는 transfer learning을 설명한다.
2. METHODOLOGY
2.1. Data: Where is the validation set?
본 논문은 적은 데이터로부터 모델을 학습시키는 것에 대해 연구한다. 이를 위해 클래스마다 랜덤하게 n개씩 선택해 학습에 사용하는 classification 상황을 시뮬레이션한다. n = [1, 2, 5, 10, 20, 50, 100]
같은 실험을 반복하는 것은 어떠한 데이터가 선택되는지에 따라 매우 큰 차이를 보이기 때문에, 데이터의 fold마다 m번씩 실험을 했다. 그리고 fold와 runs에서 평균 성능을 사용했다.
본 논문에서 acoustic event recognition과 acoustic scene classification을 태스크로 한다. Acoustic event recognition에서는 UrbanSound8K 데이터셋을 사용하고, 10 class와 10 fold로 나누어진 8732개의 사운드가 있다. acoustic scene classification에서는 TUT 데이터셋을 사용하고, 4680 학습 데이터 1620 테스트 데이터가 있다. 각 10초며 15개의 class가 있다. 클래스마다 312개.
데이터가 너무 부족해서 학습을 멈추기 위한 validation set은 합리적이지 않다고 가정한다.
2.2. Baselines
- Random guess: 클래스를 랜덤으로 찍어서 US8K는 9.99%, ASC-TUT는 6.66%의 성능을 가진다.
- Nearest-neighbor MFCCs: MFCC간에 cosine distance를 사용하는 간단한 nearest-neighbot classifier. 20 MFCC와 delta, deltadelta를 사용한다. 전체 오디오 클립의 mean과 standard deviation을 구해 총 120개의 특성을 가진다.
- Salamon and Bello (SB-CNN): 이 모델은 모든 US8K의 학습 데이터를 학습해 73%의 성능을 가진다. (79% with data augmentation) SB-CNN은 AlexNet과 비슷한 모델로 3개의 convolutional layers, 5x5 filters, max-pool layers를 가진다. Feature map은 64 unit의 dense layer를 걸쳐 softmax로 간다. 본 논문에서는 모든 n 에 대해 베이스라인을 측정했다.
- Han et al. and Mun et al.: 이 모델은 모든 ASC-TUT의 학습 데이터를 학습하고 ensemble을 사용해 80.4%의 성능을 가지고 ensemble과 GAN-based data augmentation을 사용해 83.3%의 성능을 가진다.
2.3. Training details
인풋은 128 bins X 3 s (128 frames)의 log-mel spectrogram을 사용한다. US8K에서 오디오 파일이 3초보다 짧으면 'repeat-pad'해서 입력 크기를 맞추었다.
학습하는 동안 데이터는 랜덤하게 선택되었다. 그러나 prediction에서는 만약 3초보다 길면 1초씩 윈도우를 움직이면서 prediction하고 평균을 구했다. ReLU, batch size 256, cross-entropy, SGD, 0.1 learning rate. Gradient clipping을 사용해 학습을 안정시켰다. Gradient들의 L2 norm이 5를 넘지 않게 rescale했다.
3. AUDIO CLASSIFICATION WITH FEW DATA
3.1. Regularized models
학습 데이터가 적을 때 흔히 사용되는 딥러닝 모델의 한계를 보여준다. Overfitting을 피하기 위해 regularization을 사용한다. 이 아이디어를 위해 우리는 두가지 구조를 사용한다.
- VGG: 이 모델은 컴퓨터 비젼 모델로 CNN 모델이다. 3x3 filters, 5 layers, 32 filters, 2x2 max pooling, dense layer, softmax, ELU, batch norm
- TIMBRE: 이 모델은 timbral representation을 학습하기 위해 디자인되었다. single-layer CNN, 108 bins X 7 frames, softmax.
VGG(50k)와 TIMBRE(10k)는 SB-CNN(250k)에 비해 매우 작다. L2-regularization, 50% dropout, 200 epochs
3.2. Prototypical networks
Prototypical networks가 적은 데이터가지고 얼마나 성능을 가지는지 연구한다. Prototypical networks는 각 클래스의 prototype representation와의 거리를 계산한다. Prototypes uk는 클래스 k에 속하는 embedding된 데이터의 평균 벡터다.
f는 뉴럴넷. 이 경우에서 모델은 VGG다. Sk는 랜덤하게 클래스 k에서 n개 선택된 데이터셋 (n=5)
Prototypical networks는 distribution을 생산하고 prototypes과의 거리를 구해서 softmax를 취한다.
Distance는 다양한 방법으로 구할 수 있는데 본 논문에서는 Euclidean distance를 사용했다. Cosine distance보다 높은 성능을 가진다. minibatch, negative log-probability, SGD, 200 epochs. Prototypical networks에서는 overfitting issue가 발생하지 않았다. 이는 적은 데이터를 학습할 때 매우 중요한 포인트다.
3.3. Transfer learning
Audioset이라는 데이터셋이 사전학습된 VGG model을 사용한다. 이 데이터셋은 acoustic event recognition model을 학습시키기 위해 디자인된 2M Youtube audio들이다.
사전 학습된 Audioset model은 6 convolutional layers, 3x3 filters, max-pooling 2x2, 3 dense layer [4096, 4096, 128], log-mel spectrogram 64 bins X 1 s (96 frames). 이전 상황과 같게 1초보다 길면 1초씩 쉬프트해서 predict하고 평균냈다. 1초보다 짧으면 repeat-pad.
3가지 방법을 사용
- Nearest-neighbot with Audioset features: 거리는 cosine distance, 판단은 majority voting (다수결)
- Transfer learning (fine-tuning): 사전 학습된 Audioset model을 fine tuning한다.
- Prototypical networks + transfer learning: 사전 학습된 Audioset model을 fine tuning한 후 정의되는 embedding space에서 거리를 구하는 방식으로 prototypical networks를 구현한다.
Transfer learning 실험에서는 pretrained layers에 trainset이 빠르게 overfitting된다. 이를 막기위해 pre-trained layer에는 0.00001, 다른 layer에는 0.1의 learning rate를 사용한다.
4. RESULTS
본 논문에서 lower bound는 random guess, upper bound는 모든 학습 데이터를 사용한 이전 과제들이다. 또한 basic baseline으로 nearest neighbor classifier를 사용한다. 모든 베이스라인과 references는 dashed와 dotted lines다.
먼저 일반적인 딥러닝 모델들과 비교하였다. SB-CNN, VGG, TIMBRE. 모든 모델들은 n < 50 일때 비슷한 성능을 가진다. n <= 10 일때 TIMBRE 모델의 성능이 좋다. 그러나 n > 20 일때부터는 트렌드가 바뀐다.
VGG는 학습 가능한 데이터가 많으면 성능이 많이 증가하는것으로 보인다.
n > 20부터는 딥러닝 모델들이 nearest-neighbot MFCC보다 전부 성능이 좋다.
본 논문에서 기존 딥러닝 모델들의 한계를 극복하기 위해 prototypical networks를 사용한다. 이 모델이 적은 데이터로 학습할 때 성능이 대체적으로 좋다. 5 < n <= 50에서는 제일 좋고, n = 100에서는 아니다. 이는 데이터가 충분하면 prototypical networks가 기존 딥러닝 모델들보다 성능이 좋지 않은 것을 의미한다. ASC-TUT에서는 그렇지 않다.
Prototypical networks의 embedding space는 일반 VGG model보다 더 큰 VGG model에 의해 정의된다. 그러므로 prototypical networks가 일반 딥러닝 모델보다 더 overfitting 되기 쉬울것처럼 보인다. 그러나 prototypical networks가 적은 데이터에서 일반 딥러닝 모델들 보다 더 일반화를 잘하는 것을 확인하였다. 오버피팅 문제가 prototypical networks에서는 영향력이 적기때문에 large VGG 모델같이 큰 모델들도 좋은 결과를 가질 수 있었다.
Transfer learning에 대해서도 실험을 하였다. n >= 10 일때 transfer learning with fine tuning과 prototypical networks + transfer learning이 동등한 성능을 가진다. 그러나 n < 10 일때, transfer learning 성능이 더 좋다. 이는 매우 적은 데이터만으로는 prototype을 정의하기 어려웠던 것을 의미한다.
US8K에서는 transfer learning이 높은 성능을 가지지만 ASC-TUT에서는 그렇지 않다. 하지만 두 태스트에서 n < 20 일때는 transfer learning이 늘 좋다.
5. DISCUSSION
Prototypical networks + transfer learning이 제일 좋다. 태스크에 상관없이 좋은 것은 transfer learning이다.
반응형'ML > 딥러닝' 카테고리의 다른 글
[AutoGPTQ] KoAlpaca 양자화하기 (2) 2023.08.18 Chapter 16 Natural Language Processing with RNNs and Attention (0) 2020.06.18 Chapter 9 Unsupervised Learning Techniques (0) 2020.05.07 Chapter 7 Ensemble Learning and Random Forests (0) 2020.04.13