728x90

이번에 리뷰할 논문은 Almost Unsupervised Text to Speech and Automatic Speech Recognition [1]이며, ICLR 2019에 억셉되었다.

 

Overview

- 음성 및 텍스트 영역 모두에서 언어 이해 및 모델링 기능을 구축하기 위해 짝을 이루지 않는 음성 및 텍스트 데이터에 대한 self-supervised learning 아이디어를 활용함

- 특히, 인코더-디코더 프레임 워크에서 손상된 음성 및 텍스트를 재구성하기 위해 Denoising Auto-Encoder를 사용함

- 역 번역의 개념인 Dual transformation을 사용하여 텍스트를 음성으로 (TTS) 및 음성을 텍스트로 (ASR) 변환하는 기능을 제안함

- 음성 및 텍스트 시퀀스가 ​​일반적으로 Neural Machine Translation과 같은 다른 시퀀스--시퀀스 학습 작업보다 길다는 점을 고려하면 오류 전파로 인해 더 많은 어려움을 겪을텐데, 이는 생성된 시퀀스의 오른쪽 부분이 일반적으로 왼쪽 부분보다 나쁘다는 문제를 나타냄

- 특히 Supervised 데이터가 부족하여 리소스가 없거나 리소스가 부족한 설정에서(즉 데이터가 부족한 상황) 자주 나타나는 현상임

- 따라서 Denoising Auto-Encoder Dual Transformation을 기반으로 텍스트와 음성 모두에 대해 양방향 시퀀스 모델링을 추가로 활용하여 오류 전파 문제를 완화하는 것을 제안함

 

Intro & Related works

- 최근, 최첨단 성능의 TTS ASR 시스템은 대부분 Neural Networks 기반이며, 모두 대규모 데이터를 많이 사용하므로, 쌍을 이루는 음성 및 텍스트 데이터셋이 부족한 언어에는 문제가 발생함

- 비지도 ASR에 초첨을 맞춘 작업에서는 TTS의 추가 정보를 활용하지 않는데(2019년 기준), 이는 ASR의 이중 작업이며, ASR의 성능을 향상시킬 수 있는 큰 잠재력임

- 게다가 비지도 ASR은 일반적으로 음성 파형을 단어 또는 음소로 먼저 분할하고, 세그먼트 수준에서 텍스트 데이터와 음성을 정렬하는 일부 작업별 알고리즘을 활용함

- 그러나 TTS는 일반적으로 음성 파형을 Mel-spectrogram 또는 MFCC로 변환하여 프레임 수준에서 처리함

- 따라서 비지도 ASR 용으로 설계된 알고리즘을 TTS에 쉽게 적용하기 힘듬

- 샘플이 거의 없는 특정 화자의 음성을 합성하려는 작업은 일반적으로 전이 학습 문제로 간주되지만, 비지도 학습 문제가 아닌 다른 화자의 레이블이 지정된 다량의 음성 및 텍스트 데이터를 활용함 

- 그리하여 이 논문에서는, TTSASR 작업의 이중 특성으로부터 영감을 받아 TTSASR 모두에 대해 몇 가지 쌍을 이루는 음성 및 텍스트 데이터와 추가로 쌍을 이루지 않는 데이터를 활용하여 거의 감독되지 않는 새로운 방법을 제안함

 

 

Method

1. DAE (Denoising Auto-Encoder)

 

- 짝을 이루지 않는 대량의 음성 및 텍스트 데이터를 감안할 때 표현 추출 및 언어 모델링 기능을 구축하는 것이 음성과 텍스트 간의 변환을 위한 첫 번째 단계임
- 이를 위해 논문에서는 DAE를 활용하여 손상된 버전 자체에서 음성 및 텍스트 시퀀스를 재구성함
- 노이즈 제거 자동 인코더는 일반적인자가지도 학습 방법이며 비지도 학습에 널리 사용되는데, 음성 및 텍스트 데이터에 대한 노이즈 제거 자동 인코더의 손실 함수 $L^{dae}$ 는 다음과 같이 공식화됨

$L^{dae}=L_s(x|C(x);\theta_{enc}^S,\theta_{dec}^S)+L_T(y|C(y);\theta_{enc}^T,\theta_{dec}^T)$

- 여기에서, $S, T$는 각각 음성과 텍스트 도메인의 시퀀스 데이터이며, $\theta_{enc}^T,\theta_{dec}^T$는 음성 인코더, 음성 디코더, 텍스트 인코더 그리고 텍스트 디코더의 파라미터들임
- $C$는 0값을 갖는 벡터로 일부 요소를 무작위로 마스킹하거나 음성 및 텍스트 시퀀스의 특정 창에서 요소를 교체하는 손상된 연산을 나타냄

- $L_s, L_T$ 각각 음성 및 텍스트 대상 시퀀스의 손실을 나타냄

- 이를 정리하면, $L_s$ 는 음성의 Mean Squared Errors로, $L_T$는 text Classification으로 나타낼 수 있음

 

2. Dual Transformation (DT)

1) DT는 TTS 및 ASR 작업의 이중 특성을 활용하고 텍스트를 음성으로 (TTS) 및 음성을 텍스트로 (ASR) 변환하는 기능을 개발하는 핵심 구성 요소임
- ASR 모델을 사용하여 음성 시퀀스 $x$를 텍스트 시퀀스 $\hat{y}$로 변환 한 다음 변환 된 쌍 $(\hat{y},x)$에서 TTS 모델을 훈련시킴
- 마찬가지로 TTS 모델에 의해 생성 된 변환 된 쌍 $(\hat{x},y)$에 대해 ASR 모델을 훈련함
- 이중 변환은 번역을 위해 단일 언어 데이터를 활용하는 가장 효과적인 방법 중 하나인 backtranslation(역번역) 으로서, Neural Machine Translation
- DT는 번역을 위해 단일 언어 데이터를 활용하는 가장 효과적인 방법 중 하나인 Neural Machine Translation의 backtranslation(역-번역) 방법에서 제안되었음

 

2) 손실 함수 $L^{dt}$ 다음 두 부분으로 구성됨

$L^{dt}=L_S(x|\hat{y};\theta_{enc}^T,\theta_{dec}^S)+L_T(y|\hat{x};\theta_{enc}^S,\theta_{dec}^T)$

- 여기에서, $\hat{y}$=argmax$P(y|x;\theta_{enc}^s,\theta_{dec}^S)$ 및, $\hat{x}=f(y;\theta_{enc}^T,\theta_{dec}^S)$는 각각 음성 $x$ 및 텍스트 $y$에서 변환된 텍스트 및 음성 시퀀스임
- 모델 학습 중에는 TTS 모델이 변환된 최신 텍스트 시퀀스를 활용하는 DT가 즉시 실행되며, 훈련을 위해 ASR 모델에 의해 또는 그 반대로 TTS 및 ASR의 정확도가 점진적으로 향상될 수 있도록 보장함

 

3. Bidirectional Sequence Modeling

1) Seq2seq 학습은 일반적으로 오류 전파로 어려움을 겪음

- 예를 들어, 추론 중에 요소가 실수로 예측되면 오류가 전파되며, 이로 인해 생성된 시퀀스의 오른쪽 부분 (끝 부분)이 왼쪽 부분보다(앞 부분) 정확도가 떨어짐
- 음성 및 텍스트 시퀀스는 일반적으로 신경 기계 번역과 같은 다른 NLP 작업의 시퀀스보다 길며 오류 전파로 인해 더 많은 문제를 겪을 수 있음 
- 예를 들어, 실험에서 DT중에 생성된 음성 시퀀스의 오른쪽 부분은 일반적으로 반복되는 단어나 누락된 단어가 있는 왼쪽 부분보다 품질이 낮음
- 결과적으로 훈련을 위해 변환된 데이터에 의존하는 DT이 영향을 받고 텍스트의 오른쪽 부분과 음성 시퀀스가 잘 훈련될 수 없음
- 따라서 TTS 및 ASR 모델은 모두 시퀀스의 오른쪽 부분, 특히 label이 있는 데이터가 부족하여 리소스가 낮거나 없는 환경에서 낮은 품질의 결과가 도출되는 경향이 있음
2) 위의 문제를 해결하기 위해 양방향 시퀀스 모델링을 활용하여 왼쪽에서 오른쪽 및 오른쪽에서 왼쪽 방향으로 음성 및 텍스트 시퀀스를 생성하는 것을 제안함
- 이러한 방식으로 기존의 DT 프로세스에서 항상 품질이 낮았던 시퀀스의 오른쪽 부분을 좋은 품질을 유지한 채로 오른쪽에서 왼쪽 방향으로 생성 가능함
- 결과적으로, 훈련을 위해 변환된 데이터에 의존하는 이중 작업은 시퀀스의 오른쪽 부분에서 개선된 품질의 혜택을 받을 것이며, 시퀀스의 왼쪽과 오른쪽 부분 사이의 생성 품질에서 더 균형을 이룰 것임
- 원래 왼쪽에서 오른쪽으로 생성된 것보다 더 높은 변환 정확도를 제공함

- 동시에 양방향 시퀀스 모델링은 양방향으로 데이터를 활용하는 데이터 증대 효과로도 작용할 수 있으며, 이는 특히 거의 비지도 학습 설정에서 쌍을 이룬 데이터가 거의 없을 때 유용하게 사용될 수 있음
- 양방향 DAE는 다음과 같이 구성할 수 있음

- 왼쪽에서 오른쪽 및 오른쪽에서 왼쪽 방향으로 손상된 음성 및 텍스트 시퀀스를 재구성하는 경우 $C(\cdot)$은 masking 연산임
- 시퀀스를 두 방향으로 모델링할 때 모델 매개 변수를 공유함
- DAE 및 DT를 기반으로 한 양방향 시퀀스 모델링은 왼쪽에서 오른쪽 및 오른쪽에서 왼쪽 세대 간에 모델을 공유함
- 즉, 시퀀스를 양방향으로 생성하는 하나의 모델을 학습할 수 있으며, 모델 매개 변수를 줄이는 것도 가능함
- 모델에게 훈련과 추론의 시작 요소로 제로 벡터를 사용하는 기존의 디코더와는 달리, 제안하는 방법은 두 개의 학습 가능한 내장 벡터를 훈련과 추론 방향을 나타내는 두 개의 시작 요소로, 하나는 왼쪽에서 오른쪽으로, 다른 하나는 오른쪽에서 왼쪽으로 사용함
- 따라서 총 4 개의 시작 임베딩을 학습함
- 2 개는 음성 생성 용이고 다른 2 개는 텍스트 생성 용임


- TTS 및 ASR의 음성 및 텍스트 시퀀스는 일반적으로 monotonic attention에 의해 alignment되므로, 예를 들어 디코더의 음성 시퀀스의 왼쪽 부분은 일반적으로 TTS의 인코더에서 텍스트 시퀀스의 왼쪽 부분에 집중될 수 있음
- 왼쪽에서 오른쪽 생성과 일치하기 위해 오른쪽에서 왼쪽 방향으로 대상 시퀀스를 생성할 때 오른쪽에서 왼쪽 방향으로 소스 시퀀스를 인코더에 공급함
- 따라서 소스 시퀀스를 역순으로 대상 시퀀스와 일치시킴

 

4. Proposed model details

1) 시퀀스 모델링에서 기존 RNN / CNN 보다 장점이 있기 때문에 Transformer로 선택하였음

 

2) 그림 a
- 녹색 및 노란색 화살표는 음성 및 텍스트에 대한 DAE를 나타냄
- 빨간색 화살표는 텍스트에서 음성으로 (TTS)
- 파란색 화살표는 음성에서 텍스트로 (ASR)의 DT를 나타냄
- DAE와 DT 모두 양방향 시퀀스 모델링을 포함함

 

3) 그림 b
- Transformer를 기반으로 하는 음성 및 텍스트 인코더 및 디코더
- Transformer는 주로 교차 위치 정보를 추출하기 위한 MHA와 각 위치에서 non-linear 변환을 보장하기 위한 FFN로 구성된 self-attention 메커니즘을 사용하고, 각각에 residual 연결 및 layer norm이 이루어짐
- 디코더는 인코더의 마지막 레이어에서 hidden representation을 추출하기 위해 추가 MHA를 사용함
- 인코더와 디코더는 모두 input d_model이 256이고 FFN은 1024의 크기이며, 4 layer로 쌓았음
- TTS와 ASR은 인코더와 디코더에 대해 동일한 모델 구조를 공유하지만 모델 매개 변수가 다름 (공개 안되어있음)

 

