일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- deep daiv. 2주차 팀 활동 과제
- deep daiv. week4 팀활동과제
- deep daiv. WIL
- deep daiv. project_paper
- deep daiv. week3 팀활동과제
- Today
- Total
OK ROCK
[Audio] TACOTRON: Towards End-To-End Speech Synthesis 본문
Abstract
- TTS(Text-To-Speech)에는 여러 도메인의 지식이 필요한 복잡한 분야임
- Text Analysis(텍스트 분석)
- Acoustic model
- Audio Synthesis module(음성 합성 모듈)
- Tacotron은 텍스트로부터 바로 발화를 합성하여 생성하는 end-to-end방식의 TTS생성 모델임
- sequence-to-sequence를 수행하기 위한 몇가지 주요 기술을 제시함
Introduction
통합된 end-to-end TTS시스템의 장점들은 다음과 같다.
- <text, audio>쌍의 데이터로만 학습하기 때문에 인간의 주석처리같은 노동적인 feature engineering작업을 최소화함
- 발화자와 단어의 더 높은 수준의 feature와 특성을 반영할 수 있음
- 단일 모델만으로 multi-stage 모델보다 더 robust하게 작동함
- 새로운 데이터에 더 적응적(adaptable)함
TTS분야의 특징은 다음과 같다.
- 연속적인 output은 보통 input보다 훨씬 길게 출력된다.
- 이러한 특성 때문에 결과상의 예측 오류가 빠르게 누적되어 문제가 발생한다.
<주요핵심>
end-to-end 생성형의 Tacotron은 Seq2Seq모델을 기반 삼아 attention 메커니즘을 결합한 모델이고,
텍스트 input(<text, auio>pair)로부터 raw spectrogram을 바로 생성할 수 있다. 이것은 후에 음파(waveform)으로 변환
Related Work
- WaveNet(van den Oord et.al., 2016) : TTS에서 잘 작동하는 좋은 성능의 음성생성 모델이다. 하지만 샘플 수준의 자기 회귀적인 특성때문에 속도가 느리고, 샘플 수준의 언어적 특징 조건이 필요하기 때문에 end-to-end방식이 아니다. 즉, vocoder와 acoustic 모델로 중간 과정에 대체해야만 한다.
- DeepVoice(Arik et al., 2017) : TTS 파이프라인 각각의 부분을 neural network로 대체하였지만, 독립적으로 학습되어야 하고 end-to-end환경에서는 이런 특징이 학습이 어렵다는 특징이 있다.
- Wang et al.(2016) : 가장 먼저 seq2seq에 attention을 이용하여 이용하여 end-to-end TTS모델을 만들었지만, 이 모델은 pre-trained hidden Markov model(HMM)이 요구된다는 특징이 있다. 이것은 굉장히 많은 alignment가 학습되어야 한다.
- Char2Wav(Sotelo et al.,2017) : 문자 수준에서 학습가능한 독립적인 end-to-end 모델을 개발하였다. 하지만, sampleRNN neural vocoder를 사용하기 전에 여전히 vocoder parameter를 예측해야하고, 즉 sampleRNN이 seq2seq와 분리되어 사전학습되어야 한다.
최종적으로 vanila seq2seq패러다임에서 핵심적인 수정을 하여 우리의 모델 tacotron을 개발했다. 이따 부연설명이 나오지만, 문자 수준의 input에서 vanila seq2seq모델은 좋은 성능을 보여주지 못한다.
Model Architecture
앞서 언급한 것 처럼, Tacotron의 backbone은 attention이 결합된 seq2seq모델이다. 개괄적인 모델 구조는 아래 그림과 같이 왼쪽이 Encoder, 중간이 attention 메커니즘, 오른쪽이 Decoder, 그리고 마지막 윗부분이 Griffin-Lim 복원 알고리즘으로 구성되어 있다.
각각의 과정을 순서대로 알아보도록 하자.
입력 텍스트를 문자 단위로 임베딩을 한 문자 임베딩(Character Embedding)은 Encoder로 들어가서 Fully-Connected와 Dropout 레이어로 구성된 Pre-net을 거치게 된다.
그 이후에 CBHG라는 모델을 거치게 되는데 아래에서 더 설명한다.
3.1. CBHG module
CBHG모듈은 크게 convolution bank, highway, GRU(gated recurrent unit)으로 구성되어 있다.
첫번째로 Convolution Bank
이것은 1-D convolution 필터들의 K개의 집합이라고 보면 된다. 입력으로 들어가는 sequence(text,audio pair)의 시간 축을 따라서 1-D 컨볼루션을 하게 되는데, 이때 kernel 사이즈는 여러 종류를 사용한다.(1부터 16까지)
각각의 필터는 local하고 contextual한 정보를 추출하게 되고, uni-grams, bi-grams, 으로 키우다가 K-gram까지 시키는 효과와 유사하다.(?)<< 자연어처리에서 배웠던 개념같은데 잘 기억안남)
bank를 거친 결과를 합쳐서(stack) max pooling을 수행하는데, 이때 stride를 1로 지정하면서 원래의 시간 해상도를 보존할 수 있다.
두번째로 Highway Network
Gating구조를 사용하는 Residual 네트워크이다. Residual connection은 resnet에서 고안된 기법인데
$Residual(x) = R(x) + x$로 간단하게 요약할 수 있다.
highway 네트워크에서는 이것을 조금 다르게 구성해서 Gating을 통해 현재 잔차의 비율을 모델이 자동으로 얼마만큼 잔차로 사용할지를 결정하게끔 구성한다.
$Highway(x) = T(x) * H(x) + (1-T(x))*x$
여기서 사용한 $T(x)$는 Transform Gate라고 하고 bias를 무조건 -1같은 음수로 초기화한다고 한다.(?)
정리하면 그냥 residual connection과 아이디어는 유사하지만, T(x)와 같은 gate를 사용해서 잔차의 비율을 자동적으로 결정하게 하는 역할이 추가된 네트워크이다.
highway network를 거친 이후에, 최종적으로 Bidirection GRU에 들어간다.
세번째, GRU(Gated Recurrent Unit)
bidirenctional하게 즉, forward 시퀀스와 backward시퀀스 동시를 concat하여 출력한다. 즉 Bidirectional RNN이다.
이러한 모델 구성은 기계번역(machine translation)분야에서 사용하는 모델의 개괄적인 구조와 비슷하게 보이지만, 주된 차이점은 non-causal한 convolution을 사용한다는 점과 batch norm의 추가, 그리고 stride=1짜리 max pooling이다. 이러한 수정은 일반화를 향상시켰다.
3.2. Encoder
Encoder의 목적은 텍스트 표현을 잘 추출하는 것이다.
인코더의 input은 문자 시퀀스이고, 이 문자는 각각 one-hot vector로 되어 있으며 합쳐서 연속적인 벡터로 임베딩하여 matrix폼으로도 표현할 수 있다.
그다음 각각의 임베딩에 non-linear 변환 즉, Pre-Net을 적용한다. 드롭아웃이 있는 병목층(bottleneck layer)으로 구성되어 있고, convergence능력과 일반화성능을 향상해준다.
이때, 앞서 설명한 CBHG 모듈이 PreNet의 출력값을 마침내 attention에 쓰일 Encoder Representation context로 바꿔주는 역할을 하는 것이다.순서상 그니까 input -> word embedding(character embeddings) -> Encoder(Pre-net) -> CBHG -> Encoder representations -> 이렇게 됨
3.3. Decoder
content-based tanh Attention decoder를 사용한다.
이게 무슨 말이냐면, recurrent layer들을 이용해서 attention의 query를 각 디코더의 시간단계에 따라 생성하고, encoder의 결과값인 context vector를 attention RNN과 합쳐서 Deocder의 input으로 넣는다는 뜻이다.
Decoder에서는 GRU(gated Recuerrent unit)의 stack(묶음)을 사용하고 residual connection도 추가되어 있다.
참고로 residual connection을 사용함으로써 수렴 속도를 향상시켰다.
Raw Spectrogram을 생성(예측)하기 위해 음성신호와 텍스트 간의 나열이나 배열을 학습하는 것이 중요하고, 이것은 seq2seq를 backbone으로 사용하게 된 동기이기도 하다.
디코더 타겟(raw spectrogram)을 생성하기 위해 간단한 fully-connected layer들을 사용하였다.
중요한 트릭은 각각의 디코더 단계에서 여러개의 겹치지 않는(noon-overlapping) output frame들을 생성할 수 있었고 이것이 이웃하는 음성 신호와 문자간의 프레임에 대응할 수 있다는 것이다.
3.4. Post Processing Net and Waveform Synthesis
post-processing net을 이용해서 seq2seq의 타겟을 waveform으로 합성가능한 형태로 변환시킨다.
그 후, Griffin-Lim 알고리즘을 이용해서 디코더의 출력값(raw spectrogram)을 마침내 waveform형태로 합성할 수 있다. 참고로 이것은 미분가능(학습가능한 가중치가 없음)하기 때문에, 이 단계에서는 loss가 필요없다고 한다.
4. Model Details
r (output layer reduction factor) = 2 사용
배치사이즈 32사용
adam optimizer, learning rate decay 사용
L1-loss를 seq2seq decoder와 post-processing net단계에서 사용하고 동일한 가중치를 갖고 있음.
5. Experiments
North American English 데이터셋으로 실험 진행
(이 데이터셋은 남자 전문 발화자의 24.6시간짜리 음성 데이터가 포함되어 있음, 예를 들어 16이라고 말하면 text로 sixteen이라고 pair로 구성되어 있는 형태)
5.1. Ablation Analysis
[1] vanila seq2seq model(a) & Tacotron(c)
: 두 모델 다 인코더와 디코더의 RNN layer를 2개로 두고, 각각의 layer는 256개의 GRU cell로 구성되어있다. (LSTM으로 변경해보았으나 결과는 비슷했다고 함)
pre-net이나 post-processing net은 사용하지 않았고 ,아래의 왼쪽 그림 결과를 보면 (a)에서 더 불쌍한 결과를 얻게됨(선이 흐리고 길이가 더 길어서 같은 능력 대비 시간이 더 오래걸림)
[2] CBHG Encoder를 2개 layer짜리 residual GRU인코더로 바꾸었을 때(b)
더 잡음 발생이 심해졌다. CBHG encoder가 과적합을 감소시키고 길고 복잡한 구문에 더 잘 일반화시킬 수 있다는 결과를 도출하였다.
[3] Post-processing net(오른쪽 그림) 유무
있는게 더 좋았다.(better resolved harmonics)
5.2. Mean Opinion Score(MOS) Tests
6. Discusion
- integrated end-to-end generative TTS모델, tacotron 제안
- 매우 간단한 waveform 합성 모듈(griffin-lim)을 이용하면서 3.82 MOS 점수 달성
- inference가 더욱 빠르고 샘플 수준의 자기회귀적인 방법 사용
- 이전 연구들과 달리, HMM aligner와 같은 복잡한 구성요소나 hand-engineered적인 언어 특징 추출의 노동이 필요하지 않음
- output layer, attention modue, loss func, 그리고 Griffin-Lim based 합성기는 모두 이미 발전에 무르익었다.(이미 성능이 다 좋다) 예를 들어 griffin-lim의 출력값은 잘 들리는 인공물임이 이미 알려져있다. 따라서, 우리는 더 빠르고 스펙트로그램 생성과 변환의 더 높은 퀄리티 획득을 목표로 연구를 계속 할 예정이다..
References
[1703.10135] Tacotron: Towards End-to-End Speech Synthesis (arxiv.org)