https://arxiv.org/abs/2005.08100
해당 논문을 보고 작성했습니다.
Abstract
최근에 Transformer와 Convolution neural network (CNN) 기반 model들이 Automatic Speech Recognition (ASR) task에서 유망한 모습을 보이고 있으며, Recurrent neural network (RNNs) 보다 더 좋은 모습을 보여주고 있습니다. Transformer model은 content-based global interaction을 잘 capture 하지만, CNN은 local feature를 효율적으로 사용합니다. 이 논문에서 저자들은 parameter 효율성을 고려하여 audio sequence의 local dependency와 global dependency 둘 다 model 하기 위해 convolution neural network와 transformer을 결합하는 연구를 수행하여 두 model의 장점을 결합했습니다. 이를 수행하기 위해, 저자들은 Conformer라 불리는 speech recognition에 사용할 수 있는 convolution-augmented transformer를 제안합니다. Conformer는 이전 Transformer based model이나 CNN based model들에 비해 훨씬 더 좋은 성능을 보여주며, 가장 좋은 성능을 보여줍니다.
Introduction
neural network 기반 end-to-end automatic speech recognition (ASR) system은 최근 몇 년동안 큰 발전을 보였습니다. Recurrent neural networks (RNNs)은 audio sequence의 temporal dependency를 효과적으로 model 할 수 있어서 ASR에서 많이 사용되어 왔습니다. 최근엔 self-attention 기반 Transformer architecture들이 long distasnce interaction을 capture 할 수 있고 학습 효율성이 좋아서 sequence를 modelling 하는데 널리 사용되고 있습니다. 대안으로 convolution은 local receptive field layer를 통해 점진적으로 local context를 capture 할 수 있어서, ASR system에서 성공적으로 사용되어 왔습니다.
하지만 self-attention 또는 convolution을 가지고 있는 model들은 한계가 존재합니다. Transformer는 long-range global context를 modeling할 수 있지만, 세밀한 local feature pattern을 추출하는 데는 한계가 존재합니다. 반면에 convolution neural network (CNN)는 local information을 잘 활용하고, vision task에서 필수적인 computation block입니다. CNN은 local window에서 kernel을 학습하여 변환 불변성을 유지하고 edge와 shape와 같은 feature를 capture 합니다. local connectivity를 사용했을 때의 한계 중 하나는 'global information을 capture 하기 위해선 더 많은 layer를 사용하거나 더 많은 parameter를 사용해야 한다'입니다. 이 문제를 해결하기 위해, 최근 연구에서는 더 긴 context를 capture 하기 위해 각 residual block에서 squeeze-and-excitation module을 채택하기도 합니다. 하지만 이 방식은 전체 sequence에 있는 global averaging만 사용하기 때문에 dynamic global context는 capture 하지 못한다는 한계가 존재합니다.
최근 연구들은 convolution과 self-attention을 결합하여 각각을 사용했을 때보다 더 좋은 결과를 얻기도 합니다. 둘을 동시에 사용하면 position-wise local feature를 학습할 수 있고 content-based global interaction도 사용할 수 있습니다.
이 논문에서 저자들은 ASR model에 convolution과 self-attention을 어떻게 유기적으로 결합하는지 연구했습니다. 저자들은 parameter 효율성을 생각했을 때, global interaction과 local interaction 모두 중요하다고 생각했습니다. 이를 위해, self-attention과 convolution을 결합하여 두 장점을 모두 성취하는 새로운 방법을 제안합니다. 이는 self-attention이 global interaction을 학습하는 동안 convolution이 relative-offset-based local correlation을 효율적으로 capture합니다. 구조는 다음과 같습니다.
저자들의 model인 Conformer는 LibriSpeech에서 가장 좋은 성능을 보이며, 이전에 가장 좋았던 Transformer Transducer보다 15% 향상된 성능을 보여줍니다.
Conformer Encoder
저자들의 audio encoder는 convolution subsampling layer를 가지고 input을 처리한 다음, 여러 개의 conformer block을 사용하여 처리합니다. 저자들의 model은 Transformer block 대신 Conformer block을 사용합니다.
Conformer block은 feed-forward module, self-attention module, convolution module, second feed-forward module이라는 4가지 module을 stack하여 구성됩니다.
Multi-Headed Self-Attention Module
저자들은 Transformer-XL에서 사용된 relative sinusoidal positional encoding 방식을 통합한 multi-headed self-attention (MHSA)를 사용합니다. relative positional encoding은 self-attention module이 서로 다른 input length에 대해서 더 나은 일반화 성능을 갖도록 만들어주고, 최종 encoder가 utterance length의 변화에 대해 더 강건하게 만들어줍니다. 저자들은 pre-norm residual unit과 dropout을 사용하며, 이를 통해 더 깊은 model을 학습하고 정규화할 수 있습니다. 아래 그림은 multi-headed self-attention block을 보여줍니다.
Convolution Module
convolution module은 pointwise convolution과 gated linear unit (GLU)로 시작하며 gating mechanism을 포함하는 모습입니다. 그 뒤에 single 1-D depthwise convolution layer가 붙습니다. Batchnorm을 convolution layer 바로 뒤에 붙입니다. convolution module은 다음과 같습니다.
Feed Forward Module
이전 다른 논문에서의 Transformer architecture는 MHSA layer 뒤에 feed forward module을 두었으며, 이 feed forward module은 2개 linear transformation과 그 사이에nonlinear activation을 위치시키는 방식으로 구성되었습니다. residual connection은 feed-forward layer에 추가되고, 그 후 layer normalization을 적용했습니다. 이러한 구조는 Transformer ASR model 에서도 사용되었습니다.
저자들은 pre-norm residual unit을 따르고, first linear layer 이전에 input에 layer normalization을 적용했습니다. 그리고 저자들은 network의 regularization을 위해 Swish activation과 dropout을 사용했습니다. FFN module은 다음과 같습니다.
Conformer Block
저자들이 제안한 conformer block은 2개 feed forward module과 그 사이 Multi-Headed Self-Attention module, Convolution module이 존재하는 방식으로 구현됩니다. 이러한 sandwich structure는 Transformer block의 original feed-forward layer를 two half-step feed-forward layer로 대체하는 Macaron-net에서 영감을 받았습니다. Macaron-net의 두 half-step feed-forward layer 중 하나는 attention layer 이전에 존재하고, 나머지 하나는 이후에 존재합니다. Macaron-Net처럼 저자들은 feed-forward (FFN) module에서 half-step residual weight를 사용합니다. 두 번째 feed-forward module 뒤에는 final layernorm layer가 붙습니다. 수식적으로 나타내면 다음과 같습니다. Conformer block i의 input은 x_i, output은 y_i입니다.
FFN은 Feed forward module을 의미하고, MHSA는 Multi-Head Self-Attention module을 나타내며, Conv는 Convolution module을 나타냅니다.
저자들은 ablation study를 통해 Macaron style과 original FFN을 비교했습니다. 단일 feed-forward module을 사용하는 것보다 half-step residual connection을 사용할 때 성능이 상당히 개선되는 것을 확인했다고 합니다.
Experiments
Data
저자들은 LibriSpeech를 가지고 model을 평가했습니다. LibriSpeech는 970 시간의 labeled speech, 800M word token text-only corpus로 구성된 dataset입니다. 저자들은 25ms window와 10ms stride를 사용하여 80-channel filterbank feature를 추출합니다.
저자들은 위와 같이 Conformer를 크기에 따라 여러 version을 만들었습니다.
실험 결과는 위와 같습니다. Transformer block 대신 Conformer block을 사용하는 것이 적은 parameter로 더 좋은 성능을 보이는 것을 볼 수 있습니다.
Conclusion
이 논문은 end-to-end speech recognition을 수행하는 Conformer를 제안하며, 이는 CNN과 Transformer를 결합한 구조입니다. 저자들은 각 coponent의 중요성을 연구했으며, convolution module을 포함하는 것이 Conformer model의 성능에 상당히 영향을 크게 미친다는 것을 입증했습니다.