4) 그림 c
- 음성 및 텍스트에 대한 입력 및 출력 모듈이며, 음성 입력 모듈 (그림 c의 왼쪽 하단)은 hidden size가 256 인 Pre-Net으로 구성되며 출력 차원은 Transformer의 hidden size인 256과 같음
- 음성 출력 모듈 (그림 c의 왼쪽 상단)은 두 가지 구성 요소로 구성됨
- 하나는 출력 차원이 1 인 stop linear layer와 현재 디코딩 단계가 중지되어야 하는지 여부를 예측하는 sigmoid임
- 다른 하나는 각 단계에서 80 차원 벡터로 mel-spectrogram을 생성하기 위해 추가 Post-Net이 있는 mel linear layer임
- Post-Net은 생성된 mel-spectrogram의 품질을 개선하는 것을 목표로 하는 256의 hidden size를 갖는 5-layer 1-D Convolution 네트워크로 구성됨
- Griffin-Lim 알고리즘을 사용하여 mel-spectrogram을 audio로 변환함
- 텍스트 입력 모듈 (그림 c의 오른쪽 하단)은 phoneme 임베딩으로, phoneme ID를 임베딩으로 변환함
- 출력 모듈의 텍스트 linear layer (그림 c의 오른쪽 상단)와 phoneme 임베딩의 매개 변수를 공유함
- 텍스트 시퀀스는 모델에 입력하기 전에 먼저 텍스트-음소 변환기를 사용하여 음소 시퀀스로 변환됨

 

[1] Ren, Yi, et al. "Almost unsupervised text to speech and automatic speech recognition." International Conference on Machine Learning. PMLR, 2019.

728x90
728x90

이번에 리뷰할 논문은 Facebook AI에서 발표한, Self-Training for End-to-End Speech Recognition [1] 이며, Pseudo labels을 활용한 self-training에 대한 내용임

 

Overview

1. Self-training with pseudo-labels

2. Pseudo-labelled data set을 사용한 학습이 기준 모델의 정확도를 크게 향상시킬 수 있음을 보임

- 작은 쌍의 labeled 데이터셋에서 강력한 베이스라인 (음향 모델) training

- Pseudo-label을 생성하기 위해 대규모 text corpus에서 훈련된 LM으로 안정적인 디코딩 수행

- 시퀀스 간 모델의 일반적인 error에 조정된 filtering mechanism 제안

- Seq2Seq 모델에서 자주 접하게 되는 실수를 해결 하기 위해, 제안하는 pseudo-label filtering에 대한 heuristicconfidence-based approach 평가

-> Looping and early stopping

- 또한, 학습 중 여러 모델을 결합하는 앙상블 접근 방식 제안

-> 레이블 다양성을 개선하고 모델이 잡음이 있는 pseudo-label에 대해 지나치게 확신하지 않도록 함

 

Background & Issue

1. ASR 시스템을 구축하기 위해 많은 양의 transcribed data 필요

- Labeled 데이터 양이 감소하면 end-to-end 모델의 성능 저하

- 많은 양의 오디오를 transcribing 하는 것은 expensive, time-consuming

- Unpaired audio and text를 활용하기 위해 semi-supervised learning이 제안됨

 

2. Self-training

- Semi-supervised learning 기법 중 하나인 self-training 방법 채용

- 훨씬 더 작은 labeled 데이터에서 학습된 모델로부터 생성된 잡음이 있는 label을 사용

 

Proposed model

1. Baseline model architecture [2]

- 앞서 리뷰한 TDS block 논문 아키텍처를 사용

 

2. Inference

- Beam search를 사용하여 가능성이 가장 높은 hypothesis 탐색

$\bar{Y}=$argmax$_Y$log$P_{AM}(Y|X)+\alpha$log$P_{LM}(Y)+\beta|Y|$ ...(1)

- $\alpha$는 LM의 weight임

- $\beta$는 seq2seq 모델에서 흔히 볼 수있는 조기 중지 문제를 피하기위한 토큰 insertion [3]

-> 디코딩 중에 발생하는 모델의 실수로 인해, 음성의 특정 frame을 건너 뛰어 일부 단어가 decoding이 안되는 문제

-> 이는 특히 외부 언어 모델을 사용할 때 많이 발생

 

- [2]의 모델을 활용하여 decoder 안정화 (random sampling, EOS threshold)

log$P_u$(EOS$|y_{<u}$)$<\gamma\cdot$max$_{c\neq EOS}$log$P_u(c|y_{<u})$

- 위의 식이 성립될 경우에 EOS 사용

- $\gamma$는 튜닝 가능한 hyperparameter임

 

3. Semi-supervised Self-training

 

1) Supervised learning setting

- 우리가 많이 사용하는 supervised learning setting은 입력 $X$와 그에 해당하는 label $Y$가 있으며, 이를 paired dataset이라 부름. 이는 아래와 같음

$\mathcal{D}={(X_1,Y_1),...,(X_n,Y_n)}$

- 아래의 식처럼, $D$에 대해 학습된 모델은 레이블이 있는 $Y$에 주어진 ground-truth의 가능성을 최대화 함

$\sum_{(X,Y)\in\mathcal{D}}$log$P(Y|X)$ ...(2)

 

2) Semi-supervised setting

- $mathcal{D}$ 외에 label이 없는 오디오 데이터 세트 $\mathcal{X}$ 및 페어링되지 않은 텍스트 데이터 세트 $mathcal{Y}$ 만 포함 됨

- 먼저, 식 (2)를 최대화하여 $mathcal{D}$에서 AM 모델을 훈련함
- 둘째, $mathcal{Y}$에서 LM 교육

- 셋째, 두 모델을 결합하여 식 (1)을 적용하고, label이 지정되지 않은 각 데이터에 대한 pseudo label을 생성하고, 아래와 같이 paired pseudo label을 이룬 데이터 세트를 얻음
$\mathcal{D}={(X_i,\bar{Y_i})|X_i\in\mathcal{X}}$

- 마지막으로 새 AM은 $mathcal{D}$와 $D$의 조합에 대해 아래와 같은 목표로 훈련 할 수 있음

$\sum_{(X,Y)\in\mathcal{D}}$log$P(Y|X)+\sum_{(X,Y)\in\mathcal{D}}$log$P(\bar{Y}|X)$

 

3) Proposed filtering

- Pseudo-labelled dataset $\bar{\mathcal{D}}$는 noisy $\bar{Y}$를 포함하고 있음

- Filtering은 $\bar{\mathcal{D}}$의 크기와 pseudo-label 사이에 balance를 이루기 위해 사용됨

- Seq2seq에 특화된 두 가지 heuristic-based filtering 기능 제안

 

-> Confidence-based filtering [4] 추가 결합 가능하며, 문장 수준에 적용

-> $c$번 이상 반복되는 n-gram을 포함하는 pseudo-label을 제거하여 루프를 필터링 함

-> EOS확률이 threshold 이상인 $\hat{Y}$을 유지함으로써, early stopping을 해결할 수 있음

-> 또한, 완전한 $\hat{Y}$을 찾지 않고 beam search이 종료되는 경우에 대해서도 필터링 함

 

4) Confidence-based filtering [4]

- Decoder가 디코딩 된 $\bar{\mathcal{Y}}$에 대해 얼마나 확신하는가?

- Sentence-level confidence $C_{sent}$는 아래의 식인 평균 단어 신뢰도로 계산됨

$C_{sent}\frac{1}{N}\sum_{i=1}^N c_{w_i}$

- Word confidence $c_{w_i}$Confusion Network [5]의 $i$번째 step에 있는 단어 $w_i$의 사후 확률임

- Word sequence posterior 값은 예상되는 WER을 최소화하는 Minimum Bayes Risk Decoding [6]에 의해 얻어짐

 

5) Confusion network [5]

- 디코딩 결과가 얼마나 정확한지 검증하는 기법으로 사용 됨

- Word graph 혹은 Finite-state Machine에서 state transition 스코어의 합이 1이 되도록 확률로 normalize한 모델

- 이외에도 알아두면 좋을 것들: Lattice-based word error minimization algorithm

-> Lattice alignment algorithm

-> Intra-word clustering

-> Inter-word clustering

-> Pruning

-> The consensus hypothesis

-> Score scaling

- 올해 안에 확인해보기

 

6) Minimum Bayes decoding [6]

- ASR에 사용되는 MAP rule은 다음과 같음

$W^*=$argmax$_{w}P(W|\mathcal{O})$

- W word-sequence 이고, Oobservation sequence이며

- 이를 통해 WER과 관련된 Minimum Bayes Risk 추정치 제공 (Levenshtein edit distance를 기준으로 WER 사용하기 때문)

$W^*=$argmin$_w\sum_{w'}P(W'|\mathcal{O}L(W,W'))$

- 여기에서 $L(W,W')$는 word sequence $W$와 $W'$사이의 Levenshtein edit distance임

- 또한, $P(W'|\mathcal{O})$는 모델에 의해 $W'$에 할당된 posterior 확률임

 

다시 3)으로 돌아와서, - 각 pseudo-label에 대해 seq2seq에서 length-normalized log likelihood를 confidence score로 계산한 것은 아래의 식과 같음

 

ConfidenceScore$(\bar{Y_i})=\frac{log{P_{AM}(\bar{Y_i}|X_i)}}{|\bar{Y_i}|}$

- 여기에서 $|\bar{Y_i}|$는 각 발화의 토큰 수임

 

7) Ensembles in self-training 

7-1) 문제점

- Self-training에서 여러 모델을 활용하는 방법은 추론 중 모델들의 score 결합

- 더 높은 품질의 single pseudo-labelled 세트를 생성할 수 있음

- 하지만 $M$이 증가하면 디코딩 프로세스가 heavyweight

 

7-2) Proposed sample ensemble

- Given $M$ bootstrapped AM, 각 모델에 대한 pseudo-labelled dataset $\bar{D_m}$을 병렬로 생성

이후 pseudo-label의 모 $M$ setuniform 가중치와 combine

훈련 중 아래의 식을 최적화

$\sum_{(X,Y\in\mathcal{D})}$log$P(Y|X)+\frac{1}{M}\sum_{m=1}^M\sum{X,Y\in{D_m}}$log$P(\bar{Y}|X)$

 

- Implementation으로, 먼저 labelled $\mathcal{D}$를 이용하여 randomly initialized weights로 모 $M$ 학습

- 이후, 각각의 모델에 맞춰 tuninghyper-parameter로 $\bar{D_m}$생성

- 학습 동안, 모델 $M$중 하나에서 매 epoch마다 target으로 pseudo-label을 균일하게 샘플링함

 

Experiments

1. Data (LibriSpeech)

- Paired dataset: Train-clean 100

- Unpaired dataset (clean): Train-clean-360

- Unparied dataset (noisy): Train-other-500

- Realistic for self training

-> LibriSpeech는 총 14,476권의 공개 도서에서 파생되어 생성된 데이터셋임

-> LM을 위한 훈련 데이터에서 AM 훈련 셋과 관련된 모든 책 제거 (997개)

- NLTK toolkit for text normalization

