논문(papers)/음성인식

ContextNet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context

dnlwldnl 2021. 4. 14. 16:19

CNN 성능면에서 RNN/transformer 기반 모델 보다 여전히 뒤떨어져 있지만 end-to-end 음성인식에 대한 유망한 결과를 보여줌.

 

논문에서 ContextNet이라 불르는 새로운 CNN-RNN-transducer 구조로 격차를 해결하는 방법을 연구.

 

squeeze-and-excitation modules을 추가하여

글로벌 context 정보(RNN-transducer) convolution layer 통합하는 Fully convoutional encoder 특징으로 사용.

 

또한 계산과 정확도 사이에서 좋은 균형을 이루는 ContextNet 너비를 확장하는 간단한 방법도 제시.

 

 

LibriSpeech benchmark에서 언어모델을 사용하지 않고 2.1% / 4.6% WER 달성.

LM(언어 모델) 사용하여 1.9% / 4.1% 달성.

 

매개변수 1천만개의 작은 모델에서 Clean noisy LibriSpeech test sets 2.9%/7.0% 달성.

2,000 매개 변수의 경우 3.9%/11.3% 이며, LM 경우 2.0%/ 4.6% 이전 모델과 비교.

 

 

=======================================================

 

  1. E2E (end-toend) 음성인식을 위한 컨볼루션 신경망 기반 모델이 점점 관심을 받음.
  2. 그중 jasper모델dms 최근 외부 신경 언어 모델을 사용하여 LibriSpeech test-clean에서 최첨단 WER 2.95% 달성.
    1. Jasper 모델의 주요 특징은 1D convolution skip connections stacked layer 기반인 convolution encoder.
  3. Depthwise 분리 가능한 convolution CNN 모델의 속도와 정확도를 높이기 위해 사용.
  4. CNN 기반 모델의 주요 이점 매개 변수 효율성이다.
  5. 그러나 최고의 CNN 모델인 QuartzNet 의해 달성된 WER RNN/transformer 기반이다.
  6. RNN/Transformer 기반 모델과 CNN 모델의 주요 차이점은 context 길이이다.
  7. 양방향 RNN 모델에서 이론상 셀은 전체 시퀀스의 정보에 액세스 있고 Transformer 모델의 Attention mechanism 두개의 타임 스탬프에 있는 노드가 서로 참여 있도록 허용한다.
  8. 하지만 커널 크기가 제한된 Convolution 시간 도메인의 작은 window 포함. (따라서 context 작고 글로벌 정보가 통합되지 않음)
  9. 논문에서 CNN RNN/Transformer 기반 모델 간의 WER 격차의 주요 원인이 global context 부족이라고 주장.
  10. CNN 모델의 글로벌 컨텍스트를  향상시키기 위해, Squeeze-and-Excitation (SE) 레이어에서 영감을 얻고 ASR 위한 새로운 CNN 모델을 제안. (ContextNet)
  11. SE layer local 특징 벡터를 단일 글로벌 context 벡터로 압추갛고 context local 특징 벡터로 다시 브로드 캐스트하고 곱을 통해 두가지를 병합.
  12. 논문에서는 SE CNN 인코더에도 효과적 있음을 보여준다.
    1. RNN-T 디코더를 사용.
    2. Swish activate function 사용하여 WER 약간만 지속적으로 감소.
    1. 논문의 몇가지 독창성
  13.  ContextNet은 LibriSpeech testclean / test-other에서 1.9 % / 4.1 %의 WER를 달성
  14. QuartzNet 과 같은 이전 CNN 기반 아키텍처에 비해 크게 개선 (LSTM 기반 모델 보다 성능이 뛰어남)
  15. 추가적으로  ContextNet의 계산 비용을 줄이는 방법을 연구.
    1. 비전 모델에서 일반적으로 사용하는 progressive downsampling 방식을 채택.
    2. 인코딩 시퀀스의 길이를 점진적으로 8 줄여서 인코더의 표현력과 전체 모델 정확도를 유지. (계산량 감소)
    3. 다운 샘플링 방식을 사용하면, 인코더 출력 노드의 유효 수용 필드를 크게 줄이지 않고 모든 convolution layer 커널 크기를 5개로 줄임.

