More Related Content
Similar to Interspeech 2020 読み会 "Incremental Text to Speech for Neural Sequence-to-Sequence Models using Reinforcement Learning" (12)
More from Shinnosuke Takamichi (20)
Interspeech 2020 読み会 "Incremental Text to Speech for Neural Sequence-to-Sequence Models using Reinforcement Learning"
- 1. Incremental Text to Speech for Neural
Sequence-to-Sequence Models using
Reinforcement Learning
NAIST D3
YANAGIT TOMOYA
1©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
- 5. 今回の論文
Incremental Text to Speech for Neural Sequence-to-Sequence Models
using Reinforcement Learning
三行まとめ
①End-to-end TTSによる逐次音声合成
②入出力長制御に強化学習を適応
③入出力長と音声品質の制御を可能に
5©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
- 7. 関連研究(1/3)
Incremental Text-to-Speech Synthesis
with Prefix-to-Prefix Framework
通常のEnd-to-End音声合成をIncremental TTSに適用
①テキストから音響特徴生成 (Encoder-decoder with attention)
②音響特徴から音声生成 (wavenet vocoder)
二つの方針
① 音響特徴推定時、必ず1単語待つ(wait-1-policy)
② k単語分の情報を先読みする戦略 (lookahead-k-policy)
[Ma, et al., 2020]
7©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
- 8. 関連研究(2/3)
Incremental Text-to-Speech Synthesis
with Prefix-to-Prefix Framework
音響特徴生成の制御:アテンションとstop flagを使用
例:look-ahead1=1, sequence: [ [t,h,i,s,i,s,a,e,x,s,a,m,p,l,e] ]
encoder_hidden=Encode(first_seq. + look-ahead);
k=0
for True:
attn._wirhgt = attention(encoder_hidden)
if Softmax (attn._weight[k-win:k+win+1]) < k+lookahead :
encoder_hidden=Encode(k inputs)
k=k+1
continue
else:
out=Decode(enc_hidden, attn_weigth, context)
if stop_flag:
break
i
Encoding
step
Decoding step
t
音声生成時(look-ahead2)方針
例: look-ahead2=1
±15*look-ahead2フレームを使用して合成
8©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
t
h
ss
i
t
h
t
h h
i
h
i
h
k=2
win=1
- 9. 関連研究(3/3)
Incremental Text-to-Speech Synthesis
with Prefix-to-Prefix Framework
Tacotron2の音響モデル+parallel wavegan
①入力系列(音素・表層文字)から音響特徴生成
→ アテンション付きEncoder-decoder
→ メルスペクトログラムの生成
※convlution層とbi-lstm層について言及無し
②音響特徴から音声生成
→ parallel wavegan
9©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
- 11. 強化学習
環境から観測した状態により、エージェントが最適な行動決定をする機械学習
状態(観測)集合:𝑆 = {𝑠1, 𝑠2, 𝑠3 , … , 𝑠𝐽}
エージェントの行動集合:A(s) = {𝑎1, 𝑎2, 𝑎3 , … , 𝑎 𝑀}
状態遷移確立(マルコフ決定過程):𝑃(𝑠 𝑗+1|, 𝑠 𝑗, 𝑎 𝑗)
報酬:𝑟 𝑗+1 = 𝑟(𝑠 𝑗, 𝑎 𝑗, 𝑠 𝑗+1)
方策:𝑎 𝑗 = π 𝑎 𝑚|𝑠 𝑗
→ 論文では、確率的方策を使用
状態価値関数:𝐸π
𝑟 𝑗+1
+ γ𝑟 𝑗+2
+ γ2
𝑟 𝑗+3
… , 0 < γ ≤ 1
強化学習の目標:状態価値関数を最大化(現在の状態・現在および次の行動から、最終的に得られる報酬を最大化)する方策決定
→ 論文では、最適な方策π 𝑎 𝑚|𝑠 𝑗 を直接学習
→ policy gradient:学習可能なパラメータを方策に使用し、
期待収益(状態価値関数より算出)を確率勾配法で最大化
https://qiita.com/dcm_hisao_katsumi/items/b25646a1cdbb1667e44f
将棋の例
状態:盤面と持ち駒
行動:指す手
報酬:勝敗や、指しての良しあし
目標:最終的に勝利するため方策
決定
11©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
https://qiita.com/shionhonda/items/ec05aade07b5bea78081
[Gu, et al., 2016] 4.3節
- 13. 逐次音声合成用強化学習の設定(2/2)
遅延 𝑟𝑗
𝐷
≔ 𝑟𝑗
𝐶𝑅
+𝑟J
𝐴𝑃
rj
CR
≔ ω ∗ (sgn(cj − c∗
)+1)
cj: READ動作が連続回数, c∗
:READ動作の連続許容回数, sgn():符号関数, ω: 重みパラメータ(<0)
𝑟J
𝐴𝑃
≔ β ∗ ہ ۂ𝑑 𝑇 − 𝑑∗
+
𝑑 𝑇: アテンションの平均面積, 𝑑∗ : 𝑑 𝑇の基準値, ہ ۂ+: 天井関数, β: 重みパラメータ(<0)
𝑑 𝑇=1は全てREADし合成(SPEAK)、𝑑 𝑇 = 0は合成(SPEAK)してから全てREAD
品質 𝑟𝑗
𝑄
𝑟𝑗
𝑄
≔ λ ∗ 𝑀𝑆𝐸 𝑦 𝑆 𝑗 , ො𝑦 𝑆 𝑗
𝑦 𝑆 𝑗 : メルスペクトログラム, ො𝑦 𝑆 𝑗 :予測メルスペクトログラム, λ: 重みパラメータ(<0)
音響特徴のMSE損失(jステップ時の行動がREADの場合0)
報酬:品質と遅延を制御するよう設計 (ここで,jは各ステップを表す)
𝑟𝑗 ≔ 𝑟𝑗
𝐷
+ 𝑟𝑗
𝑄
推論終了時に得られる全体報酬
連続READを防ぐ報酬、各推論時取得
READが許容回数以上連続で報酬が下がる
𝑑 𝑇=(1+3+4....)/(16*20)
16 char.
20 frame.
13©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020
[Mohan, et al., 2020]
- 14. 実験条件
比較用の合成方針
① Wait-Until-End (WUE): 文全体を使用。通常のTTS
② Wait-k-Steps (WkS): READをk毎に実行、
READ時以外は生成 (SPEAK)
k=2の場合、READ,SPEAK,READ,SPEAK, ....
Dataset
LJ speech dataset(英語), 12000 train and 1,100 test/valisataion
デモではフランス語も提示
報酬のパラメータ
c∗= 4, d∗ = 0.5, ω = −1, β = −10, λ = −100
エージェント
2層のRelu付GRU、報酬を最大化するように方策を学習
モデル
修正したTacotron2 + waveRNN[Kalchbrenner, et al., 2018]へ変更
14©TOMOYA YANAGITA, NAIST, AHC-LAB, 2020