Conformer: Convolution-augmented Transformer for Speech Recognition
Introduction
-
- ASR 분야에서 RNN, Transformer, CNN이 각각의 특성들로 인해 효과적입니다. RNN은 temporal dependency[1]를 이용할 수 있고 transformer는 long distance interaction[2]을 잘 파악하며 CNN은 음성신호의 작은 변질에는 강건하고 국소적 특징을 잘 파악합니다.
- 다만 이러한 방식들이 음성인식에 사용될 때 약간의 한계가 있습니다. CNN은 국소적인 특징 파악에는 강한 반면 전체적인 맥락 파악은 힘들고, Transformer는 미세한 특징을 추출하는 능력은 다소 떨어집니다.
- 결론적으로 conformer은 CNN과 self-attention의 결합을 통해 global한 한interaction과 local interaction을 모두 중요하게 다루기 위해 고안된 모델입니다.
transformer가 자연어 처리에서는 그대로 잘 적용이 되지만 음성인식 특성상 파형이나 spectrogram을 encoding하는 과정이 중요합니다. 자연어 처리는 token화하여 transformer가 바로 처리가 가능하지만 파형이나 spectrogram은 동일하게 처리할 수가 없다보니 wav2vec같은 모델도 기본적으로 cnn을 backbone의 최상단에 쓰게 됩니다.
이 conformer모델은 파라미터 규모에 따라 3가지 정도로 소개가 되는데 가장 작은 10M규모의 모델도 상당히 큰 메모리와 실행시간을 요구합니다. 학습시간도 몇일~1주일 정도는 걸립니다. ASR자체가 그만큼 간단하지 않은 task입니다.

Conformer Encoder
conforemr모델은 encoder와 lstm기반 decoder를 사용합니다. introduction에서 소개했듯, information을 잘 capture해내기 위한 목적이니만큼 encoder에 초점을 맞춘 것이며 decoder는 단일 LSTM[3]모델을 사용합니다.
Figure 1과 같은 구조를 가지고 있고, CNN으로 입력을 먼저 처리한 후 Transformer가 있던 자리를 대체한 Conformer Block으로 데이터가 입력되는 구조를 가지고 있습니다. 이 conformer block은 우측 그림과 같이 구성되며 기존의 transformer만의 단점을 보완하기 위한 CNN층은 중간에 위치하는 것을 볼 수 있습니다.
[multi-headed self attention module]
relative positional encoding방식[4] 이 적용된 multi headed self-attention이 적용된 MHSA모듈이 CNN Module앞에 사용됩니다.

[convolution module]
convolution module은 gating mechanism, 1-D depthwise convolution layer로 구성됩니다.

[feed forward module]
convolution 앞뒤로 feed forward module이 있어 샌드위치 처럼 모델이 구성되어 있습니다.
아래 구조와 같이 pe-norm 잔차 유닛이 사용되며 잔차 유닛 내부와 입력에 대해 층 정규화가 적용되며 swish activation과 dropout이 사용됩니다.

[conformer block]
conformer block의 구조는 Macaron-Net에 영향을 받아 feed forward module에 half-step residual weight이 적용되어 있습니다. 이러한 특징이 핵심적인 성능 향상을 불러온 것으로 보이는데, 수식적으로는 아래와 같습니다.

일반적인 FFN(feed forward network)와 달리 절반(1/2 FFN)으로 다음 단계의 입력을 만들어 내는 특징으로 이 block의 입력 x를 절반은 잔차 연결을 해주고 절반은 FFN을 통과시켜 가중치가 곱해진 상태로 연결이 됩니다.
일반적으로 잔차 연결은 x + f(x)로 표현하는데 conformer의 경우 일반 잔차 연결에 비해 f(x)의 영향이 각 단계에서는 줄되, 샌드위치 형태로 FFN이 convolution층을 감싸고 있는 독특한 형태입니다.
[1] temporal dependency: 시계열 데이터의 시간에 따른 정보의 연관성
[2] long distance interaction: 예를 들면 주어와 목적에 사이의 관계를 문장이 길어지고 복잡해져도 파악하는 것
[3] Long Short-term Memory
[4] relative positional encoding: 고정적인 기존의 위치 임베딩 방식에 비해 다양한 길이에 대해 성능이 좋습니다.
[5] swish activation: relu에 비해 비선형적인 활성화 함수입니다. (https://arxiv.org/pdf/2005.08100.pdf)