E2E 모델은 모두 외부 LM 안씀. Transformer-Hybrid 같은 경우는 인코더 크기만을 사용. ContextNet은 빨강색 별표 부분, α는 모델 스케일링 매개 변수.
LM 상관없이 우수함.

============================================================

 

 

  1. 제안한 네트워크는 RNN-Transducer 프레임 워크를 기반.
  2. Encoder Design
    1. 입력 시퀀스를 

           인코더는 원래 신호 x를 high level representation는 다음과 같다.  T' <= T.

            Convolution 기반 AudioEncoder (·)는 다음과 같이 정의

C_k(·) 는 convolution block을 정의

몇개의 convolution layer 포함.

layer batch normalization 포함.

squeeze-and-excitation skip connections 포함.

 

 

2.1 Squeeze-and-excitation 모듈

 

 

Squeeze-and-excitation함수인 SE (·)는 입력 x 대해 global average pooling 수행하고

이를 global channelwise wieght θ(x) 변환

element-wise 별로 weight 곱한다.

입력은 먼저 convolution layer를 통과한 다음 batch normalization과 activation을 거침.

그런 다음 average pooling을 적용하여 conv 결과를 1D vector로 압축. (전체 정보 압축)

활성화 함수가 있는 두 개의 FC layer로 구성된 bottleneck 구조로 처리함.

출력은 sigmoid function을 거쳐 (0,1)에 맵핑 된 다음 타일링 되어 

conv 출력에 pointwise 곱셈을 사용하여 적용함. 

 

여기서 1D을 적용한 부분은 다음과 같다.

 

2.2 Depthwise separable convolution

 

conv (·)는 인코더에서 사용되는 convolution 함수를 나타냄.

이 논문에서는 conv (·)로 depthwise separable convolution을 선택하며,

장점은 정확도에 영향을 주지 않고 더 나은 매개변수 효율성을 달성하기 위해 다양한 애플리케이션에서 보임.

단순화를 위해 네트워크의 모든 depthwise convolution layers에서 동일한 커널 크기를 사용함.

 

2,3 Swish activation function

모든 실험에서 β = 1.

swish 특징이 ReLU보다 지속적으로 더 잘 작동하는 것으로 확인.

 

 convolution block C(·) 소개

 

 

convolution block C는 i 번째까지 여러 convolution이 포함.

각 convolution은 batch normalization과 activation이 적용.

Squeeze-and-Excitation (SE) 블록은 마지막 컨볼 루션 레이어의 출력에서 ​​작동.

skip connection는 squeeze-and-excitation block의 출력에 적용된다.

 

블록 C (·)에는 몇 가지 Conv (·) 함수가 포함될 수 있으며,  m을 Conv (·) 함수의 수라고함.

BN (·) 배치 정규화.

