SpecAugment : A Simple Data Augmentation Method for Automatic Speech Recognition

https://arxiv.org/pdf/1904.08779.pdf

https://ai.googleblog.com/2019/04/specaugment-new-data-augmentation.html

https://www.notion.so/SpecAugment-A-Simple-Data-Augmentation-Method-for-Automatic-Speech-Recognition-ece0a0be49844c7c93ab4f0045ee1562

https://github.com/WindQAQ/listen-attend-and-spell

https://github.com/DemisEom/SpecAugment

Abstract

  • 음성 인식을 위한 간단한 data augmentation 방법 제안 SpecAugment
  •  log mel spectrogram (이미지 처럼 다룸)을 input으로 3가지 방법으로 data augmentation
    1. Time warping
    2. Frequency masking
    3. Time masking
  • 음성인식 네트워크로 Listen, Attend and Spell을 사용
  • LibriSpeech 960h,  SwitchBoard 300h dataset 대상으로 성능 개선, Language Model 과 shallow fusion 시 WER 좀 더 좋음

Introduction

  • 기존의 audio augmentation 방법
    • 속도 빠르게/느리게
    • 배경 노이즈 첨가
    • 큰 공간 잔향 효과 반영 등
    • 기존 방법은 추가적인 computational cost 및 데이터를 요구함
  • 제안한 방법은 간단하고 계산적으로 가벼우며 추가적인 데이터를 요구하지 않음
  • 시간, 주파수 축 정보의 부분적 loss에 robust하게 해줌

Augmentation Policy

  • 원본 - Time warping - Frequency masking - Time masking
  • Time warping : 왼쪽으로 이동한 모습
    • tf sparse image warp 함수 사용
    • 하나의 point를 다른 point로 옮기는 함수

    • 하이퍼파라미터 W, 전체 이미지 양쪽 W 줄인 후 중앙(파란선)에서 랜덤하게 하나의 점(파란점) -> 파란 점 기준 2W 범위 내 랜덤한 빨간점 선택 -> 파란점이 출발점 빨간점이 도착점
  • Frequency masking : 특정 주파수 지움

    • 하이퍼파라미터 F, [0, F] 범위 랜덤한 f 선택 -> [0, v-f)에서 랜덤하게 f0값을 뽑고 [f0,f0+f) 만큼 0으로 masking
  • Time masking : 특정 시간 지움

    • 하이퍼파라미터 T, Frequency Masking 과 동일한 방법을 시간축으로
  • policy가 동시에 적용된 log mel spectrogram

  • 데이터에 따라 다른 하이퍼 파라미터 사용
    • LibriSpeech basic (LB), LibriSpeech double (LD), Switchboard mild (SM) and Switchboard strong (SS)

    • mF, mT : masking 갯수
    • p : time masking이 2개 이상일 때 겹칠 수 있는 최대 길이 비율 (SM의 경우 겹쳐진 time masking 길이가 전체의 0.2 초과 불가)

Model

  • SpecAugment 후  Listen, Attend and Spell(LAS) 네트워크를 사용
  • Learning Rate Schedules
    • ramp-up, noise, exponentially decay 세 단계
    • Sr까지 ramp-up (급증가)
    • Snoise  weight에 noise를 주고
    • [Si, Sf] 구간에서 exponentially decay (maximum value의 1/100될 때 까지, 이후 유지)
  • Shallow Fusion with Language Models
    • 성능을 높이기 위해 음성인식 뿐 아니라 Language Model도 함께 사용
    • LAS 네트워크 output과 Language Model의 output을 더하여 사용
    • 논문에서 람다값은 0.35

Experiments

  • LAS w/ vs w/o augmentation WER 비교
  • 모든 하이퍼파라미터 유지

  • Test-other(noiser) & Test-clean from LibriSpeech

  • w/o 대비 w/ 에서 over fit 이 개선 됨
  • train set에선 수렴이 잘 안되도  dev set에서 더 좋음

  • LibriSpeech 960h, Switchboard 300h에 대해서 당시 SOTA 달성 (04/19)

  • 기존의 LM을 함께 활용한 방법들 보다도 LM을 안썼는데도 성능이 더 좋았음
  • 물론 LM을 쓰면 성능이 더 잘 나옴

Discussion

Conclusions

  • ASR 분야에서 '더 나은 network'를 찾는데 연구 주안점이 있었는데, 이 연구를 통해 network를 학습시키는 '더 나은 방법' 을 찾는 것이 유망한 연구 방향이란 것을 보였다고 자평.