OK ROCK

[Audio]Conformer : Convolution-augmented Transformer for Speech Recognition 본문

Study/Paper Review

[Audio]Conformer : Convolution-augmented Transformer for Speech Recognition

서졍 2024. 2. 21. 16:03

0. Abstract

  • 최근, Transformer와 CNN은 ASR(Automatic Speech Recognition)분야에서 좋은 성능을 보여주고 있다.
  • Transformer는 content-gased global 상호작용 포착에 유능하며, CNN은 feaure extraction에 유능하다.
  • 이 둘을 결합하여, 기존의 Sota 성능 모델보다 좋은 성능을 이끌었다. 이것을 Convolution-augmented Transformer(Conformer)라고 이름붙였다.
  • test단계에서 추가적인 Language Model을 사용하지 않고서 LibriSpeech 데이터에서 WER 2.1%/4.3%를 달성할 수 있었다.

 

1. Introduction

[1] RNN

ASR 시스템에서 End-to-End에 기반한 네트워크는 많은 성능 향상을 이끌어냈으나, RNN과 같은 구조를 사실상 많이 사용하곤 했었다. RNN은 시간에 의존한다는 시계열의 특성을 갖고 있었고, 이것은 audio sequence에 효과적으로 작동한다.

 

[2] Transformer

Transformer는 self-attention에 기반을 두고 있으며, global한 문맥을 파악하는데 효과적이다.

 

[3] CNN

local 정보를 포착하고, 특징 추출하는데에 효과적이다. global 정보를 포착하기 위해서는 더 층을 많이 쌓는다던가, 파라미터를 많이 사용하는 방식을 사용해야 한다.

 

[4] Recent work

convolution과 self attention을 결합하여 유기적으로 사용하면 개별적으로 사용했을 때보다 local feature와 content-based global interaction을 포착하는데 효과적이라는 것을 밝혀냈다.( -> convolution + self-attention을 같이 사용했을 때 더 좋았다)

 

본 논문에서는 이것(CNN + Self-attention)을 유기적으로 어떻게 결합하여 ASR 모델에 사용할 수 있는지에 대한 새로운 모델 구조를 보여준다. Conformer는 LibriSpeech dataset에서 Transformer Transducer보다 더 좋은 성능을 달성했다.

 

 

2. Conformer Encoder

figure1 : Conformer Encoder model architecture

 

Input이 들어오면, Spec Augmentation 후, Convolution으로 sub sampling단계를 거치면서 처리된다.

그 후, N번의 <Conformer Blocks>에 들어가게 된다. 

Conformer Blocks는 크게 4가지의 모듈(i.e, feed-forward, self-attention, convolution, second feed-forward)로 구성되어 있다.

아래에 작성하는 2.1~2.3까지는 conformor block에 속해있는 모듈에 대한 내용이다.

 

2.1. Multi-Headed Self-Attention Module

Multi-Headed Self-Attention Module(MHSA)

 

Transformer-XL구조에서 사용했던 MHSA(multi headed self attention)의 중요한 기술인 Relative Postiional Embedding을 적용하였다.

가운데에 위치한 Relative Postiional Embedding는, self-attention 과정에서 더 일반화를 쉽게 할 수 있으며 발언의 길이가 다양해져도 encoder가 robust하게 작동되게 도와준다.

(more detail)

단어 간의 상대적 거리를 기반으로 정보를 인코딩함으로써, 기존의 문장 내 절대 위치를 고정된 벡터로 인코딩했던 임베딩과 다른 방법이다. 

  • 상대적 정보: 단어가 문장 내에서 서로 얼마나 떨어져 있는지의 상대적 거리를 사용합니다. 예를 들어, "the cat sat on the mat"에서 "cat"과 "mat"의 상대적 거리는 3
  • 방향성: 단어 A에서 B로의 상대적 방향도 고려합니다. 이는 "A가 B보다 앞에 있다" 또는 "B가 A보다 뒤에 있다"와 같이 표현 가능

 

2.2. Convolution Modue

Convolution Module

 

(1)  Gated Mechanism  : 1x1 convolution(Pointwise convoluion)을 거쳐서 gated linear unit(GLU)활성화 함수를 거침

  •  GLU : Linear & Gated 두 단계로 구성되어 있음, 선형변환된 결과와 시그모이드 함수를 거쳐 게이트 역할을 한 결과를 최종 element wise 곱셈을 통해 결합. 즉, 최종 출력은 $(

(2) gated mechanism을 통과한 결과는 1-D Depthwise convolution을 거친다.

  • Depthwise Convolution: 입력 tensor의 channel(h,w,c)에서 c에 대해 독립적으로 convolution을 적용한다. 각 입력 채널마다 별도의 convolution filter를 적용하는 메커니즘

(3) LayernormBatchNorm같은 정규화 중간중간 사용

 

cf) (4) Swish activation function

Swish(x)= $xσ(βx)$ , $ 가 1로 고정된 경우가 많이 사용

 

2.3. Feed Forward Module

Feed forward Module

 

feed forward module은 MHSA(multi head self attention)layer 후에 위치하고 있다.

두 번의 선형 변환(Linear Tranformation)과 비선형 활성화 함수가 사이에 위치하고 있다. 추가로, residual connection이 feed-forward 층에 추가되었다. 

 

2.4. Conformer Block

위에 정리한 2.1~2.3 모듈들을 적절히 조합하여 최종 Conformer Block을 구성할 수 있다.

2개의 Feed Forward Module 사이에 샌드위치처럼 MHSA(multi-head self-attention) Module과 Convolution Module을 위치시켜서 최종적으로 Figure1과 같은 구조가 된다.

이러한 샌드위치 구조는 Macaron-Net에서 영감을 받았다.

Conformer block 내부에서 계산되는 과정, 순서

 

실험들을 통해 convolution module을 self-attention module뒤에 위치시키는 것이 가장 성능이 좋았음을 empirical하게 확인할 수 있었다.

 

3. Experiments

3.1. Data

  • LibriSpeech dataset 사용
  • 언어 모델을 만드는데 970시간의 라벨링된 speech와 추가 800M 단어 토큰 말뭉치(corpus)로 구성되어있다.

 

3.2.Conformer Transducer

Table 1: S,M,L 모델의 비교 및 Decoder

 

small, medium, large 사이즈의 세 종류 모델을 고안했고 각각 10M, 30M, 180M 크기의 파라미터를 갖고 있다.

Decoder에는 Signle-LSTM 층을 모든 모델에 사용하였다.  위의 Table1에서 디코더의 구체적 하이퍼 파라미터를 확인할 수 있다.

 

More Detail: )

  • Regularization Method : dropout(p = 0.1)사용, residual connection 사용, L2-regularization(weight-decay = 1e-6)사용, Adam Optimizer(beta1 = 0.9, beta2 = 0.98) 사용, learning rate scheduler(epsilon = 10^-9)사용 등등

 

3.3. Results on LibriSpeech

최근 발표된 모델들과의 실험 성능(WER) 비교

 

Reference

[1] Convolution-augmented Transforemr For Speech Recognition, Anmol Gulati et.al., 2020