WaveNet 리뷰

Short Summary

  • 적은 데이터셋과 단일 모델만으로 다양한 오디오 파형을 생성할 수 있어서 TTS, 음악, Voice Conversion 등 분야에서 SOTA(state-of-the-art)를 기록한 WaveNet은 화자의 Identity나 음악의 장르 등을 특징($h$)으로 추가하면 특징에 맞는 output을 산출할 수 있는 확률적 모델이자 자기회귀(AR) 모델이다.

    Causal Convolution

  • 이전에 신호처리와 Image Segmentation에 사용되던 Causal Convolution은 많은 레이어를 필요로했고, Receptive Field를 확장시키기 위해서는 큰 필터가 필요하여 연산에 많은 비용이 들었다. WaveNet은 이러한 문제들을 Dilated Convolution을 사용하여 Receptive Fields를 효율적으로 넓힐 수 있었다. 그 결과 Causal Convolution보다 연산비용을 줄이고 학습속도를 시퀀셜 모델을 처리하던 RNN, LSTM보다 획기적으로 줄일 수 있었다.

  • 기존 16bit 정수형 시퀀스로 저장되던 음성신호들의 연산에는 각 레이어마다 65,536개의 확률 계산이 필요했는데, $\mu$-law companding transformation 방법을 사용하여 256개의 신호로 양자화시킬 수 있었다. Activation Unit Gate (LSTM에서의 input게이트와 유사) 를 사용하여 linguistic features (주파수, 음의 높낮이, 숨소리, 세기 등)들을 재현할 수 있었다.

Abstract

  • WaveNet은 음성의 파형을 생성하는 모델.
  • 과거의 음성 데이터 $x_1, x_2, … , x_{t - 1}$ 가 주어졌을 때 $t$ 시점을 기준으로 $x_t$ 라는 데이터가 음성으로써 성립할 확률 $P(x_1, …, x_{T-1}, x_T)$ 을 학습한 확률론적(probabilistic) 모델이자 자귀회귀(autoregressive) 모델이다.
  • TTS(Test-To-Speech)에 적용할 때는 SOTA(당시 2016년)를 달성했고 영어와 중국어에서 사람의 음성만큼 자연스러웠음.
  • WaveNet은 다양한 화자의 음성적 특징들을 동일한 정확도로 감지할 수 있음.
  • 음악을 학습했을 때도 사실적인 음악 파형들을 생성했음.

Waveform을 결합확률분포로 표현 -> Conv Layer를 쌓아서 모델링하겠다.

Introduction

WaveNet은 PixelCNN 구조를 기반으로 한 Audio 생성모델이다.

WaveNet의 특징

  • WaveNet은 이전에는 TTS 분야에서 불가능했던 자연스러운 음성 신호를 생성할 수 있다.
  • long-range temporal dependencies를 해결하기 위해 dilated causal convolution 을 개발했으며, receptive fields를 매우 크게 넓힐 수 있었다.
  • 단일 모델로 다양한 음성을 생성할 수 있다.
  • 적은 음성인식 데이터셋으로도 좋은 성능을 낼 수 있으며 TTS, 음악, Voice Conversion 등 여러 분야에 응용될 수 있다.

WaveNet

자세히 보기

Context-Dependent-Pre-Trained-Deep-Neural-Networks-for-Large-Vocabulary-Speech-Recognition

Large-Vocab 음성인식을 위한 문맥의존적 사전학습 심층 신경망 - 음성인식에서 딥러닝이 고전 모델을 이긴 첫 사례

  • 기존에 잘 작동하는 모델들(특히 CD-GMM-HMM)은 적은 수의 레이어만을 가지고 있었기 때문에 역전파 알고리즘과 오토인코더 학습만으로 좋은 결과를 얻을 수 없었기에 실제 사용에 있어서 ASR(Automatic Speech Recognition)의 성능은 인간 수준에 미치지 못했다.
  • CD-DNN-HMM은 CD-GMM-HMM에서 HMM구조와 심층신경망을 결합한 형태로, 비지도학습 방식의 사전학습 HMM 모델의 정답을 DNN의 Training Label로 활용하는 준지도학습 방식의 딥러닝모델이다. 사전학습 때에는 심층 신뢰망(BDN)을 모방하여 오토인코더로 비선형적인 패턴을 학습하며 이후에는 BDN의 구조를 버리고 라벨링된 데이터를 가지고 Fine-Tuning을 진행하며 학습을 진행한다.
  • 적은 데이터만으로도 적은 Training Error를 기록하며 CD-GNN-HMM보다 훨씬 나은 성능을 입증했으며 딥러닝 모델로 시퀀셜한 데이터를 정교하게 학습할 수 있음을 입증했다.