레이어를 f(x) = Act(BN (Conv (x))로 정의

 

그럼으로,

f^m 은 입력에 함수 f (·) m 레이어를 쌓는 것을 의미.

P (·) residual 대한 pointwise projection function.

표기법에서 첫 번째 레이어마지막 레이어가 다른 m-2 레이어와 다를 수 있다.

 

 

2.4 Progressive downsampling

 

시간적 다운 샘플링을 위해 strided convolution을 사용.

다운 샘플링 레이어가 많을 수록 계산 비용이 줄어들지만 인코더의 과도한 다운 샘플링은 디코더에 부정적인 영향을 미칠 수 있다.

경험적으로 progressive 8 배 다운 샘플링 방식이 속도와 정확도 사이에서 좋은 균형을 이룬다는 것을 발견

ContextNet에는 23 개의 컨볼 루션 블록이 존재하며, c0과 c22 제외하고 5개의 컨볼루션 레이어가 존재.

α는 출력 채널의 수를 제어하므로 모델의 크기가 조정

 α는 모델의 스케일링을 제어.

α> 1 일 때 α를 증가 시키면 컨볼루션의 채널 수가 증가하여 모델 크기가 클수록 모델에 더 많은 표현력을 제공.

 

======================================================================

 

3. Experiments

 

970 시간의 레이블이 있는 음성과 언어 모델을 구축하기 위한

추가 텍스트 전용 코퍼스로 구성된 Librispeech 데이터 세트에 대한 실험.

보폭이 10ms 인 25ms window을 사용하여 80차원 필터 뱅크 특징을 추출.

dam Optimizer와 변압기 학습률 일정을 15k 워밍업 단계와 최대 학습률 0.0025로 사용.

입력 차원이 640 인 디코더로 단일 레이어 LSTM을 사용.

가변 노이즈는 정규화로 디코더에 도입.

마스크 매개 변수 (F = 27)와 함께 SpecAugment을 사용하고

최대 시간 마스크 비율 (pS = 0.05)을 가진 10 개의 시간 마스크를 사용.

여기서 시간 마스크의 최대 크기는 시간 마스크의 길이의 pS 배로 설정.

speech. 시간 왜곡은 사용되지 않습니다.

 

LibriSpeech 960h에서 구축 된

1k WPM으로 토큰화 된 LibriSpeech 960h 대본이 추가 된

LibriSpeech langauge 모델 코퍼스에서 훈련 된 너비 4096의 3 레이어 LSTM LM을 사용

LM has word-level perplexity 63.9 on the dev-set transcripts.

모든 모델은 Lingvo 툴킷으로 구현.

 

 

LibriSpeech에서 ContextNet의 세 가지 구성을 평가.

모델은 모두 표 1을 기반으로하지만 네트워크 너비 α가 다름.

따라서 모델 크기가 다름.

특히 소형, ​​중형 및 대형 ContextNet에 대해 {0.5, 1, 2}에서 α를 선택.

 

표에서 자체 LSTM 기준선을 구축.

평가 결과와 이전에 발표 된 몇 가지 시스템과의 비교가 요약.

우리의 중간 모델인 ContextNet (M)은 3100만 개의 매개 변수를 가지고 있으며

훨씬 더 큰 시스템에 비해 유사한 WER를 달성.

대형 모델인 ContextNet (L)은 테스트 청소에서 상대적으로 13 %, 다른 테스트에서 18 %까지 이전 SOTA를 능가.

축소 된 모델인 ContextNet (S)은 언어 모델이 있거나 없는 비슷한 크기의 이전 시스템 [4]에 대한 개선도 보여줌.

 

 

 

<ablation study>

ASR에 대한 CNN 모델에 글로벌 컨텍스트를 추가하는 효과를 검증하기 위해 squeeze-and-excitation module이 LibriSpeech test-clean / test-other에서 WER에 어떤 영향을 미치는지 알아보자 

 

모든  squeeze-and-excitation modules을 제거하고

α = 1.25 0 컨텍스트의 baseline 역할을하는 1 ContextNet을 사용.

squeeze-and-excitation 모듈의 글로벌 평균 풀링 연산자를

pooling window의 크기로 컨텍스트를 제어 할 수 있는 stride-one 풀링 연산자로 대체

모든 컨벌루션 블록에서 256, 512 및 1024의 window 크기

표 3에 나와있는 것처럼 SE 모듈은 기준선에 비해 크게 개선

 

또한 context window의 길이가 길수록 이점이 커짐.

이것은 이미지 분류 모델에 대한 SE의 유사한 연구에서 관찰 된 것과 일치.

 

 

With 실험. 

 표 1에서 ContextNet 모델을 가져와 α를 스윕하고 LibriSpeech에서 모델 크기와 WER를보고

 

다운 샘플링 및 커널 크기.

 LibriSpeech의 FLOPS 및 WER을 요약.

 

결과는 프로그레시브 다운 샘플링이 FLOPS의 수를 크게 절약 할 수 있음을 시사

 

 

 

마지막으로 제안 된 아키텍처가 대규모 데이터 세트에서도 효과적이라는 것을 보여줌.

우리는 [35]와 유사한 실험 설정을 사용합니다.

여기에서 훈련 세트에는 [36]의 접근 방식에 의해 생성 된 반 감독 대본이 포함 된 공개 Youtube 비디오가 있습니다.

총 24.12 시간 동안 117 개의 동영상을 평가합니다.

이 테스트 세트는 다양하고 까다로운 음향 환경을 가지고 있습니다 

 

 

Convolution과 양방향 LSTM의 조합 인 [35]의 이전 최고의 아키텍처보다 ContextNet이 상대적으로 적은 매개 변수와 FLOPS로 12 % 더 우수한 성능을 보입니다.