이번 논문은 음성 인식에서 널리 사용되고 있는 증강 기법인 SpecAugment [1]이다. 논문은 arxiv.org/abs/1904.08779에서 확인할 수 있다.
Intro, related works
기존의 음성 인식을 위한 증강 기법은 아래와 같았다.
1) Noise Injection
Numpy를 사용하여 데이터에 임의의 값을 추가하여 증강하는 기법 (잡음 추가)
2) Shifting time
임의의 ms로 오디오를 왼쪽 / 오른쪽으로 이동
n_ms를 사용하여 오디오를 왼쪽으로 이동하면 처음 n_ms초는 0(무음)으로 표시
n_ms를 사용하여 오디오를 오른쪽으로 이동하면 마지막 n_ms가 0(무음)으로 표시됨
3) Changing pitch
무작위로 pitch (음 높이)를 변경할 수 있음. librosa에 의해 수행 가능
4) Changing speed
음 높이를 변경하는 것과 동일하게 librosa에 의해 수행할 수 있음
고정 비율로 시계열을 늘릴 수 있음
이러한 방법을 사용하는 도중, SpecAugment가 2019년도에 제안됨
Method
Time warping, frequency masking, time masking의 세 가지 기본 방법으로 데이터를 증강 기법을 제안함
이 논문에서는 이 증강 기법을 LibriSpeech 및 SwitchBoard dataset에 적용하여 실험함
사용된 네트워크는 Listen, attend and spell [2] (블로그 리뷰 참조: kaen2891.tistory.com/30?category=453454)
1. Time Warping
임의의 점이 선택되고, 해당 선을 따라 $0$에서 시간 왜곡 매개 변수 $W$까지의 균일 분포에서 선택한 거리 $w$로 왼쪽 또는 오른쪽으로 warping 함
2. Frequency Masking
주파수 채널 $[f_0,f_0 + f)$ 이 마스킹됨
여기에서 $f$는 0에서 주파수 마스크 매개 변수 $F$까지의 균일한 분포에서 선택됨
$f_0$은 $[0, v-f)$에서 선택되며, 여기에서 $v$는 주파수 채널의 수임 (80차원 mel-spectrogram이 주로 사용되므로 80이 해당됨)
3. Time Masking
연속 시간 단계 $[t_0, t_0+t)$가 마스킹됨
$t$는 0에서 시간 마스크 매개 변수 $T$까지의 균일한 분포에서 선택됨
$t_0$은 $[0,\tau-t)$에서 선택됨
4. Augmentation Policy
Frequency masking과 Time maksing을 결합하여 아래의 그림과 같이 4개의 새로운 정책이 도입됨
여기에서,
- $W$는 시간 왜곡 매개 변수
- $F$는 주파수 마스킹 매개 변수
- $m_F$: 적용된 주파수 마스킹 수
- $T$: 시간 마스킹 매개 변수
- $m_t$: 적용된 시간 마스킹 횟수
이에 따라 적용된 증강 스펙트럼 결과는 아래의 그림과 같음
Experimental setup and results
Setup
- 80-dimensional log-mel spectrogram 사용
- Encoder layer에서 stride size가 2 인 32 개 채널이 있는 3x3 컨볼 루션의 2 개 레이어가 포함되어 총 시간 감소 계수인 $r$ factor를 4로 설정함
- Convolutional layer위의 Encoder에는 Bi-LSTM (LAS-4-1024) layer 4 개가 포함됨
- 최대 학습률을 $1e−3$으로, batch_size를 512로, 32 개의 Google Cloud TPU를 사용하여 학습하였음
results
- 논문 출판 당시 SpecAugment를 이용하여 SOTA 달성함
SpecAugment는 overfitting 문제를 underfitting 문제로 변환함
- 아래 그림의 네트워크의 learning curve에서 볼 수 있듯이 훈련 중 네트워크는 training dataset의 loss 및 WER뿐만 아니라 augmented dataset에 대해서도 learning시 적합하지 않은 것처럼 보임
- 이것은 네트워크가 training dataset에 과도하게 맞추는 경향이 있는 일반적인 상황과는 완전히 대조적임
- 이를 통해 Data augmentation은 과적합 문제를 과소 적합 문제로 변환함을 보임
시간 왜곡이 기여하지만 성능을 향상하는 주요 요인은 아님
- 시간 왜곡, 시간 마스킹 및 주파수 마스킹이 각각 해제된 세 가지 훈련 결과를 제공하였음
- 시간 왜곡의 효과는 작다고 밝힘
- SpecAugment 작업에서 시간이 오래 걸리고 가장 영향력이 적은 Time warping은 GPU&CPU&Memory를 고려하여 가장 첫 번째로 삭제할 법한 문제로 밝힘
Label smoothing의 효과
- 레이블 평활화로 인해 훈련이 불안정해질 수 있음
- LibriSpeech 학습 시 학습률이 점차 감소할 때, Label smoothing과 augmentation이 함께 적용되면 training이 불안정해짐을 밝힘
- 따라서 LibriSpeech에 대한 학습률의 초기 단계에서만 레이블 스무딩을 사용했다고 함
Conclusion & Take Away
- Time warping은 모델 성능을 많이 향상하지 못하였음
- Label smoothing은 훈련을 불안정하게 만듦
- 데이터 augmentation은 over-fitting 문제를 under-fitting 문제로 변환함
- 증강이 없는 모델은 훈련 세트에서 거의 완벽하게 수행되는 반면 다른 데이터 세트에서는 유사한 결과가 수행되지 않음을 알 수 있음 ==> Augmentation이 일반화에 기여함을 알 수 있음
Reference
[1] Park, Daniel S., et al. "SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition}}." Proc. Interspeech 2019 (2019): 2613-2617.
[2] Chan, William, et al. "Listen, attend and spell: A neural network for large vocabulary conversational speech recognition." 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016.
'Paper Review > Speech Recognition' 카테고리의 다른 글
Self-Training for End-to-End Speech Recognition 리뷰 (0) | 2021.07.04 |
---|---|
Sequence-to-sequence speech recognition with time-depth separable convolutions 리뷰 (0) | 2021.07.04 |
Feature Learning in Deep Neural Networks - A Study on Speech Recognition Tasks (0) | 2021.01.08 |
Listen, Attend and Spell 리뷰 (0) | 2019.03.19 |
Baidu Deep Voice review (0) | 2017.03.15 |