--> 문장 분할 적용, 소문자로 모두 변경, ` 를 제외한 구두점 제거, 하이픈 공백으로 대체

 

2. Model

- 각각 10, 14 및 16 채널과 $k$ = 21이 있는 3 개 그룹의 9 개의 TDS 블록
- Soft-window 사전 교육 (attention 수렴을 위해), teacher-forcing, 20%의 dropout, 1%의 random sampling, 10%의 Label smoothing, 정규화를위한 1%의 word piece sampling
- SentencePiece [7]을 사용하여 "train-clean-100"의 transcripts에서 5,000 개의 word piece을 대상 토큰으로 계산

 

3. Training

- Pseudo-labels 학습시 8GPUs 사용

- Learning rate가 0.05 인 200 Epoch 동안 momentum이 없는 SGD 사용

- GPU 1개를 사용할 때 Epoch 40마다 0.5 씩 decay, GPU 8개에 Epoch 80 개씩 decay 먹임
- wav2letter ++ 프레임 워크 사용 [8]

 

4. LM

- ConvLM [9]과 동일한 model architecture 및 학습 방법 사용하여 word piece 학습

- 모든 beam search hyper-parameterpseudo-label 생성 전 dev set에서 조정

 

Results

1. Label measure

- Ground truth와 비교하여 필터링 된 pseudo-label의 WER로 정의함 (논문 자체에서 이렇게 했다는 말임)

2. Heuristic filtering

- No EOS + n-gram필터를 $c=2, n=4$에 적용

- 이후 필터링 된 데이터 세트 위에 confidence-based filtering 추가

- Confidence score에 대한 threshold 조정 시 pseudo-label 품질 개선됨 (그림 참조)

 

3. Model ensembles

- 여러 모델을 결합하면 특히 노이즈가 많은 설정에서 성능 향상

- 6개 모델과 heuristic filtering을 통해 13.7%의 상대적 개선률 획득

- 두 가지 필터링 기술이 ensemble과 효과적으로 결합 됨을 보임

- Sample ensemble이 학습 시간에 동일한 utterance에 대해 서로 다른 transcript를 사용하기 때문에 모델이 noise가 포함된 pseudo-label에 지나치게 확신하는 것을 방지함

 

4. Comparison with Literature

- 원본 책(label)과 비교를 하였는데 이때 쓰인 measure는 WRR (WER Recovery Rate) 이며 아래와 같음

$\frac{baseline WER - semi - supervised WER}{baseline WER - oracle WER}$

- WRR를 통해 pseudo-label과 연결할 수 있는 baselineoracle 사이의 간격을 보임

5. Comparison with other semi-supervised learning

- Seq2seq model에서 동일한 음성으로 실험 조건 세팅

기존 연구 (semi-supervised)

--> Cycle TTE [10]: inputoutput사이에 cycle-consistency loss 도입

--> ASR+TTS [11]: TTS 모듈을 활용하여 unpaired text에서 합성 데이터 생성

- 제안한 Self-training 방법이 기존 연구 보다 약 65.1% 우수한 WER 생성

Why?

- TDS 기반 encoder

- 실제 설정에서 쉽게 얻을 수 있는 훨씬 더 큰 unpaired text corpus 활용

 

 

Conclusion

- 대규모 Unlabelled dataset을 이용한 self-trainingend-to-end 시스템의 상당한 개선을 가져옴

- 기존의 Seq2seq 모델 및 앙상블에서 발생하는 문제점에 맞게 조정된 필터링 메커니즘의 효과

- Self-training에도 효과적임을 보임

 

- TDS block 및 이 논문 모두 Decoding, External LM 등에 대한 사전 지식이 있어야 충분히 이해할 수 있는 레벨이었음

- 소량의 Self-training을 통해 data augmentation 효과 및 unseen data의 distribution등의 개선을 기대할 수 있을 것 같고, real scenario에 사용해봄직 함

 

[1] Kahn, Jacob, Ann Lee, and Awni Hannun. "Self-training for end-to-end speech recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[2] Kahn, Jacob, Ann Lee, and Awni Hannun. "Self-training for end-to-end speech recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[3] Chorowski, Jan, and Navdeep Jaitly. "Towards Better Decoding and Language Model Integration in Sequence to Sequence Models." Proc. Interspeech 2017 (2017): 523-527.

[4] Veselý, Karel, Mirko Hannemann, and Lukáš Burget. "Semi-supervised training of deep neural networks." 2013 IEEE Workshop on Automatic Speech Recognition and Understanding. IEEE, 2013.

[5] Mangu, Lidia, Eric Brill, and Andreas Stolcke. "Finding consensus in speech recognition: word error minimization and other applications of confusion networks." Computer Speech & Language 14.4 (2000): 373-400.

[6] Xu, Haihua, et al. "An improved consensus-like method for Minimum Bayes Risk decoding and lattice combination." 2010 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2010.

[7] Kudo, Taku, and John Richardson. "SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing." Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. 2018.

[8] Vineel Pratap, Awni Hannun, Qiantong Xu, Jeff Cai, Jacob Kahn, Gabriel Synnaeve, et al., "Wav2letter++: A fast opensource speech recognition system", International Conference on Acoustics Speech and Signal Processing (ICASSP), 2019.

[9] Dauphin, Yann N., et al. "Language modeling with gated convolutional networks." International conference on machine learning. PMLR, 2017.

[10] Takaaki Hori, Ramon Astudillo, Tomoki Hayashi, Yu Zhang, Shinji Watanabe and Jonathan Le Roux, "Cycle-consistency training for end-to-end speech recognition", International Conference on Acoustics Speech and Signal Processing (ICASSP), 2019.

[11] Murali Karthick Baskar, Shinji Watanabe, Ramon Astudillo, Takaaki Hori, Luk áš Burget and Jan Černockỳ, "Semi-supervised sequence-to-sequence ASR using unpaired speech and text", Interspeech, 2019.

728x90
728x90

이번에 리뷰할 논문은 Sequence-to-sequence speech recognition with time-depth separable convolutions [1] 이며, receptive field를 크게 유지하면서 모델의 매개변수 수를 극적으로 줄이는 시간 깊이 분리형 CNN block을 제안한 논문임

 

Overview

1. TDS (Time-depth separable)

- Fully convolutional sequence-to-sequence encoder architecture
- RNN baseline에 비해 WER 우수, 계산의 병렬 특성으로 인해 효율적임을 주장
- Receptive field를 크게 유지하면서 모델의 매개 변수 수를 극적으로 줄이는 시간 깊이 분리형 CNN block 제안

 

2. 또한, 느리고 순차적인 기술 폐기
- Neural content attention
- Location based attention [2]
- Scheduled sampling [3]

3. CNN 기반의 언어 모델
- CNN 기반의 언어 모델을 효과적으로 통합할 수 있는 Beam search 추론 절차 제공
- Beam size가 매우 크더라도 정확도가 저하되지 않음

 

Proposed model

1. Background

1) 주어진 음성 입력 $X=[x_1,...,x_t]$, $Y=[y_1,...,y_u]$가 있을 때, Seq2seq 모델의 인코더는 $X$를 hidden representation으로 인코딩하며, 디코더는 인코더로부터 받은 hidden represetation과 디코더의 입력을 각각의 출력 토큰으로 디코딩하여 문장으로 생성함. 이를 아래에 자세히 설명함

 

2) 인코더는 아래의 식으로 볼 수 있음

$(K, V)$ = encode$(X)$

- 여기에서 $K=[k_1,...,k_t]$ 는 key이며, $V=[v_1,...,v_t]$는 value임

 

3) 디코더는 아래처럼 주어질 수 있는데,

$Q_u = g(y_{u-1},Q_{u-1})$

$S_u = $attend$(Q_u,K,V)$

$P(y_u|X,y_<u)=h(S_u,Q_u)$

- 여기에서 $g(\cdot)$은 이전 token과 query vector $Q_{u-1}$을 인코딩하여 다음 query vector를 처리하는 RNN임

- Attention mechanism인 attend$(\cdot)$은 summary vector인 $S_u$를 처리함. 여기에서 summary vector는 일방적인 context vector로도 알려짐

- $h(\cdot)$은 출력 token들의 전체 distribution을 계산함. 즉 attention score를 뜻함

 

2. Time-depth separable convolutions

1) 채널을 통한 mixing에서 시간 경과에 따른 집계를 부분적으로 분리

- 2D Convolution-based

- 매개 변수 수를 무시할 정도의 증가량으로, 모델의 receptive field를 늘릴 수 있음

 

 

2) 모델 구조 (그림 내의 b)

TDS convolution model architecture

- $t * w * c$의 입력을 받아 2D CNN으로 시작

-> $T$: time step의 수

-> $w$: 입력 width (frequency)

-> $c$: 입력과 출력의 채널 수

- 커널 사이즈는 $k * 1$

- 매개변수의 total 수: $kc^2$

- Residual, ReLU, Layer norm 적용

 

3) 모델 구조 (그림 내의 c)

- 입력: $T * 1 * wc$, 즉 (b)의 출력과 동일

- 2-layer of 1x1 CNN (즉, linear layer) with ReLU 추가

- 입력과 위의 결과를 residual로 연산

- Layer norm 적용

 

4) 3개의 sub-sampling layers

- Stride 2로 사용

- 전체 8 sub-sampling factor 사용

-> 이 중 1개는 첫 번째 layer, 나머지는 각각의 TDS block 사이에 사용

-> 시간 축에 대해서만 stride 2로 적용

 

5) Increasing the number of output channels

- Feature를 적시에 압축하기 때문에, 각 sub-sample에서 output channel 수를 늘림

- 이 때 단순화를 위해 residual connection은 사용되지 않고, ReLU와 Layer norm만 적용

 

Efficient Decoder 제안

1. 기존 방법

- Sequential Dependency in the decoder: 다음 출력을 계산하려면 decoder는 이전 예측이 필요

- 기존 방법 중 이에 대한 예시: scheduled sampling, input feeding [4], location-based attention

 

2. Inner-product key-value attention 제안

- Hidden 차원 $d$의 역 제곱근으로 inner-product 확장

$S=V\cdot$softmax$(\frac{1}{\sqrt{d}}K^TQ)$

- 이를 통해 수렴을 개선하고, 모델이 alignment를 학습하는데 도움이 된다고 함

- 하지만 일반화에서는 개선된 모습이 보이지 않았다고 함

 

3. Scheduled sampling의 한계

- 훈련 조건을 테스트 조건에 더 가깝게 만들어 노출 편향을 제한하지만, 다음 시간 단계에서 이전 예측을 사용하기 때문에 decoder에 순차 종속성이 도입된다는 단점이 있음

- 논문에서는 병렬로 계산하기 위해 위의 기술을 폐기하고, 대안으로 random sampling [5] 적용을 제안함

- 본 논문에서는 이전 예측이 무작위로 샘플링 된 토큰으로 대체되는 무작위 샘플링을 사용

- 입력 토큰을 샘플링 할 확률 $P_{rs}$로 결정

- 샘플링시, 균일한 분포에서 새 토큰 선택

- Random number $c_j$를 균일한 분포 $[0,1]$로부터 샘플링한 토큰 $U$를 얻음

- $R=[r_1,...,r_U]$로 설정, 이때 $r_j=\mathcal{I}(c_j>P_{rs})$이고, $P_{rs}$는 sampling 확률

- 이후 $U$토큰의 벡터 $Z$를 샘플링 함

- EOS를 포함하지 않는 출력 토큰에 대해 균일한 배포를 사용

- 이후 $\hat{Y}=R\cdot Z+(1-R)\cdot Y$ 

 

4. Soft window pre-training: Deep CNN-encoder를 학습하기 위한 soft attention 제안

- 모델이 원하는 위치에서 너무 멀리 떨어져 있는 attention 값에 페널티를 적용하여 입력을 따라 균일한 간격으로 출력을 정렬함

- $W$를 $T*U$ matrix with $W_{ij}=(1-\frac{T}{U}j)^2$라고 할 때,

- $W$는 출력이 입력을 따라 균일한 간격으로 있다고 가정하고, $i$번째 입력과 $j$번째 출력 사이의 제곱 거리를 인코딩함

- 따라서 스케일링 계수는 $\frac{T}{U}$가 됨

- 아래와 같이 $W$를 적용함

$S=V\cdot$softmax$(\frac{1}{\sqrt{d}}K^TQ-\frac{1}{2\sigma^2}W)$

- $\sigma$는 $W$의 효과를 약화시키는 hyperparameter임

- $W$의 적용은 정규화 된 attention vector (즉, softmax 이후)에 가우시안 모양의 마스크를 곱하는 것과 같음

 

- 처음 몇 epoch에 대해서만 window pre-training 진행

- 해당 작업으로 alignment와 수렴하는 것이 충분하다고 주장

- Encodersub-sampling 양이 변경될 때만 $\sigma$를 변경함

- 개인 적인 생각으론, 가우시안 필터 모양의 마스크를 곱하여 어텐션을 가이드하는 아이디어, 즉 휴리스틱한 내용은 도입해보고 잘 되었기 때문에 넣은 것인지 않을까 싶음

 

5. Regularization

- Dropout: 인코더 내에서 Non-linearity 이후 layer norm 이전에 적용

- Label smoothing: Prediction에 대한 과도한 신뢰성을 줄이기 위해 사용

- Word piece sampling

-> Word piece model 사용

-> 단어 수준에서 샘플링

-> 가 단어에 대해 확률 $1-P_{wp}$를 사용하여 가장 가능성이 높은 Word piece를 취하거나, $P_{wp}$가 가능성이 가장 높은 상위 10개에 대해 균일하게 샘플링하여 사용

 

6. Beam search decoding

- Stabilizing Beam Search

-> Seq2Seq Beam Search는 종종 beam size가 증가함에 따라 성능 저하 및 불안정 한 문제가 있음 [6]

-> 하지만 모델은 가능한 hypothesize를 효과적으로 검색하기 위해 큰 beam size를 사용할 수 있어야 함

-> Beam size를 크게 사용하기 위해 성능 저하 및 불안정 문제를 해결하는 아래의 2가지 방법론 제안

 

- Hard Attention Limit

-> Beam search가 이전 attention peak에서 $t_{max}$ 프레임 이상을 차지하는 $\hat{y}$값에 대해 허용하지 않음

-> $t_{max}$는 주어진 데이터 셋에 대해 한 번만 조정함

 

- End-of-sentence Threshold

-> 짧은 transcriptions에서 검색에 bias를 주기 위해, score가 최고 후보 score의 값보다 클 경우에만 EOS를 고려함

log$P_u(EOS|y_{<u})>\gamma\cdot max_c$log$P_u(c|y_{<u})$

-> Hard attention 한계와 마찬가지로, 매개 변수 $\gamma$는 주어진 데이터 세트에 대해 한 번만 조정함

 

7. Efficiency

- Heuristics method on Beam search

-> Beam threshold [7]를 설정하여 현재까지의 최고의 $\hat{y}$에서 고정된 범위 미만인 beam의 $\hat{y}$을 제거함

-> 또한, beam의 현재 $\hat{y}$ 세트에 새로운 후보 토큰을 제안 할 때, threshold 적용

-> 아래의 식

log$P_u(EOS|y_{<u})>\gamma\cdot max_c$log$P_u(c|y_{<u})$

-> 이 아래의 식을 만족해야 함

log$P_u(y|y_{<u})> max_c$log$P_u(c|y_{<u})-\eta$

-> Beam의 모든 후보에 대해 업데이트 된 probability 집합을 일괄 계산하므로, 각 단계에서 한 번의 forward만 필요

 

 

Experiments

1. Data

- LibriSpeech 960h

 

2. Encoder

- Two 10-channel, three 14-channel 그리고 six 18-channel TDS blocks (11 blocks)

- Using 1D convolutions to sub-sample over time

-> One as the first layer

-> One in between each group of TDS blocks

- Kernel sizes: all 21 x 1

- Final linear layer produces the 1024-dimensional encoder output

 

3. Decoder

- One-layer GRU with 512 hidden units

 

4. Initialization

- uniform distribution $\mathcal{U}(-\sqrt\frac{4}{f_{in}},\sqrt\frac{4}{f_{in}})$으로 초기화 되었으며, $f_{in}$은 각 유닛에 대한 fan-in임

 

5. Speech preprocessing

- 80-dimensional mel-scale filter banks computed every 10ms with a 25ms window

 

6. Token preprocessing

- 10k word pieces computed from the Sentence Piece toolkit [8]

 

7. Optimizer

- Synchronous SGD with a learning rate of 0.05, decayed by a factor of 0.5 every 40 epochs

- Clip the gradient norm to 15

 

8. Pre-train

- 해당 모델은 soft window와 $\sigma=4$로 3에폭 동안 pre-train 됨

 

9. Hyperparameters

- Dropout as 20%, label smoothing as 5%, random sampling as 1%, word piece sampling as 1%

 

10. Two word piece LMs on the 800M-word text-only dataset

- 두 개의 word piece 언어 모델을 사용하였음

- 첫 번째는 4-gram trained with KenLM [9]

- 두 번째는 convolutional LM (ConvLM) [10]

 

11. Beam setting

- Beam size of 80

- $t_{max}=30$

- EOS penalty $\gamma=1.5, \eta=10$

- LM 가중치 및 토큰 삽입 조건은 dev set LM 조합과 교차 검증으로 진행

- Wav2letter++ [11] 를 사용하여 training evaluation 평가

 

Results

 

1. TDS 모델은 외부 LM을 사용시 더 많은 이점을 얻음

- Better loss on the correct transcription

- More effective beam search

 

 

2. Model variants

 

 

- Varying the number of channels in TDS blocks

-> TDS Block의 채널 개수 변경

-> 기존: 10, 14, 18, params=36.5

--> (10, 12, 14), params=24.4

--> (10, 10, 10), params=14.9

 

- Fix params, Number of TDS blocks

-> N=9, k=27, c=(14, 16, 20), 5.18%

-> N=12, k=19, c=(10, 16, 16), 5.10%

 

- $P_{wp}$와 $P_{rs}$가 낮을수록 성능이 좋았음

 

- Soft window pre-training

--> Soft window 기법은 명확히 학습 초기에 모델 수렴에 도움이 되었음

 

- Receptive fields

--> 큰 사이즈의 receptive field가 없으면, encoder의 키 outputdecoderquery를 명확하게 할 수 없음을 주장

 

- Number of beam size

--> Beam size80까지 이득을 볼 수 있음

 

Conclusion

1. Fully convolutional encoder

- 제안하는 Fully convolutional encodersimple decoder가 강력한 RNN baseline의 도달함과 동시에 더 우수하고 효율적인 결과를 보임

 

2. TDS block

- CNN-based encode의 성공 핵심은 모델이 큰 사이즈의 receptive field를 유지할 수 있는 TDS에 의해 가능함

 

3. + ConvLM

- Convolutional LM을 안정적이고 확장 가능한 beam search 절차와 통합 하는 방법을 보임

 

 

[1] Hannun, Awni, et al. "Sequence-to-Sequence Speech Recognition with Time-Depth Separable Convolutions." Proc. Interspeech 2019 (2019): 3785-3789.

[2] Chorowski, Jan, et al. "Attention-based models for speech recognition." Proceedings of the 28th International Conference on Neural Information Processing Systems-Volume 1. 2015.

[3] Bengio, Samy, et al. "Scheduled sampling for sequence prediction with recurrent Neural networks." Proceedings of the 28th International Conference on Neural Information Processing Systems-Volume 1. 2015.

[4] Luong, Minh-Thang, Hieu Pham, and Christopher D. Manning. "Effective Approaches to Attention-based Neural Machine Translation." Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015.

[5] Wang, Xinyi, et al. "SwitchOut: an Efficient Data Augmentation Algorithm for Neural Machine Translation." Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018.

[6] Chorowski, Jan, and Navdeep Jaitly. "Towards Better Decoding and Language Model Integration in Sequence to Sequence Models." Proc. Interspeech 2017 (2017): 523-527.

[7] Collobert, Ronan, Christian Puhrsch, and Gabriel Synnaeve. "Wav2letter: an end-to-end convnet-based speech recognition system." arXiv preprint arXiv:1609.03193 (2016).

[8] Kudo, Taku, and John Richardson. "SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing." Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. 2018.

[9] Heafield, Kenneth. "KenLM: Faster and smaller language model queries." Proceedings of the sixth workshop on statistical machine translation. 2011.

[10] Dauphin, Yann N., et al. "Language modeling with gated convolutional networks." International conference on machine learning. PMLR, 2017.

[11] Pratap, Vineel, et al. "Wav2letter++: A fast open-source speech recognition system." ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2019.

728x90
728x90

이번 논문은 Speech-XLNet: Unsupervised acoustic model pretraining for self-attention networks [1]이며, 마찬가지로 NLP에서 사용되는 XLNET [2]의 기법들을 speech recognition에 적용하였음

하지만, XLNET에서 중요시 되는 ordering, permutation, Two-stream self-attention 관련 된 부분의 설명이 너무 너무 많이 부족함

또한 github도 공개가 되어 있지 않기 때문에 실제로 해당 결과물에 대한 신뢰도가 많이 떨어지는 상태인 것을 감안하고 읽어야 하며, 개념적인 부분만 체크하기 위해 리뷰함

Overview

- XLNet과 유사한 pretraining scheme인 "Speech-XLNet" 제안

- Self-attention network (SAN)을 위한 permutation-based autoregressive (AR) acoustic model pre-training scheme 제안

- Speech-XLNet은 factorization order의 가능한 모든 permutation과 관련하여 음성 특징 시퀀스의 예상 log likelihood를 최대화 함

- Frame 순서를 셔플링함으로써 permutation은 bi-directional contextual information 및 글로벌 구조를 캡처하는데 도움이 되며, autoencoding 음향 모델링과 AR의 장점을 모두 활용하면서 단점을 피할 수 있음

 

Related works

1. AR 모델에 대한 제약 2가지

주변 음성 프레임
- 인접한 음성 frame은 상관 관계가 높기 때문에 이러한 local smoothness를 활용하면 이미 다음 frame을 예측하기에 충분할 수 있음
- 따라서 regularization이 없으면 pre-training 과정에서 global 구조를 포착하는데 어려움이 있을 수 있음
- AR pre-training은 또한 seq2seq 작업에 도움이 되는 bi-directional context information으로 어려움을 겪을 수 있음


2. Masking method의 단점

- Pre-training 중에 BERT에서 사용하는 0값으로 masking 된 frame은 fine-tuning process에서 사용되는 labeled 데이터에는 존재하지 않음
- 이로 인해 사전 훈련-미세 조정 불일치가 발생할 수 있음
- BERT는 non-masking frame이 주어지면 예측 된 frame이 서로 독립적이라고 가정하므로 AR 모델에서 사용되는 곱 규칙을 사용하여 joint probability distribution을 모델링 할 수 없음

 

3. XLNet과의 차이점

1) Next sentence prediction과 segment recurrence mechanism을 사용하지 않음
- 두 방법 모두 연속 된 문장에서 long-distance dependencies를 추출하는 데 사용됨
- 그러나 음성 인식 데이터 셋에서의 다른 발화는 일반적으로 서로 독립적이기 때문에 관계가 없음

 

2) Word token이 아닌 frame masking reconstruction
- Classification task에서 regression task 작업으로 XLNet 조정

3) Dynamic permutation 전략 사용
- XLNet은 데이터 전처리 중에 한 번 permutation을 수행함
- 반대로 Speech-XLNet은 음성 sequence가 trainer에 공급 될 때마다 permutation 순서를 재생성함
- 따라서 각 training의 epoch에 공급되는 모든 sequence에 대해 서로 다른 permutation을 사용하기 때문에 훈련 데이터의 양이 증가함

 

Proposed method

1. Model architecture

- Speech-XLNet의 encoder와 decoder는 XLNet과 Transformer와 같음

 

2. Proposed SAN/HMM and end-to-end SAN in the pre-training models

1) SAN/HMM

- 하이브리드 모델은 pre-training 중 아래 그림의 frame-stacking을 진행하지 않는데, 이는 downstream task에 대한 frame level의 alignment 정보를 얻어야 하기 때문임

- Frame-stacking을 하면 HMM기반의 align이 되지 않기 때문에 SAN/HMM에서는 frame-stacking을 사용하지 않음

- 위의 frame-stacking은 4개의 subsampling이 5개로 stack됨을 보임

 

2) SAN

- 반면 SAN은 align 정보가 필요하지 않기 때문에 pre-training 시에도 sequence length와 연산 속도를 줄여주는 frame-stacking을 사용함

 

3. Pre-train objective function

- XLNet과는 달리, Speech-XLNet은 다음 acoustic frame을 "예측함"

$min_\theta\mathbb{E}_{o\sim\mathcal{O}_{T}[\Sigma_{t=1}^T\mathcal{L}(o_t,\hat{y}_{t|o<t})]}$

- 여기에서 $\mathcal{O}_T$는 길이 $T$인 sequence의 가능한 모든 permutation 집합임

- $O=[o_1,o_2,...,o_T]$이고, $o_t$는 $t$번째 element이고, $o_{<t}$는 permutation $O\in\mathcal{O}_T$의 첫 번째 $t-1$요소임

- $\theta$는 parameter 집합을 나타냄

- $\hat{y}_t|o_{<t}$는 permutation 순서 $o_{<t}$의 이전 frame이 주어진 예측 프레임을 뜻함

 

- Permutation 된 sequence의 꼬리 부분에 있는 frame의 마지막 20% 만 예측하도록 선택함
- $T$를 시퀀스 길이로, $e$를 선택한 frame 수라 할 때, objective function을 아래와 같이 지정함

$min_\theta\mathbb{E}_{o\sim\mathcal{O}_T[\Sigma_{t=T-e+1}^T\mathcal{L}(o_t,\hat{y}_{t|o<t})]}$

 

4. Two-stream self-attention

- Query stream은 pre-training에서만 사용되고, fine-tuning에서는 제거됨

- 나머지 설명은 해당 논문에 없음

 

Experimental setups

1. Pre-processing

- Kaldi로부터 CMVN을 적용한 40-dimensional log-Mel filterbanks 사용

 

2. Hybrid ASR on TIMIT

1) SNN/HMM

- 8개의 attention head의 block당 6개의 self-attention block이 있음
- $d_{model}$은 512로, $d_{ffn}$은 2048로, 드롭 아웃은 0.1로, Huber 손실은 0.1로, optmizer는 Adam 사용

 

2) Pre-training
- LibriSpeech, TED-LIUM release2 및 WSJ-si284를 사용, 배치 크기는 6000 frame으로 할당

 

3) Fine-tuning

- 4000 frame의 배치 크기로 Hybrid SAN/HMM 설정에서 Cross Entropy loss로 fine-tuning
- Frame level alignment는 1936개의 senone cluster가 있는 triphone GMM/HMM과 함께 Kaldi s5 레시피를 사용하여  얻음

3. End-to-End transformer ASR on WSJ

1) Architecture

- 12개의 인코더, 6개의 디코더로 구성되어 있으며, 각기 4개의 attention head가 있음
- $d_{model}$은 256, $d_{ffn}$은 2048, Adam 사용
- Target 텍스트의 출력 알파벳은 총 32개의 classes (26 개의 대문자, 아포스트로피, 마침표, 공백, unknown token, <sos>, <eos>)
- 연속 된 3개의 프레임 stacking, 3개 sub-sampling

2) Baseline
- Fine-tuning process와 동일한 설정으로 scratch training
- Beam search는 beam size 15 및 length penalty 0.6으로 수행

3) 평가 데이터
- WSJ-si284

 

Results

1. PER results

- Pre-trained된 SAN은 초기 epoch에서 weight가 임의로 초기화 된 SAN보다 훨씬 빠르게 수렴
- SAN은 hyperparameter에 매우 민감하지만 proposed된 pre-trained 된 SAN의 성능은 훨씬 더 안정적임을 보임

 

2. Results of hybrid ASR on TIMIT

- 무작위로 초기화 된 weight로 training이 끝나면 모든 head의 attention score는 위의 그림 (c)에서 명확한 대각선 패턴을 나타내며, 이것은 현재 프레임 주변의 제한된 컨텍스트만 탐색됨을 의미함
- 그림 (d)에서 두 번째 head의 attention score는 확률 분포가 모두 대각선을 벗어나는데, 논문에서 저자들은 이는 관심 분포가 downstream task에 유용한 일부 "global"구조를 학습다고 주장함

 

3. Reporting WERs from 5 of settings

 

1) SCRATCH

- 무작위로 초기화 된 weight로 Baseline을 end-to-end 훈련

2) WSJ-Perm, LIBRI-Perm

- 81h WSJ-si284 및 960h LibriSpeech를 사용하여 Speech-XLNet으로 인코더 pre-training 이후 fine-tuning

3) WSJ-NoPerm, LIBRI-NoPerm

- Pre-training 중 permutation 폐기한 결과

 

- 당연히 Pre-training에서 가장 많은 데이터로 학습 된 LIBRI-PERM이 좋은 성능을 봉미

 

Conclusion

- NLP의 XLNet의 개념을 이용한 Speech-XLNet

하지만...

- 해당 논문의 Two-stream self-attention 부분은 page 용량 문제로 언급이 하나도 되어 있지 않음

- 그리고 기존 XLNET에 비해 마지막 20% 부분만 permutation으로 사용

- Permutation order가 어느 정도 사용 되었는지도 설명이 나와 있지 않은 채이기에 알 수 없음

- Github 공개 되어 있지 않아서 신빙성 많이 떨어지는 논문

- 쓸데 없는 ablation으로 paper 채우는 듯한 노력이 보임 (대체 learning rate에 대한 ablation처럼 보이는 실험이 왜 진행되었는지 알 수 없음)

 

Reference

[1] Song, Xingchen, et al. "Speech-XLNet: Unsupervised Acoustic Model Pretraining for Self-Attention Networks." Proc. Interspeech 2020 (2020): 3765-3769.

[2] Yang, Zhilin, et al. "XLNet: Generalized Autoregressive Pretraining for Language Understanding." Advances in Neural Information Processing Systems 32 (2019): 5753-5763.

 

 

728x90
728x90

본 논문은 Audio ALBERT: A lite BERT for self-supervised learning of audio representation [1]이며, NLP에서 사용된 ALBERT [2]의 개념을 speech에 적용한 논문임

즉 모델 사이즈를 줄이고 성능을 유지할 수 있는 경량화가 주 목적임

 

Overview

- Self-supervised speech representation model의 lite 버전 제안

- Light-weight representation extractor를 2개의 downstream task에 제안 (speaker and phoneme classification)

- Parameter의 수를 줄이면서도 모델의 강력함을 유지하였던 NLP 도메인의 ALBERT기반 모델

- AALBERT (Audio-ALBERT)는 91%의 적은 parameters의 크기로 거대한 모델인 Mockingjay [3](kaen2891.tistory.com/85?category=462780)과 비슷한 성능을 달성함

- 또한, 꼭 마지막 layer가 좋은 성능을 보장하지 않는 것을 밝혀냄 (즉 중간 layer도 대체가 가능하단 이야기)

 

Related works

1. Weight sharing

- [2, 4] 논문은 매개 변수를 줄이고 줄이지 않은 모델 대비 비슷한 성능을 달성하기 위해 여러 layer에 weight sharing 메커니즘을 적용하는 small Transformer model을 구축함

- [5] 논문은 더 빠른 추론을 위해 Transformer model의 인접 layer에 있는 이전 layer의 attention 가중치를 재사용함과 동시에 기계 번역 성능을 유지함

- [6] 논문은 입력 및 출력 임베딩을 연결하여 성능 저하 없이 매개 변수 감소에 대해 성공함

- Universal Transformer [7]은 Transformer와 RNN의 이점을 활용하여 많은 수의 매개변수를 줄이면서도 layer간 weight를 sharing 하였음

 

- Layer 간의 weight sharing 메커니즘은 layer 축 방향으로 적용된 RNN으로 간주 할 수 있음

- Weight sharing은 더 빠른 추론 및 훈련 속도를 가져올 뿐만 아니라 유사한 성능을 유지할 수 있다는 장점이 있음

 

2. Probing task

- Probing은 인코더가 representation에 특정 정보를 포함하는지에 대한 여부를 측정하는 기술 [8-10]
- Probing은 조사 할 representation을 추출하고, downstream task에 대한 representation을 기반으로 간단한 classifier를 구축하고, classifier의 성능을 측정하여 수행 됨
- ASR 의 hidden state에서 음성 합성하는 방식 또한 프로빙 방법 중 하나임 [9]

 

3. Redundancy in parameter

- 매개 변수의 중복을 measure하기 위해 Jensen-Shannon Divergence (JSD)를 사용함

- JSD는 두 확률 분포의 유사도를 0~1사이로 나타내는 방법임

- JSD를 사용하여 각 Transformer layer의 attention score의 유사도를 평가함

- Multi-head attention의 경우, 각각의 head 마다 JSD로 계산 후 평균을 취함

 

4. Mockingjay 분석

JSD of attention distribution in Mockingjay's layer

- 그림은 Mockingjay-6L를 나타내며, 몇 몇 attention heads가 다른 layer와 매우 다른게 보이지만 (어두운 파란색), 대부분의 layer들은 매우 비슷함

- 각 layer의 파라미터가 서로 다르지만, 비슷한 attention 분포를 보임

- 저자는 이러한 현상을 parameter 중복 현상으로 추측하고 있으며, layer들 간의 weight-sharing으로 해결하려 함

 

Proposed method

1. AALBERT model architecture

- Input: Mel-spectrogram

- Mockingjay처럼 Downsampling을 1/3 진행하여 length를 1/3, dimension을 240으로 설정

- Mockingjay와 마찬가지의 masked acoustic model 설정

- Masking 된 frame work에 log-linear spectrogram으로 복원되도록 pre-training을 진행함

AALBERT model architecture

- 위의 그림처럼, Mockingjay는 layer를 N번 반복하는데 비해, AALBERT는 weight-sharing으로 반복하는 방식으로 취함

 

2. Reducing method

- 모든 layer의 parameter를 서로 공유함

- AALBERT는 같은 Bidirectional Transformer encoder인 Mockingjay에 비해 훨씬 적은 parameter만 요구됨

- 모든 실험은 아래의 표처럼 Mockingjay의 Large model인 12개의 layer로 진행되며, linear spectrogram을  pre-training의 reconstruction objective로 설정하고 실험

3. Downstream task

1) Feature extraction

- Pre-train된 모델의 모든 parameter는 downstream task에서 모두 freezing 함

- Pre-train된 모델로부터 representation을 fix 시켜서 추출하여 simple한 network로 downstream task 진행

- 이 때, 1-1) 마지막 layer만을 사용 1-2) ELMo 에서 제안한 weighted sum 접근법을 이용하여 마지막 layer가 아닌 다양한 layer를 융합하여 실험을 진행함

 

2) Fine-tuning

- 전체 모델의 parameter는 downstream task에서 추가 학습이 진행됨

- 이 기법은 classifier의 성능을 향상시킴

 

3) Prediction

- 2개의 MLP로 예측 진행

 

4. Probing

- Pre-train된 네트워크에서 얼마나 잘 encoding 되었는지 probing 함

- 이를 위해, 3개의 다른 prediciton layer를 이용하여 평가를 진행함: linear, one-fully-connected, two fully-connected layers

- Prediction layer는 pre-train된 모델로부터 representation을 입력받아 downstream task로 훈련되고, 이 때 upstream인 pre-train된 모델의 parameter는 freezing 시킴

- Classifier의 성능을 probing을 함으로써 각각의 layer의 representation의 정보가 풍부한지에 대해 평가함

 

Experimental setups

1. Downstream task

- 1개의 phoneme classification task와 3개의 speaker classification task에 대한 실험 진행

- 이 때 loss는 Cross Entropy 사용

 

2. Parameter

- 160-dimension의 acoustic feature를 사용하여 downstream task 진행 (80-dimensional log mel-spectrogram and its delta)

- Cepstral Mean and Variance Noramlization (CMVN) 적용

 

3. Hyperparameters

- 아래의 표와 같은 세팅으로 진행

4. Dataset

- LibriSpeech를 사용하였으며, train-clean-360으로 pre-training 함

- Train-clean-360과 train-clean-100 셋이 phoneme과 speaker classification을 위해 downstream task에 사용되었으며, 이때 train/valid/test는 8:1:1의 비율로 나뉘어 학습됨

- Montreal Forced Aligner [11]를 사용하여 LibriSpeech의 영문장을 72 phoneme class로 변환함

 

Results

1. Phoneme classification

1) classifier

- 2개의 MLP layer를 prediction하기 위해 사용 (72 classes)

 

2) 결과

Phoneme classification accuracy of AALBERT and Mockingjay

- Fine-tuning과 weighted-sum case에서, AALBERT는 Mockingjay에 비해 적은 parameter수로 comparable한 classification accuracy 성능을 보임

- 12개의 layer가 있는 AALBERT와 Mockingjay는 각각의 3, 6개의 layer에 비해 더 좋은 성능을 보이지 못함

- 6개의 layer가 pre-training에 쓰인 train-clean-360를 커버하기에 충분한 것으로 보임

- 즉, 더 많은 unlabled data를 pre-training에 사용하였으면, 더 오르지 않았을까? 로 예상해볼 수 있음

- Mockingjay 리뷰(kaen2891.tistory.com/85?category=462780)와 마찬가지로, featurue-extraction과 fine-tuning 모두 labeled data가 더 많이 쓰임에 따라 성능이 오름을 볼 수 있음

- 또한, Mockingjay와 AALBERT 모두 비슷한 성능을 내는 것을 볼 수 있음

 

2. Utterance-level speaker classification

1) Number of speaker

- LibriSpeech의 train-clean-360의 화자 수는 921명이며, train-clean-100은 251명임

 

2) Results of both feature-extraction and fine-tuning

- 위의 두 그림에 사용된 classifier는 mean-pooling이 포함된 linear layer가 적용되었음

- AALBERT가 91%의 적은 parameter 수를 갖음에도 불구하고 Mockingjay와 비슷한 성능을 보임

 

3. Probing tasks

각 layer의 representation에 포함된 phoneme 및 speaker 정보의 양을 조사하기 위한 작업

1) setting

- LibriSpeech의 train-clean-100 dataset을 downstream task에 사용 (해당 데이터셋은 pre-training stage에 사용 X)

- AALBERT-6L과 Mockingjay-6L에 대해 probing 진행

- Proposed에 언급한 것처럼 3개의 다른 classifier를 사용하여 model을 probing함 (linear, one hidden layer, two hidden layers)

Probing task

2) Phoneme probing results (그림 위의 부분들)

- 같은 pre-training 모델로부터 채용된 3개의 다른 probing 모델이 같은 trend를 보임 (그림 위의 파란색들, 빨간색들)

- Layer가 깊어질수록, phoneme 정보는 처음에 증가하였다가 나중에 다시 내리는 경향을 보임

- Mockingjay-6L은 더 얕은 probing 모델에 대해 좋은 성능을 달성

- AALBERT-6L은 probing 모델이 더 깊어질수록 좋은 성능을 달성

 

3) Speaker probing results

- AALBERT-6L의 5번째 layer가 가장 많은 speaker 정보를 담고 있음

- Mockingjay-6L의 4번째 layer가 최고의 성능을 달성함

- 가장 마지막 layer가 아닌 중간 단의 layer에서의 representation이 모두 다른 probing 작업에서 성능이 뛰어남

- 이 말인 즉슨, 마지막 layer가 pre-train 훈련 작업에 적합하지 않을 수 있음을 암시함

- 즉, 중간 layer에서 추출된 representation은 downstream 작업에 더 적합 할 수 있음을 보임 

 

4. Attention distribution in AALBERT

- JSD measuring 기반의 attention 분포 분석 (아래 그림)

- 그림 8a는 <layer 1과 2>, <layer 3과 4>, <layer 5와 6> 사이의 JSD measuring 기반의 attention 분포가 매우 유사함을 보임

- 그림 8b는 JSD 기반의 평가가 대각선 및 그 주변의 분포가 매우 유사함을 보이며, layer 1과 6의 차이가 많음을 보임

- 그림 8c는 JSD 기반의 평가가 앞의 3개 layer와 뒤의 3개의 layer들 간 각각의 차이가 비슷함을 보였으며, 이 두 세트의 차이가 많이 발생함을 보임

- 그림 8d와 8e는 <layer 1과 2>, <layer 3과 4>, <layer 5와 6> 간의 차이가 매우 작음을 보였지만, 각각의 세트별 차이가 큼을 보임

- 이 결과는 동일한 parameter가 다른 layer에 대해 완전히 다른 attention 분포를 유발할 수 있음을 보임

 

Conclusion

- 해당 논문에서는, parameter를 줄인 AALBERT를 제안하였음

- NLP의 ALBERT에서 영감을 받은 AALBERT는 layer들 간의 weight-sharing 기법을 통해 기존의 큰 모델인 Mockingjay와 비교하였을 때 성능이 크게 하락하지 않는 모습을 보였음

 

Reference

[1] Chi, Po-Han, et al. "Audio albert: A lite bert for self-supervised learning of audio representation." 2021 IEEE Spoken Language Technology Workshop (SLT). IEEE, 2021.

[2] Lan, Zhenzhong, et al. "ALBERT: A Lite BERT for Self-supervised Learning of Language Representations." International Conference on Learning Representations. 2019.

[3] Liu, Andy T., et al. "Mockingjay: Unsupervised speech representation learning with deep bidirectional transformer encoders." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[4] Dabre, Raj, and Atsushi Fujita. "Recurrent stacking of layers for compact neural machine translation models." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. No. 01. 2019.

[5] Xiao, Tong, et al. "Sharing attention weights for fast transformer." arXiv preprint arXiv:1906.11024 (2019).

[6] Press, Ofir, and Lior Wolf. "Using the output embedding to improve language models." arXiv preprint arXiv:1608.05859 (2016).

[7] Dehghani, Mostafa, et al. "Universal transformers." arXiv preprint arXiv:1807.03819 (2018).

[8] Jawahar, Ganesh, Benoît Sagot, and Djamé Seddah. "What does BERT learn about the structure of language?." ACL 2019-57th Annual Meeting of the Association for Computational Linguistics. 2019.

[9] Li, Chung-Yi, Pei-Chieh Yuan, and Hung-Yi Lee. "What does a network layer hear? analyzing hidden representations of end-to-end asr through speech synthesis." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[10] Belinkov, Yonatan, Ahmed Ali, and James Glass. "Analyzing phonetic and graphemic representations in end-to-end automatic speech recognition." arXiv preprint arXiv:1907.04224 (2019).

[11] McAuliffe, Michael, et al. "Montreal Forced Aligner: Trainable Text-Speech Alignment Using Kaldi." Interspeech. Vol. 2017. 2017.

728x90
728x90

본 논문의 제목은 Mockingjay: Unsupervised speech representation learning with deep bidirectional transformer encoders [1] 이며, 앞서 소개한 DeCoAR(kaen2891.tistory.com/84) 의 Self-supervised learning 개념을 이용하여 reconstruction task를 Transformer로 진행하면서 representation learning을 진행한 논문임

또한, BERT의 MLM (Masked language model) 개념을 MAM (Masked acoustic model) task로 적용하였음

 

 

Overview

1. Mockingjay라는 새로운 음성 representation learning 방법 제시

- Bidirectional Transformer encoder를 이용하여 대규모 unlabeled 음성을 활용하여 pre-traning 진행

- BERT와 비슷한 Masked Acoustic Model (MAM) 소개

 

2. Pretext (pre-training)

- 음성의 일정 frame에 대해 masking (0값)을 씌우고, pre-training의 모델은 해당 masking된 frame의 original frame을 reconstruction loss를 사용하여 예측

 

3. Downstream task

- 기존 Supervised에서 널리 쓰인 MFCC기반의 phoneme classification, speaker recognition 보다 제안한 Mockingjay의 fine-tuning이 더 좋은 성능을 보임

 

Proposed method

1. MAM pre-training task

- BERT 와 유사함

Masked Acoustic Model

- Input: 80-dimensional mel-spectrogram

- Output: Prediction head를 거친 vector들

 

1) Masking frame에 대한 확률적 policy

Mockingjay's probabilistic policy for masking frames

- BERT와 상당히 유사함

- 전체 frame의 15%에 대하여, 

-- 80%의 확률로 선택된 15%에 대해 0값으로 masking

-- 10%의 확률로 선택된 15%에 대해 다른 frame과 교체

-- 10%의 확률로 선택된 15%에 대해 아무것도 안함

 

2) Input feature: masked spectrogram

Masking 된 spectrogram
Masking 된 spectrogram

 

2. Prediction Head

Prediction head

- 위의 그림 처럼 0값, 즉 masking 된 frame은 Mockingjay를 통과 후 Prediction head를 한 번 더 거침

- Prediction head는 2개의 FFN과 layer-normalization으로 구성되어 있음

- Prediction head의 Input은 마지막 encoder layer가 됨

 

3. Representation learning

Representation learning

- Prediciton head의 output은 masking 된 input의 original frame과의 L1 loss 통해 representation learning이 진행됨

- 즉, Mockingjay의 keypoint는 masking, changing된 input frame이 통과된 output Prediction head와 real frames 들 간의 L1 loss를 사용하여 reconstruction을 배우게 됨

- 이에 대한 visualization은 아래와 같음

Representation learning in Mockingjay

4. Consecutive Masking and Downsampling

Downsampling and consecutive masking

- 해당 논문에서, sequence의 길이를 줄임과 동시에 더 긴 범위에 걸쳐 masking을 하기 위하여 위의 그림과 같이 연속적인 masking을 제안하였음

 

1) Downsampling

- Downsampling의 경우, 연속된 음성 $n$개를 $R_{factor}$계수를 사용하여 $n$개의 frame을 하나로 stack 함

- 즉, (80, 1000)의 shape을 갖는 spectrogram을 $R_{factor}=3$을 사용하면 (240, 334)가 됨

- 수식으로 나타내면, $X\in{\mathbb{R}^l*d}\rightarrow\hat{X}\in{\mathbb{R}^{\frac{l}{a}*ad}}$로 됨

- 여기에서 $l$은 음성 발화 길이이며, $a$는 $R_{factor}$, $d$는 dimension임

 

2) Consecutive masking

- 더 긴 범위에 걸쳐 masking을 진행하기 위해 위의 그림처럼 3개를 진행함

- 기존의 Random masking 15% + consecutive $C_{num}$이 추가되는 방식

- 논문에서는 $C_{num}$에 대해 Base=7, Large=3을 사용

 

5. Final model flow

Mockingjay model flow

1) 무작위 마스킹 15% + Consecutive $C_{num}$ 적용

2) $R_{factor}$를 사용하여 frame length를 줄임 (sub-sampling)

3) Projection layer를 사용하여 240-dimension에서 768-dimension으로 변경 ($H_{dim}=768$)

4) Sinusoidal positional encoding 적용

5) Bidirectional Transformer encoder 통과

- Base ($L=3$), Large ($L=12$)

- 12개의 multi-head attention 사용 ($A_{num}=12$)

- FFN에는 3072-dimension으로 구성 ($F_{dim}=3072$)

6) Prediction head로 representation 추출

- Prediction head는 오로직 pre-training (upstream task)에서만 사용됨

- 768-dimension -> 80-dimension

7) L1 loss를 사용하여 선택된 15%의 prediction head와 ground-truth frame간의 reconstruction error를 계산하여 최소화함

 

6. Downstream task

1) Feature extraction

Feature extraction of Mockingjay

- Mockingjay model를 freezing시키고, 마지막 Prediction head를 그대로 사용함

- 이 위에 classifier 1개를 추가하여 ASR 평가

 

2) Weighted sum from all layers

- 마찬가지로 Mockingjay model를 freezing 시킴

- 1)에서는 마지막 layer를 가져다 썼다면, 여기에서는 ELMo [2]에서 제안된 것 처럼 모든 hidden layer의 weighted sum을 하여 사용함

Feature extraction and weighted sum from all layers

 

3) Fine-tuning

- 이 task에서는, pre-trained 된 Mockingjay를 downstream task의 initial weight로 두고 같이 학습 진행

Fine-tuning task

 

Experimental setups

총 3가지의 downstream task 실험에 대해 진행 (즉, pre-train 이후 label 있는 데이터로 진행한 것임)

 

1) Phoneme classification (72 classes)

- Train 셋: LibriSpeech 360-hour, Test 셋: LibriSpeech test-clean

 

2) Speaker recognition (63 classes)

- Train 셋: 90% of LibriSpeech 100-hour, Test 셋: 10% of LibriSpeech 100-hour

 

3) Sentiment classification on spoken content

- 도메인과 상관없음을 보이기 위해 다른 데이터셋을 이용하여 평가 진행: MOSEI [3]

Results

 

1) Phoneme classification

- Mel-spectrogram을 사용한 linear phone classifiers

- Montreal Forced Aligner [4]를 사용하여 label을 얻었으며, 이를 기반으로 평가 진행

Results of phone classification

- Downstream task의 labeled data가 늘어날 수록 전체적인 성능은 올라감

- 적은 양 대비 제안한 Fine-tuning의 결과가 가장 좋았음

- 360시간 모두를 사용하여도 Supervised 및 APC [5]를 능가함

 

2) Speaker recognition

Results of speaker and sentimental accuracy

- 1개의 RNN classifier를 사용하여 downstream task 진행

- Fine-tuning 결과는 98.05%로서 가장 좋은 성능을 얻었음

 

3) Sentiment classification on spoken content

- 1개의 RNN classifier를 사용하여 downstream task 진행

- Mockingjay로 부터 weighted sum 하여 freezing시킨 feature extractor가 가장 높은 성능인 71.05%를 달성함

 

Conclusion

- 이전의 방법들은 과거의 frame에 의존하거나 미래의 frame에 의존하는 Contrastive learning 기반의 방법인 CPC [5](kaen2891.tistory.com/77?category=462780), wav2vec [6](kaen2891.tistory.com/79?category=462780), APC [7]들이었음

- 제안한 Mockingjay는 과거와 미래의 정보를 공동으로 조건화하여 현재 frame을 예측하도록 설계함

- 예측 frame과 Ground-truth frame 간의 MAM을 사용하여 L1 loss 기반의 reconstruction을 통해 representation learning 제안

- 실험 결과는 fine-tuning 결과가 효과가 있음을 보임

 

Reference

[1] Liu, Andy T., et al. "Mockingjay: Unsupervised speech representation learning with deep bidirectional transformer encoders." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[2] Peters, Matthew, et al. "Deep Contextualized Word Representations." Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018.

[3] Zadeh, AmirAli Bagher, et al. "Multimodal language analysis in the wild: Cmu-mosei dataset and interpretable dynamic fusion graph." Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018.

[4] McAuliffe, Michael, et al. "Montreal Forced Aligner: Trainable Text-Speech Alignment Using Kaldi." Interspeech. Vol. 2017. 2017.

[5] Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. "Representation learning with contrastive predictive coding." arXiv preprint arXiv:1807.03748 (2018).

[6] Schneider, Steffen, et al. "wav2vec: Unsupervised pre-training for speech recognition." arXiv preprint arXiv:1904.05862 (2019).

[7] Chung, Yu-An, et al. "An unsupervised autoregressive model for speech representation learning." arXiv preprint arXiv:1904.03240 (2019).

728x90
728x90

본 논문의 제목은 Deep Contextualized Acoustic Representations For Semi-Supervised Speech Recognition [1]이며, DeCoAR 라고도 불림

Semi-supervised를 진행 하기 위해 ELMo [2]의 개념과 bidirectional 방법을 채용하여 음성 frame의 미래와 과거를 contextualized 하여 복원하는 pretext task를 거친 후 freezing하여 fine-tuning으로 기존의 supervised learning 보다 좋은 성능을 내는 것을 보임

 

Overview

1. Semi-supervised 음성 인식을 위한 DeCoAR이라는 네트워크 제안

- 많은 양의 레이블이 없는 음성만을 사용하여 효율적이고 context-aware 한 acoustic representation을 학습하는 SSL 프레임워크 제안

 

2. Pretext

- Forward와 backward LSTM을 사용하여 acoustic representation learning 수행

- 이전 및 미래의 context frame에 해당하는 temporal 하게 slicing된 filterbank (Mel-spectrogram) 들을 복원하는 작업을 통해 feature learning 수행

 

3. Downstream task

- Pretext (pre-training)의 parameter들을 고정시킨 뒤 맨 뒷단에 output layer와 CTC loss를 추가하여 fine-tuning 작업 수행

 

Proposed method

전체 모델 그림

DeCoAR

1. Related word - ELMo

- 본 논문은 ELMo로부터 영감을 받아 제안되었음

- $T$ tokens ($w_1,w_2,...,w_T$)가 주어졌을 때, forward language model은 chain rule decomposition을 이용하여 output 확률을 계산하며, 아래와 같음

$p(w_1,w_2,...,w_T)$=$\prod_{t=1}^Tp(w_k|w_1,w_2,...,w_{t-1})$

- 마찬가지로 backward language model은 아래의 식과 같이 미래의 context $w_{t+1},...,w_T$에서 token $w_t$의 확률을 모델링하여 sequence 확률을 계산함

$p(w_1,w_2,...,w_T)$=$\prod_{t=1}^Tp(w_t|w_{t+1},w_{t+2},...,w_T)$

- ELMo는 위의 forward 와 backward language model의 joint log-likelihood를 최대화 하는 방식으로 학습되며 아래의 식과 같음

$\Sigma_{t=1}^T[logp(w_t|w_1,w_2,...,w_{t-1};\Theta_x,\Theta_{LSTM}^\rightarrow,\Theta_s)]$ + $logp(w_t|w_{t+1},w_{t_2},...,w_T;\Theta_x,\Theta_{LSTM}^\leftarrow,\Theta_s)$

- 여기에서 $\Theta_x$는 token representation layer의 parameter이며, $\Theta_s$는 softmax layer의 parameter, $\Theta_{LSTM}^\rightarrow$와 $\Theta_{LSTM}^\leftarrow$는 각각 forward, backward LSTM layer의 파라미터들임

- ELMo에서는 위의 식을 maximizing 하여 최적화 할 수 있고, Speec processing에서는 input data를 acousitc feature $X={x_1,...,x_T}$로 나타내어 위처럼 계산 가능

 

 

2. Proposed DeCoAR (pre-training)

- ELMo의 bidirectionality 방법과 acoustic feature인 frame을 masking 하여 복원하는 reconstruction objective를 결합하여 DeCoAR를 제안함

- Pretext에서는 과거와 미래의 acoustic vector가 주어지면, 이 조각들 (slice)을 예측하도록 모델을 훈련 시킴

- Forward와 backward로 쌓인 LSTM들은 주어진 정답이 없는 $X=(x_1,...,x_T)$ 전체를 input으로 받아 훈련되며, 이 때 $x_T$는 40-dimensional의 log mel filterbank가 사용됨

DeCoAR representation learning

 

- 이렇게 되면, network는 과거와 미래의 매 time step의 $x_t$에 대한 frame들 ($z_t^\rightarrow,z_t^\leftarrow$)을 encode하여 hidden representation을 계산함

- 즉, acoustic feature input인 $(x_1,...,x_T)\in\mathbb{R}^d$이 주어질 때, time step $t$에서 시작하는 각각의 slice들 ($x_t,x_{t+1},...,x_{t+K}$)들의 objective는 아래의 식과 같음

$\mathcal{L}=\Sigma_{i=0}^K|x_{t+i}-FFN_i(z_t^\rightarrow;z_t^\leftarrow)|$

- 여기에서 $[z_t\rightarrow,z_t\leftarrow]\in\mathbb{R}^2h$는 LSTM의 forward와 backward의 concatenated된 states, 즉 BLSTM의 states이며, 

$FFN_i(v)=W_{i,2}ReLU(W_{i,1}v+b_{i,1})+b_{i,2}$

- 는 512 hidden dimension의 position-dependent feed-forward임

- 최종 loss $mathcal{L}$은 전체 시퀀스의 가능한 모든 slice들을 합산 된 것이며, 아래의 식과 같음

$\mathcal{L}=\Sigma_{t=1}^{T-K}\mathcal{L}_t$

 

3. DeCoAR (fine-tuning)

- Fine-tuning은 생각보다 간단한데, 모델이 레이블이 없는 데이터로 DeCoAR의 pre-train을 끝내면, 이 parameter들을 freezing 함

- 이후, reconstruction layer를 제거하고 ($FFN$), 2개의 BLSTM와 CTC loss를 활용하여 fine-tuning을 진행함

DeCoAR fine-tuning 

Experimental setups

1. Data (SSL)

- WSJ와 LibriSpeech 데이터셋 중 하나를 unlabeled data로 간주하여 pre-training으로 사용

 

2. Data (comparison, supervised end-to-end)

- WSJ에서, 30%, 50%, 100%에 대해 label을 주어 ASR 학습

- LibriSpeech에선, 100h, 360h, 460h, 960h에 대해 label을 주어 ASR 학습

 

3. Supervised setup

- Log-mel filterbank feature 사용 (window=25ms, hop=10ms)

- 각 방향마다 512의 hidden dimension을 갖는 6개의 BLSTM 사용

- CTC loss 사용, 72 class

 

4. Semi-supervised setup

- Pre-training: slice size 18 (mask size)으로 두고, reconstruction loss를 사용하여 4개의 BLSTM으로 DeCoAR를 pre-traning

- Fine-tuning: 위에서 얻은 parameter를 freezing, 2개의 BLSTM인 projection layer를 추가하고 CTC loss를 사용하여 tuning함

 

5. Decoding setups

EESEN을 활용한 WFST-based decoding

- CTC label, lexicons, LM 사용 (WSJ의 경우 unpruned trigram LM 사용, LibriSpeech의 경우 4-gram LM 사용)

- AM score는 WSJ의 경우 0.8, LibriSpeech의 경우 1.0으로 설정

- Blank symbol의 prior scale은 두 작업 모두 0.3으로 설정

 

Results

1. Semi-supervised WSJ results

- Fine-tuning with full WSJ results: 

1-1) Pre-training을 하지 않은 supervised의 경우 8.21/5.44%, wav2vec의 (kaen2891.tistory.com/79) 경우 6.84/3.97% 제안한 DeCoAR의 경우 6.30/3.17%의 WER를 획득함

- 상대적 개선률은 각각 42%와 20%임

Semi-supervised WSJ results

2) Fine-tuning with small of WSJ results

- DeCoAR의 feature로부터 fine-tuning된 결과는 supervised learning 된 filterbank보다 훨씬 좋은 성능 달성

- 특히 표 아래의 동일 25, 40에 대해 큰 폭의 차이를 보임

 

2. Semi-supervised LibriSpeech results

- 표 3의 test-clean의 경우, 오직 100시간의 label이 있는 데이터로 fine-tuning을 할지라도, 960시간 전부를 사용한 filterbank, 즉 supervised learning과 비슷한 성능을 보임

- test-other part의 경우, 360시간을 fine-tuning하면 비슷한 성능을 낼 수 있음

- 즉, semi-supervised learning의 우수성을 보이는 표

 

Ablation study

1. Context window size

- Slice 사이즈를 늘리게 되면 masking과 predicting도 그 만큼 더 많이 해야 되는데, 오히려 이것이 성능을 낮추고 학습 시간을 더 소요한다는 단점 발견

- 비슷한 예로, SpanBERT에서는 (자연어 처리 모델) 3.9의 consecutive words 길이인 평균 범위를 마스킹하는 것이 word reconstruction 목표에 이상적이라는 것을 발견하였음

- 본 논문에서는 18개의 slicing size가 best임을 발견함

 

2. Unidirectional versus bidirectional context

- 아래의 표를 통해 양방향/단방향의 성능 차이점에 대해 보임

- 당연히 양방향이 시간이 오래걸리는 만큼 성능이 좋을 것이라는 개인적인 생각

 

Summary

- ASR에 대해 제안 된 준지도 학습 접근법
- Deep contextualized acoustic representation (DeCoAR)을 학습하기 위해 많은 양의 레이블이 지정되지 않은 데이터를 사용하는 deep BLSTM 네트워크 제안
- 이러한 DeCoAR feature는 unlabeled의 representation으로 사용되어 CTC-based E2E ASR 모델을 fine-tuning으로 훈련함
- Supervised learning인 log-mel 필터뱅크 feature 결과 대비 WSJ에서 42 % 상대적 개선을 보였음

 

 

Reference

[1] Ling, Shaoshi, et al. "Deep contextualized acoustic representations for semi-supervised speech recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.

[2] Peters, Matthew, et al. "Deep Contextualized Word Representations." Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018.

728x90
728x90

본 논문의 제목은 wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations [1] 이며, vq-wav2vec 기법에 Transformer [2] 네트워크 사용 및 BERT의 masking을 audio에 적용한 논문이다.

 

Overview

- BERT [3]의 Masked Language Modeling의 기법인 MLM을 raw speech에 사용

- Self-supervised learning

- 단 10분의 labelled 음성 (40개)으로 fine-tuning하여 LibriSpeech의 clean 5.7 / noisy 10.1 Word error rate 기록

 

Proposed

 

wav2vec 2.0 model architecture

1. Feature Encoder $f$

- 다중 CNN 기반의 encoder $f:\mathcal{X}$$\mathcal{Z}$

- 여기에서 $\mathcal{X}$ 는 입력 raw audio이며, ouptut은 latent speech representation인 $z_1,...,z_T$가 $T$ time-steps 만큼 있음

 

2. Quantization module

- Encoder의 output feature는 양자화 모듈 $\mathcal{Z}$$\mathcal{Q}$을 사용하여 $q_t$로 이산화 됨

- Target의 representation을 self-supervised objective 사용

codebook measuring in wav2ec

- Feature Encoder output $z$는 $I$ $\in$$R^{G*V}$  logit에 매핑되며, 그룹 $G$에 대한 $v$번째 codebook 항목을 선택하는 확률은 위의 식과 같음

- Codebook의 word $i$는 $i=$argmax$_jp_{g,j}$에 의해 선택됨

- Backpropagation에서는 Gumbel-Softmax [4] 출력의 실제 gradient가 사용됨

 

 

 

3. Context network (Transformer)

- Transformer network에 $\mathcal{Z}$가 입력됨: $g:\mathcal{Z}$$\mathcal{C}$

- 전체 시퀀스로부터 representation $c_1,...,c_T$를 정보를 capturing 함

 

3.1 Masking

- 전체 오디오 구간 중 6.5를 randomly choice

- 선택된 $z_t$에서 $z_{t+10}$만큼 masking

- 전체 $T$의 49%가 평균 span length인 299ms로 마스킹 됨

 

 

Objective and loss

 

 

1) BERTmasked language modeling (MLM)과 유사하게 latent speech의 일부분을 masking하며, 모델은 quantized latent audio representation을 맞추는 방식으로 트레이닝이 진행됨

- 이렇게 학습한 후 labeled 된 데이터로 fine-tuning 진행

- 마스킹 된 representation에 대한 quantized latent speech representation 식별하는 식은 아래와 같음

$\mathcal{L}$=$\mathcal{L_m}+\alpha\mathcal{L_d}$

 

2) $\mathcal{L_M}$

모델이 실제 quantized  latent speech representation  K distractor 식별해야하는 대비 손실 Lm.

- Distractors는 동일한 발화의 다른 마스킹 된 시간 단계에서 균일하게 샘플링 됨

- 마스킹 된 시간 단계 $t$를 중심으로 컨텍스트 네트워크 출력 $c_t$가 주어지면, 모델은 $q_t$ 및 $K$개의 distractor를 포함하는 $K+1$ 양자화 된 후보 representation ~$q\in{Q_t}$ 세트에서, 실제 양자화 된 잠재 음성 표현 $q_t$ 식별함

- Distractors는 동일한 발화의 다른 마스킹 된 시간 단계에서 균일하게 샘플링되며, $K = $distractor, 즉 방해 요소임

$\mathcal{L_M}$ = -log$\frac{\exp(sim(c_t,q_t)/\mathcal{k})}{\Sigma\bar{q}~Q_t\exp(sim(c_t,\bar{q})/\mathcal{k})}$

- 여기에서 $sim(a,b)$ = $a^Tb/||a||b||$ 임. 즉 식에서는 $c_t$와 $q_t$의 유사성

 

3) $\mathcal{L_d}$

- 각 $G$코드북에서 $V$항목의 동일한 사용을 권장하기 위한 로스 함수이며, 이를 위해 Contrastive loss 코드북에 의존하여 positive 인 예제와 negative 예제를 모두 나타냄

- 즉, 모델이 코드북 항목을 똑같이 자주 사용하도록 장려하는 다양성 손실 $\mathcal{L_d}$임

- 저자는 speech segmentation의 배치에 걸쳐 각 codebook 대한 평균 소프트 맥스 분포 $l$의 엔트로피를 최대화함으로써 각 $G$코드북에서 $V$항목의 동일한 사용을 권장

$\mathcal{L_d}=\frac{1}{GV}\Sigma_{g=1}^G-H(\bar{p_g})$

==> $\frac{1}{GV}\Sigma_{g=1}^G\Sigma_{v=1}^V\bar{p}_{g,v}\log\bar{p}_{g,v}$

- $V$ 항목 $e\in\frac{{R^{Vxd}}}{G}$ 가 있는 $G$ 코드북 또는 그룹이 주어지면, 각 코드북에서 하나의 항목을 선택한 뒤, 결과 벡터 $e_1$을 연결함

 

Downstream task

- 저자는 작업의 어휘를 나타내는 $𝐶$ 클래스에 컨텍스트 네트워크 (Transformer) 위에 무작위로 초기화 된 linear proejction을 추가함
- Librispeech의 경우 character target을 위한 29개의 토큰과 word 경계 토큰이 있음
- CTC [5] 손실을 최소화하여 모델을 최적화함

 

Results

Results

- 10분 fine-tuning의 경우 clean 4.8%, noisy 8.2%의 WER 달성

- 1시간 fine-tuning의 경우 clean 2.9%, noisy 5.8%의 WER 달성

- 10시간 fine-tuning의 경우 clean 2.6%, noisy 4.9%의 WER 달성

- 100시간 fine-tuning의 경우 clean 2.0%, noisy 4.0%의 WER 달성

 

 

 

Results

- 960시간 전체 다 사용시, clean 1.8% noisy 3.3%의 WER 달성

 

 

 

[1] Baevski, Alexei, et al. "wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations." Advances in Neural Information Processing Systems 33 (2020).

[2] Vaswani, Ashish, et al. "Attention is All you Need." NIPS. 2017.

[3] Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).

[4] Jang, Eric, Shixiang Gu, and Ben Poole. "Categorical reparameterization with gumbel-softmax." arXiv preprint arXiv:1611.01144 (2016).

[5] Graves, Alex, et al. "Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks." Proceedings of the 23rd international conference on Machine learning. 2006.

728x90
728x90

본 논문의 제목은 vq-wav2vec: Self-Supervised Learning of Discrete Speech Representation [1] 이며, vector quantizing 기법 중 codebook을 이용한 online K-means [2], Gumbel-Softmax Trick [3]을 이용하여 continuous 한 data를 discrete 하게 만들어서 복원에 사용한 논문이다. 

 

Overview

- raw audio 세그먼트로부터 discrete representation 학습

- Gumbel-Softmax [3] 또는 온라인 k-mens clustering [2] 사용하여 continuous (dense)한 representation을 양자화 함
- Discretization을 통해 NLP (예: BERT)의 알고리즘을 직접 적용하는 것을 보임

 

Proposed

 

1. Model flow

vq-wav2vec

- Encoder내의 2개의 CNN의 역할 $f:\mathcal{X}$$\mathcal{Z}$, 이를 통해 raw audio segment로부터 representation 추출

- 양자화 모듈: $q:\mathcal{Z}$⟼ $\mathcal{\hat{Z}}$ 을 통해, continuous한 representation을 discrete 하게 변경

- Context network (Decoder):  $g:\mathcal{\hat{Z}}$⟼ $\mathcal{C}$를 통해, 특징 추출 및 aggregation

 

 

2. Encoder

 

Encoder part

- raw audio $X$를 dense representation $Z$로 mapping

- 30ms 단위의 세그먼트로 커팅 하여 encoder의 CNN인 $f$ 통해 feature extraction을 통해 $z$ 추출, 이 때 CNN의 stride는 10ms단위로 진행

- wav2vec과 동일

 

3. Quantizer

- $z$는 $\hat{z}$로 양자화 되는 것이 해당 네트워크의 목적

- Quantizer는 fixed size codebook $e\in{\large{R}}^{V*d}$로부터 $z$를 $\hat{z}=e_i$로 변환함

Quantizer used Gumbel-Softmax, K-means clustering

1) 이 때, One-hot representation의 argmax 값이 미분 가능하도록 변환해주는 Gumbel-Softmax 사용

2) 혹은 VQ-VAE에서 사용한것과 같이 유사한 online K-means clustering 사용 가능

- 해당 논문에서는 2개에 대해 모두 실험

 

 

4. How to pre-training the BERT in vq-wav2vec

 

- Gumbel-Softmax 를 이용하여 얻은 $\hat{z}$로 BERT 학습

- 연속적인 raw audio를 이산화된 speech 토큰의 범위를 마스킹하여 BERT 훈련

- 즉, codebook을 통해서 나온 embedded codebook을 BERT의 입력으로 주어서 음성을 학습함

- 음성을 토큰처럼 일정 길이로 자르고, encoder를 통과하여 quantization하여 나온 codebook에 BERT의 기법인 MLM (Masked Language Modeling) 기법을 사용한 뒤 학습함

 

Results

- log-mel spectrogram 사용한 것 보다 제안한 Self-supervised 기법의 vq-wav2vec의 성능이 좋았음

- 또한, quantization을 통해 discretization 된 음성 token을 활용하여 BERT처럼 학습 시킨 모델의 성능이 가장 좋았음

- 마지막으로, quantization에서 고려한 VQ-VAE에서 사용한 online K-means clustering보다 Gumbel-Softmax Trick의 기법이 더 성능이 좋았음

 

 

 

[1] Baevski, Alexei, Steffen Schneider, and Michael Auli. "vq-wav2vec: Self-Supervised Learning of Discrete Speech Representations." International Conference on Learning Representations. 2020.

[2] van den Oord, Aäron, Oriol Vinyals, and Koray Kavukcuoglu. "Neural Discrete Representation Learning." NIPS. 2017.

[3] Jang, Eric, Shixiang Gu, and Ben Poole. "Categorical reparameterization with gumbel-softmax." arXiv preprint arXiv:1611.01144 (2016).

728x90
728x90

본 논문은 2개를 확실히 다 읽어야 이해가 가능한데, [1] [2] 이다.

 

Overview

 

forward, backward

Gumbel-Softmax는 간단하게 정리하면 아래와 같다.

1) sampling을 하고 싶은데, neural network에서 backpropagation시에 불가능하다. 이를 해결하기 위해 Gumbel-Max Trick을 사용하여 backpropagation이 흐르도록 해주자

2) argmax를 사용하였더니 backpropagation이 흐르지 않는다. 이를 어떻게 해결할까? Softmax를 취하여 해결함과 동시에, continuous하게 relaxation을 하기 위해 temperature $\tau$를 쓰자

 

Method

 

Gumbel-Max Trick & Gumbel-Softmax Trick

1. Gumbel-Max Trick

1) 이전 VQ-VAE에서는 online K-means를 사용하여 codebook을 learning 시켜서 reconstruction하였고, 이 때 reshape된 input이 (32,32,64)였다. 여기에서 이어서 함

- Encoder가 logit을 뱉으면, categorical 한 (32,32,64)이 됨

- 이 logit을 다음으로 넘어가려면 one-hot으로 sampling 해야됨

- Categorical한 distribution이 나오면, 이 중 가장 큰 값이 one-hot vector가 되겠지만, one-hot vector가 항상 deterministic하다는 단점이 있음

 

2) Sampling 사용 이유

- 왜 sampling을 하는가?

- 벡터를 quntization만 하게 되면 noise가 필요 없고 샘플링도 할 필요 없지만, enc-dec가 배우는 도중에 sampling을 하게 되면 확률적으로 노이즈에 의해 다른 vector들이 decoder 입장에서 학습이 잘 될 수 있음

- 이로 인해 loss에 의해 더 많이 뽑히게 되면서 빠르게 수렴할 수 있다는 장점이 있음.

 

3) Sampling 사용이 아닌 deterministic한 one-hot vector만 사용하게 될 경우 

- Sampling 기법이 없으면 매번 큰 애들만 하게 되니까, 그 representation이 만약 정답이 아니라면, optimal solution을 못 구할 수 있다는 우려 및 단점이 있음

- 즉, sampling을 하면 이를 해결할 수 있음. 따라서, noise를 첨가한 뒤, argmax를 취하면 확률적으로 다른 애가 one-hot vector가 될 수 있음

 

4) Method

- 첫번째로, Sampling 된 것을 one-hot vecto로 사용하고 싶은데, sampling 을 하면 gradient가 흐르지 않음

- 이것을 흐르게 하는게 gumbel-max tirick

- Motivation은 Logit에 uniform한 noise를 더하고, 제일 큰 놈을 sampling 하면, 이것이 sampling 한것이랑 같지 않은가?

- 이후 argmax로 뽑으면 되는것이 아닌가? 라는 아이디어임.
- 여기에 Gumbel noise를 넣어야 categorical에서 sampling한 것이랑 Gumbel noise를 합한 뒤 max 인 것을 뽑은 것이 같다고 증명되어 있음

Gumbel Noise


- 이 내용을 사용하고 싶은 것이 이 두 논문임 [1-2]

2. Gumbel-Softmax Trick

- 위의 Gumbel-max trick으로 sampling의 문제인 미분불가능 문제를 해결하면, argmax operation 문제가 남아 있음

- Argmax는 neural networks에서 미분 불가능. 즉 역전파가 흐를 수 없음

- Argmax 문제를 제거하기 위해, Softmax 트릭을 이용하여 제거함

- 즉, Softmax가 argmax를 제거하기 위해 나온 것이므로 (Softmax: 미분 가능, Argmax: 미분 불가능)

 

정리하면, 

- Argmax는 backpropagation이 안되고, Softmax는 이러한 argmax를 제거함과 동시에 미분이 가능하도록 함

- 논문에 나와있는 $\tau$는 temperature임

- 즉, Continuous 하게 relaxation을 하기 위해 temperature가 들어옴

Temperature $\tau$의 역할

- 위의 그림 처럼, $\tau$값이 너무 높으면 무작위 sampling을 하는 역할을 하게 됨

- 반면에, 너무 낮게 되면 One-hot vector처럼 categorical한 값을 갖게 됨

- 논문에서는 처음에 낮은 값에서 시작하여 maximum 2.0값으로 annealing하여 종료함

- 논문에서는 처음에 높은 값에서 시작하여 (maximum 2.0) 낮은 값(0 값 아님)으로 annealing 하여 종료 (수정)

- 이를 통해 아래의 식처럼 Sampling을 자유 자제로 함과 동시에 codebook에서 online K-means로 낮은 vector의 개수(max: 64) 밖에 가지지 못했다면, Gumbel-Softmax Trick을 활용하여 더 많은 값을 사용할 수 있다고 밝힘

 

- 해당 방법을 통해 quantization 기법을 활용함

 

 

[1] Jang, Eric, Shixiang Gu, and Ben Poole. "Categorical reparameterization with gumbel-softmax." arXiv preprint arXiv:1611.01144 (2016).

[2] Maddison, Chris J., Andriy Mnih, and Yee Whye Teh. "The concrete distribution: A continuous relaxation of discrete random variables." arXiv preprint arXiv:1611.00712 (2016).

728x90

'Paper Review > Unsupervised, Self & Semi-supervised' 카테고리의 다른 글

wav2vec 2.0 리뷰  (0) 2021.04.12
vq-wav2vec 리뷰  (2) 2021.04.11
VQ-VAE 리뷰  (0) 2021.04.11
wav2vec 리뷰  (0) 2021.04.11
Contrastive Predictive Coding (CPC) 리뷰  (1) 2021.04.11

+ Recent posts