어떤 문제가 있는지, 그 문제를 풀기위한 기존의방법, 기존 방법의 한계와 이 논문의 방법은 어떻게 문제를 해결했는지

Abstract

해당 논문에서는 대규모 단어집합의 음성인식(LVSR)을 위해 새로운 CD(Context-Dependent) 모델을 제안한다. 해당 모델은 DNN-HMM(Deep Neural Network - Hidden Markov Model) 구조로 되어있고, Senone(음성 인식의 term)의 분포를 출력하도록 훈련한다. 또한 CD-DNN-HMM을 LVSR에 적용하는 절차를 설명하고 고전적인 GMM-HMM(Gaussian Mixture Model) 구조의 성능을 크게 능가하는 것을 입증한다.

Introduction

최근 MMI(Maximum Mutual Information) Estimation, MCE(Minimum Classification Error) Training, MPE(Minimum Phone Error) Training, large-margin techniques, HMM(Hidden Markov Model), CRF(Conditional Random Fields, 새로운 음향모델) 등 주목할만한 발전이 있었지만, 그럼에도 불구하고 실제 사용에 있어서 ASR(Automatic Speech Recognition)의 성능은 인간 수준에 미치지 못했다.

최근 촘촘하게 직결되어 있고 많은 hidden layer를 가진 신뢰망(Belief Nets)에 주요한 발전이 있었다. 그 결과 심층신뢰망은 데이터에서 복잡한 통계적 패턴을 포착할 수 있는 비선형적인 특징 검출기의 계층을 학습할 수 있었다. 심층신뢰망의 학습 알고리즘은 우선 각각 레이어의 가중치를 순전히 비지도(unsupervised)적인 방법으로 개별적으로 초기화하고 라벨링된 데이터로 전체 네트워크를 미세조정한다. 이러한 준지도(semi-supervised)적인 접근은 음성, 오디오, 텍스트, 이미지 데이터의 분류 등을 포함한 수많은 어플리케이션에 효과적이라는 것이 입증되었다. 이러한 발전은 사전학습된 신경망과 ASR을 위한 다른 딥러닝 테크닉들을 기반으로 한 음향모델(acoustic model) 개발에 흥미를 불러일으켰다. 예를들어 문맥독립적인 사전학습된 심층신경망 HMM 하이브리드 구조는 최근에 전화인식 분야에 제안되었고 매우 경쟁력있는 성능을 달성했다. 심층신경망의 가중치를 초기활 때 사전학습을 사용하는 것은 문헌에서 논의된 두 가지의 잠재적인 이점이 있다. 사전훈련은 테스트케이스가 반복되지 않을 정도로 방대한 데이터셋이 있을 때에도 더 많은 데이터에 대해 일반화의 오류가 줄어들지 않는 효과를 가진 데이터 의존적인 독특한 종류의 정규화 방식으로 보자는 근거가 제시되었다. 입력들의 분포에 대한 정보를 사용함으로써 정규화를 통해 비교적 적은 라벨링 데이터로도 매우 표현력이 뛰어난 모델을 학습시킬 수 있다. 또한 다른이들도 추후의 최적화(전통적으로 SGD)를 목적으로 한 사전훈련과 일치한다는 증거를 보고했다. 결론적으로 사전훈련된 신경망은 사전훈련되지 않은 신경망보다 낮은 training error를 달성한다. 이러한 효과는 특히 깊은 오토인코더에서 두드러진다.

