본문 바로가기

TTS

FastSpeech: Fast, Robust and Controllable Text to Speech

 

 

Transfer learning 관점에서 볼 때 이 논문에서의 source task합성기이며, target task alignment가 정확하고 합성시간이 빠른 합성기이다. 이 논문에서는 두가지 목적을 위해 transfer learning을 한다. 첫째는 추론 시간 단축이고, 둘째는 alignment 개선이다.

 

1) 먼저 추론 시간 단축 측면에서 설명하겠다. 이 합성기 이전의 합성기들은 비록 CNN이나 Transformer 구조를 사용하여 훈련 시간을 단축할 수 있다고 해도 추론 시간은 단축하지 못했다. 왜냐하면 합성기의 입력 텍스트와 출력 프레임의 alignment를 추론 시간에 프레임 바이 프레임으로 auto-regressive하게 예측해야 했기 때문이다. 하지만 이 논문에서는 ‘Feed-forward’하게, auto-regression 없이, 여타 비 시계열 task들처럼 예측을 한다. 이것이 가능한 이유는 source task인 합성기로부터 transfer learningduration predictor 모듈이 단번에 alignment를 예측하기 때문이다. Duration predictorsource task 합성기에서 transfer learning하는 방법은 다음과 같다.

 

A.    Target taskFast speech TTS의 훈련에 앞서 Tacotron이나 Transformer 등 여타 end-to-end TTS source network로 먼저 훈련된다.

B.    Source task 합성기에서 예측한 alignmentground truth로 두고 1D convolution 2층과 linear 1층으로 된 duration predictor 모듈이 MSE loss로 훈련된다. , transfer learning source network의 출력을 정답으로 활용해 target network의 일부 모듈을 학습하는 케이스라 할 수 있겠다.

 

2) 두번째로, alignment 개선 측면에서 설명하겠다. 명확히 해두자면, ‘alignment 개선이라함은 두가지 측면에서 하는 말인데, 첫째로, 합성 시 단어의 삭제, 반복 등 발화 내용이 입력 텍스트와 다른 오류가 제거되었으며, 둘째로, 발화의 속도에 대한 임의의 컨트롤이 가능해졌다. Target taskFastSpeech에서 source task Transformer TTS보다 alignment개선된 이유 source taskalignment 출력을 그대로 target task의 훈련에 사용하지 않고 이것을 2voting으로 aggregation하는 방법을 고안해냈기 때문이다.

 

  •   오탈자 오류 개선

A.    Duration extractor를 사용하여 multi-head로 추출된 Source TTSalignment로부터 가장  단조 증가에 가까운 alignment를 선택한다 (voting).

B.    A에서 뽑힌 단조 증가 alignment를 한 프레임이 하나의 음소만을 가리키는 hard-attention으로 바꾸었다. (<-> 전통적으로는, 하나의 프레임이 모든 음소들에 대해 조금씩 가리키는 soft attention이다)

 

  • 음소 Duration 조절 가능해짐

Duration predictor가 음소 별 duration 을 예측함으로써 이 값에 상수를 곱해 음소의 duration을 조절하는 것이 가능해졌다..

 

Reference

Y. Ren et al., “FastSpeech: Fast, Robust and Controllable Text to Speech,” NeurIPS2019, 2019.