https://arxiv.org/pdf/2005.08100.pdf
Transformer 모델 : 콘텐츠 기반 글로벌 상호 작용을 캡처하는 데 능숙.
CNN : 로컬 특징을 효과적으로 활용.
본 논문에서 매개변수 효율적인 방식으로 오디오 시퀀스의 로컬과 글로벌 종속성을 모델링 하기 위해
CNN과 Transformer을 결합하는 방법을 연구.
LibriSpeech benchmark에서 언어모델을 사용하지 않고 2.1% / 4.3%의 WER을 달성.
test/testother(외부 언어 모델)을 사용하여 1.9% / 3.9% 을 달성.
매개변수 1천만개의 작은 모델에서 2.7%/6.3%의 경쟁 성능을 관찰.
=======================================================
- 최근 몇 년 동안 end-to-end 음성 인식(ASR) 시스템이 크게 개선.
- RNN은 오디오 시퀀스에서 시간적 종속성을 효과적을 모델링.
- 최근 self attention 기반으로 한 Transformer 구조로 장거리 상호 작용 챕처 할 수 있도록 채택.
- 대안으로 convolution은 ASR에 대해서 성공적 (local 수용 필드에서 local context를 챕처)
- Self-attention 또는 convolutions의 각 모델의 한계.
- Transformer는 장거리 글로벌 context를 모델링하는데 능숙하지만 세분화 된 local 특징 패턴을 추출하는 능력은 떨어짐.
- 반면 CNN은 local 정보를 이용, vision에서 많이 사용 (모서리 및 모양과 같은 특징을 캡처 할 수 있는 로컬 창에서 공유 위치 기반 커널을 학습)
- 하지만 local 연결 사용의 한가지 제안은 전역 정보를 캡처하기 위해 더 많은 레이어 또는 매개변수가 필요.
- 문제를 해결하기 위해 ContextNet은 더 긴 context를 포착하기 위해 residual block에서 squeeze-and-excitation 모듈을 채택.
- 그러나 전체 시퀀스에 대해 글로벌 평균화만 적용하므로(ContextNet) 동적 글로벌 context를 캡처하는데 여전히 제한.
- 최근 연구에 따르면 convolution과 self-attention를 결합하면 개별적으로 사용하는 것보다 향상된다.
- 위치 별 local 특징을 모두 학습하고 context 기반의 global 상호 작용을 사용할 수 있다.
- 매개 변수를 효율적으로 사용하려면 global과 local 상호 작용이 모두 중요하다고 가정.
- 본 논문에서 ASR 모델에서 convolutions과 self-attetnion을 유기적으로 결합하는 방법을 연구함.
- self-attention은 global 상호작용을 배우는 반면,
- convolution은 relative-offset 기반 local correlations을 효율적으로 캡처함.
- Wu et al.에서 영감을 받음 [17, 18],
https://arxiv.org/pdf/2004.11886.pdf
https://arxiv.org/pdf/1906.02762.pdf
본 논문은 그림 1과 같이 한 쌍의 feed forward 모듈 사이에 끼워진 self-attention와 convolution의 새로운 조합을 소개함
- 오디오 인코더는 먼저 convolution subampling layer를 사용하여
- 입력을 처리 한 다음 그림 1에 나와있는 것처럼 여러 conformer blocks을 사용하여 입력을 처리한다.
- 본 논문의 모델 특징은 [7, 19]에서와 같이 Transformer 블록 대신 Conformer 블록을 사용하는 것이다.
- conformer block은 4개의 모듈이 함께 쌓여서 구성함.
- MHSA (multi-headed self-attention)를 사용하면서 상대적인 정현파 위치 인코딩 체계인 Transformer-XL [20]의 중요한 기술을 통합.
- 상대 위치 인코딩을 사용하면 self-attention 모듈이 다른 입력 길이에서 더 잘 일반화 할 수 있으며결과 인코더는 발화 길이의 분산에 더 강력함.
- 더 깊은 모델을 훈련하고 정규화하는 데 도움이되는 드롭 아웃과 함께 prenorm residual units [21, 22]를 사용함.
2.1. Multi-Headed Self-Attention Module
아래의 그림은 multi-headed self-attention block을 보여준다.
[17]에서 영감을 얻은 convolution 모듈은 gating mechanism [23]으로 시작.
즉, gating mechanism은 convolution과 선형 단위 GLU이다.
그 다음에는 단일 1-D depthwise convolution layer 가 온다.
2.2. Convolution Module
그림는 컨볼 루션 블록을 보여준다.
convolution 모듈에는 GLU activation layer가 있는 채널 수를 투영하는 확장 계수가 2인 pointwise convolution과 1-D Depthwise convolution이 포함.
1-D depthwise conv 다음에는 Batchnorm과 swish 활성화 레이어가 이어진다.
2.3. Feed Forward Module
다음 그림는 Feed Foward (FFN) 모듈을 보여준다.
Transformer 아키텍처는 MHSA layer 뒤에 feed forward 모듈을 배치하고
두 개의 linear transformations과 그 사이의 nonlinear activation로 구성.
이 구조는 Transformer ASR 모델 [7, 24]에서도 채택되었다.
residual units 내에서 pre-norm residual units [21, 22]를 따르고 첫 번째 linear layer 이전의 입력에 layer normalization를 적용.
또한 네트워크 정규화에 도움이되는 Swish 활성화 [25] 및 드롭 아웃을 적용.
첫 번째 linear layer 는 확장 계수 4를 사용하고
두 번째 linear layer 는 이를 다시 모델 차원으로 투영합니다.
feed forward 모듈에서 swish 활성화 및 pre-norm residual units를 사용함.
2.4. Conformer Block
제안 된 Conformer 블록에는
그림 1과 같이 Multi-Headed Self-Attention 모듈과 Convolution 모듈을 사이에 둔 두 개의 Feed Forward 모듈이 포함.
이 샌드위치 구조는 Macaron-Net [18]에서 영감을 받아
Transformer 블록의 원래 feed-forward layer 레이어를
두 개의 절반 단계 feed-forward layer (attention layer 앞과 뒤에 하나씩)로 대체 할 것을 제안.
Macron-Net에서와 같이 feed-forward (FFN) 모듈에 half-step residual weights를 사용.
두 번째 feed-forward 모듈 다음에는 final layernorm layer이 이어진다.
수학적으로 입력 x와 출력 y는 다음과 같다.
여기서 FFN은 Feed forward module을,
MHSA는 Multi-Head Self-Attention module을,
Conv는 이전에서 설명한대로 Convolution 모듈을 나타낸다.
두 개의 Macaron-net style feed-forward layers와 half-step residual connection이 attention과 convolution 모듈 사이에 끼어있는 것이 Conformer 아키텍처에서 single feedforward module을 사용하는 것보다 크게 향상된다는 것을 발견.
3. Experiments
3.1. Data
LibriSpeech [26] 데이터 세트에서 제안 된 모델을 평가.
이 데이터 세트는 970 시간의 레이블이 지정된 음성과
언어 모델 구축을 위한 추가 8 억 단어 토큰 텍스트 전용 코퍼스로 구성.
보폭이 10ms 인 25ms window에서 계산 된 80 채널 filterbanks features을 추출.
마스크 매개 변수 (F = 27)와 함께 SpecAugment [27, 28]을 사용하고
최대 시간 마스크 비율 (pS = 0.05)을 가진 10 개의 시간 마스크를 사용.
여기서 시간 마스크의 최대 크기는 pS x 길이의 pS로 설정.
3.2. Conformer Transducer
네트워크의 깊이, 모델 차수, attention head 수의 다양한 조합으로 모델 매개 변수 제약을 두어 가장 성능이 좋은 모델을 선택함.
각각 파라메터 수가 10M, 30M, 118M인 것을 사용하여 3가지 모델 (소형, 중형, 대형)으로 만든다.
여기서 사용된 single-LSTM-layer 디코더를 사용함.
Regularization을 위해, conformer의 residual unit에 dropout을 추가한다.
각 모듈의 출력에 dorpout을 추가함. (pdrop = 0.1 비율)
Variational noise은 regularization을 하고 모델에 들어간다.
We train the models with the Adam optimizer [31] with and = 10−9 and a transformer learning rate schedule [6], with 10k warm-up steps and peak learning rate 0.05/√d where d is the model dimension in conformer encoder.
LibriSpeech 960h 대본이 추가 된 LibriSpeech langauge 모델 코퍼스에서
학습 된 width 4096의 3 계층 LSTM 언어 모델 (LM)을 사용.
LM은 dev-set transcripts에 63.9 word-level을 가진다.
LM 가중치 λ는 그리드 검색을 통해 dev-set에서 조정
3.3. Results on LibriSpeech
10.3M 매개 변수에서 최신 작업인 ContextNet (S) [10]과 비교할 때 testother에서 0.7 % 더 우수.
30.7M 모델 매개 변수에서 이미 139M 매개 변수를 사용하여 이전에 발표 된 Transformer Transducer [7]의 최신 기술 결과를 훨씬 능가함.
모든 평가 결과는 소수점 이하 1 자리로 반올림.
언어 모델이 없으면,
M 모델의 성능은 이미 가장 잘 알려진 LAS에서 Transformer, LSTM 기반 모델 또는
유사한 크기의 컨볼 루션 모델을 능가하는
test / testother에서 2.3 / 5.0의 경쟁 결과를 달성했습니다.
언어 모델이 추가됨에 따라,
제안 모델은 모든 기존 모델 중에서 가장 낮은 단어 오류율을 달성합니다.
이것은 단일 신경망에서 Transformer와 convolution을 결합하는 효과를 명확하게 보여줌.
3.4. Ablation Studies
3.4.1. Conformer Block vs. Transformer Block
Conformer 블록은 여러 가지면에서 Transformer 블록과 다르다 주장.
특히 convolution 블록을 포함하고 Macaron 스타일의 블록을 둘러싼 FFN 쌍을 가짐.
Conformer 블록을 Transformer 블록으로 변경하고
매개 변수 수를 변경하지 않은 상태로 유지함으로써 이러한 차이의 영향을 연구함.
Conformer 블록에서 시작하여 특징을 제거하고 바닐라 Transformer 블록으로 이동함.
(1) SWISH -> ReLU로 대체
(2) Convolution sub-block을 제거
(3) Macaron-style FFN 쌍을 single FFN으로 교체
(4) vanilla self-attention layer와 relative positional embedding을 가진 self-attetnion으로 교체
모든 ablation study 결과는 외부 LM 없이 평가함.
여기서 Convolution sub-block이 가장 중요한 부분이고
Macaron-style의 FFN 쌍을 사용하는 것이 동일한 수의 매개변수를 가진 single-FNN 보다 효과적이다.
swish 활성화를 사용하면 Conformer 모델에서 더 빠른 수렴이 이루어짐.
3.4.2. Combinations of Convolution and Transformer Modules
MHSA (multi-headed self-attention) 모듈과 convolution 모듈을 결합하는 다양한 방법의 효과를 연구함.
Convolution block과 여러 방향의 multi-headed의 조합을 다양하게 변경 :
(1) Conformer 아키텍처
(2) Conformer의 컨볼 루션 블록에서 깊이 별 컨볼 루션 대신 경량 컨볼 루션 사용
먼저 convolution 모듈의 depthwise convolution을 경량 convolution [35]으로 대체하려고 시도함.
특히 dev-other 데이터 세트에서 성능이 크게 저하되는 것을 확인함.
(3) multi-headed self attention 이전의 convolution ;
둘째, Conformer 모델에서 MHSA 모듈 앞에 convolution 모듈을 배치하는 것을 연구하고
dev-other에서 결과를 0.1만큼 저하시키는 것을 발견.
(4) Convolution 과 MHSA가 연결된 출력과 병렬로 concatenated [17].
3.4.3. Macaron Feed Forward Modules
Macaron-net Feed Forward 모듈의 절제 연구.
Conformer 피드 포워드 모듈과 Transformer 모델에서 사용되는 단일 FFN의 차이점 제거 :
(1) Conformer;
(2) Feed forward modules에서 full-step residuals가 있는 Conformer;
(3) Macaron-style FFN 쌍을 single FFN으로 교체.
3.4.4. Number of Attention Heads
모든 레이어에서 동일한 수의 head를 사용하여
대형 모델에서 attention head 수를 4에서 32로 변경하는 효과를 연구하기 위한 실험을 수행.
attention head를 최대 16 개까지 늘리면 표에 표시된 것처럼 특히 dev other 데이터 세트에서 정확도가 향상.
3.4.5. Convolution Kernel Sizes
커널 크기의 효과를 연구하기 위해
모든 layer에 대해 동일한 커널 크기를 사용하여 큰 모델의 {3, 7, 17, 32, 65}에서 커널 크기를 변경.
커널 크기가 17 및 32까지 커지면 성능이 향상되지만
커널 크기가 65 인 경우에는 표에 나와있는 것처럼 성능이 저하.