심층신뢰망은 최초의 사전훈련방식으로 연구된 방법이다. 깊은 오토인코더들이 사전훈련 심층신뢰망으로 효율적으로 학습될 수 있다는 것이 밝혀지고, 더 깊은 신경망에 대한 관심이 되살아났다. 많은 연구자들 역시 사전훈련이 많은 문제들과 모델 아키텍쳐, 심지어 거대한 데이터셋으로 훈련된 하나의 싱글레이어를 가진 신경망의 경우에도 도움이 될 것이라고 보고했다. 우리는 비지도학습 방식의 사전훈련 테크닉들을 많은 히든 레이어를 가진 신경망을 학습하는데 편리하고 강력한 방법이라고 보았다.

이러한 경유로 본 논문에서는 사전훈련된 심층신경망(DNN)과 문맥의존적(CD) 히든 마르코프 모델 사이의 하이브리드 구조인 새로운 음향모델을 제안한다. 본 모델에 사용된 사전학습 알고리즘은 심층신뢰망(DBN)이지만, dynamic Bayes net과 구별하고, 사전훈련이 끝난 후에 심층신뢰망을 버리고 오직 인식가중치를 유지하고 훈련하는 것과 구별하기위해 DNN-HMM이란 용어로 축약할 것이다. CD-DNN-HMM은 심층신경망의 힘과 CD-HMM의 시퀀셜한 모델링 능력을 결합한다. 즉, 모델의 주요 요소를 설명하고 파라미터를 학습하는 과정을 설명하며 CD-GMM-HMM의 성능을 뛰어넘는 것을 입증할 것이다.

자세히 보기

Attention is all you need - Transformer 논문 요약

기존에 지배적이던 모델은 RNN이나 CNN에서 Attention Mechanism을 적용한 모델들이다. 구글이 이번 논문에서 발표한 Transformer는 Attention만으로 인코더와 디코더를 구성함으로써 보다 적은 계산량으로 높은 성능을 내는 모델이다. RNN모델은 문장이 길어질수록 메모리의 제약때문에 앞에 나온 sequence들을 반영하지 못한다는 단점이 있고, 기존 RNN을 이용하면 “The animal didn’t cross the street because it was too tired.” 라는 문장이 있을 때 it이 무엇인지 알아낼 수 없었다. 하지만 Transformer의 self-attention 기법을 사용하면서 그것이 가능해졌다.

Model Architecture

트랜스포머의 가장 주요한 특징은 벡터간 계산이 필요하던 것을 행렬로 바꾸어 병렬처리를 가능하게 했다는 것이다 . Positional encoding으로 단어들의 위치정보를 계산하였으며, residual connection을 사용하여 레이어를 정규화 하면서 안정성을 더해주었다. 또한, 인코더의 input과 output의 차원이 같기 때문에 여러 인코더를 배치할 수 있다는 특징이 있다. 디코더 역시 인코더와 비슷하지만, 다른점은 마스킹을 적용한다는 것이다. 아직 나타나지 않은 단어에 대한 어텐션을 배재시키기 위함이다. 멀티헤드 어텐션에서는 key, value, query로 연산을 하고 피드포워드를 통해 행렬을 벡터로 변환시킨 후 리니어와 소프트맥스 레이어를 통해 벡터를 단어로 변환시킨다.

소프트맥스함수를 거친 이후에 label smoothing 기법이 사용되는데, 예를들어 thank you 라는 시퀀스가 한국어로 ‘고마워’ 와 ‘감사합니다’ 라는 라벨로 학습되어야 할 때, 고마워와 감사합니다는 전혀 상이한 벡터이기 때문에 학습에 지장이 생길 수 있음. 그러나 원핫벡터가 아닌 레이블 스무딩을 이용하게 되면 정답에 가까운 벡터값은 1에 가까운 실수로, 정답에 먼 벡터값은 0에 가까운 실수로 표현되기 때문에 어느정도 보완이 될 수 있음.

자세히 보기