728x90

이번 논문은 음성 인식에서 널리 사용되고 있는 증강 기법인 SpecAugment [1]이다. 논문은 arxiv.org/abs/1904.08779에서 확인할 수 있다.

 

Intro, related works

기존의 음성 인식을 위한 증강 기법은 아래와 같았다.

 

1) Noise Injection

Noise Injection 

Numpy를 사용하여 데이터에 임의의 값을 추가하여 증강하는 기법 (잡음 추가)

 

2) Shifting time

Shifting time

임의의 ms로 오디오를 왼쪽 / 오른쪽으로 이동

n_ms를 사용하여 오디오를 왼쪽으로 이동하면 처음 n_ms초는 0(무음)으로 표시

n_ms를 사용하여 오디오를 오른쪽으로 이동하면 마지막 n_ms가 0(무음)으로 표시됨

 

3) Changing pitch

Changing pitch

무작위로 pitch (음 높이)를 변경할 수 있음. librosa에 의해 수행 가능

 

4) Changing speed

 

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)$에서 선택됨

 

위에서부터 아래로, log-mel spectrogram 입력, time warping, frequency masking, time masking 적용된 그림

 

4. Augmentation Policy

Frequency masking과 Time maksing을 결합하여 아래의 그림과 같이 4개의 새로운 정책이 도입됨

LB, LD, SM 및 SS 정책

여기에서,

- $W$는 시간 왜곡 매개 변수

- $F$는 주파수 마스킹 매개 변수

- $m_F$: 적용된 주파수 마스킹 수

- $T$: 시간 마스킹 매개 변수

- $m_t$: 적용된 시간 마스킹 횟수

 

이에 따라 적용된 증강 스펙트럼 결과는 아래의 그림과 같음

위에서부터 아래로, 원본 log mel-spectrogram, LB 적용 결과, LD 적용 결과

 

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 달성함

 

Switchboard 300H WER results

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.

 

728x90

+ Recent posts