[DL輪読会]VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrogram Masking

>100 Views

November 16, 18

スライド概要

2018/11/16
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrogram Masking Hiroshi Sekiguchi, Morikawa Lab http://deeplearning.jp/ 1

2.

書誌情報 • “VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrogram Masking” arXiv:1810.04826v3 [eess.AS] 27 Oct 2018 • Author: Quan Wang1, Hannah Muckenhire2, Kevin Wilson1, Prashant Sridhar1, Zelin Wu1, John Hershey1, Rif A. Saurous1, Ron J. Weiss1, Ye Jia1, Ignacio Lopez Moreno1 1Google Inc. USA, 2Idiap Research Institute, Switzerland • 論文選択の理由 • 重畳音声の分離が研究テーマ • Google製スマートスピーカ”Google Home”の重畳音声分離をレビュー. 2

3.

アジェンダ • 研究の目的 • 従来の方法 • 提案手法 • 評価結果 • まとめ 3

4.

研究の目的 • 複数話者音声が重畳したモノラル信号から, – 特定の話者の音声を抽出する 抽出した音声は,その後,音声認識の入力に使用する. 4

5.

従来の方法 • 不特定な複数話者の重畳音声を分離する – テスト時:DNNでMask Rateを推定し 𝑠1𝑒𝑠𝑡 𝑡 = 𝑀1𝑒𝑠𝑡 ・Y から目的音声を得る – 学習時:DNNはMask Rateを教師あり学習 (方法例) መ Y=S1+S2 𝑆1 DNN min ( | 𝑆1 − 𝑆መ1 |2 𝑅𝑁𝑁 𝐶𝑜𝑒𝑓 𝑆መ2 𝑀1𝑒𝑠𝑡 = + | 𝑆2 − 𝑆መ2 |2 ) 𝑆1 𝑆2 𝑆መ1 𝑆መ1 + 𝑆መ2 5

6.

従来手法の問題点 • 何人の話者がいるのかわからない • 分離した音声がフレーム毎にどの話者に属したものかわからない (Speaker Permutation問題) • 分離して得た複数の再構成音の中で、自分の興味ある話者の音声がど れかがわかない 6

7.

提案内容 • 提案方法:2つのNeural Network – 話者認識Neural Network – スペクトログラムマスクベースの音源分離Neural Network (VoiceFilter) を組み合わせて,特定の話者の音声を抽出. 話者認識 Neural Network スペクトログラム マスクベースの音源分離 Neural Network (VoiceFilter) 7

8.

想定される利用シーン ① 事前に,数百~数千人の話者が発生したReference単語(OKGoogle, Hey Google)を登録し,話者特性のemdedding表現を学習しておく OK Google! Hey Google! ② 話者S1 の Reference発声 (数個のキー単語) ④ 話者𝑆1 とその 他の話者との重 畳音声を発声 (任意の文章) ③現在Reference発声している話 者S1 が,既学習のどの話者に似て いるかをemdeddingの形式で表現 話者認識Neural Network ⑤重畳音声と,Reference発声した話者𝑆1 のEmbeddingを使って, 𝑆1 の発声と推定 される音声のみを抽出する. XX△X〇◆□〇 スペクトログラムマスクベース の音源分離Neural Network 8

9.

この手法で従来の問題を容易化できる • 何人の話者がいるのかわからない → Reference発声した話者を指定することで,2クラス識別問題に簡素化. Reference発声した話者の特性 vs それ以外の話者の集合の特性 の識別 • 分離した音声がフレーム毎にどの話者に属したものかわからない(Speaker Permutation問題) → 既存の別手法で解決する.ex.全文章レベルでの評価関数最小化問題を導入 • 分離して得た複数の再構成音の中で、自分の興味ある話者の音声がどれかが わかない → Reference発声した話者を指定することで,その場に何人いても、Reference 話者のEmbeddingに関連した情報を興味ある対象と決めることができる 9

10.

話者認識ネットワーク 話者認識 Neural Network スペクトログラム マスクベースの音源分離 Neural Network (VoiceFilter) 10

11.

話者認識ネットワーク • 話者認識に2通りあり – Text Dependent-Speaker Verification(TD-SV): 事前登録の単語(“OK Google”)=テスト時の単語(“OK Google”) – Test Independent-Speaker Verification(TI-SV): 事前登録の単語(“色々な単語”(音韻も単語長も色々)=テスト時の単語 (“Hey Google”) →今回は,後者のフレームワーク. • 関連論文: – Generalized End-to-End Loss for Speaker Verification, Lin Wan , et.al,Google – Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling Hasim Sak,et.al,Google, USA 11

12.

話者認識ネットワーク • 話者認識ネットワークの学習手法 – 話者人数N人、各人がM個の発声(M個の単語は異なっても良いが、全話者そのM 個の単語は発生するものとする)を使用 – 𝑥𝑗𝑖 ∈ 𝑅𝐹∗𝑇 :話者jのm個目の発声音声: 1 ≤ 𝑗 ≤ 𝑁, 1 ≤ 𝑚 ≤ 𝑀 • 25msec 音声窓長,10msec 窓シフト=フレーム長 • 𝐹: 40次元のLog-Mel-filterbankの出力エネルギー,𝑇:フレーム数 (140~160フレームmax) – ネットワーク:(LSTM+Linear Projection)/層x 3層 + Full Connected Layer – 𝑥𝑗𝑖 :ネットワーク入力、𝑒𝑗𝑖 :embedding(d-vector):ネットワークの出力 𝑥11 𝑥12 𝑒11 𝑒12 𝑥21 𝑒21 𝑥31 𝑒31 𝑥𝑗𝑖 𝑒𝑗𝑖 𝑆11,1 𝑆13,1 𝑆𝑗𝑖 ,k 𝑆21,3 12

13.

話者認識ネットワーク:LSTM+Projection Network • Projectionは係数の数は減らすがメモリ数は潤沢に使うため. σ(・) σ(・) σ(・) LSTM+Projection ブロック LSTM+Projection Network/層x3層 13

14.

話者認識ネットワーク • 話者認識ネットワークの学習手法(続き) – 𝑐𝑘 :話者𝑘のembeddingのセントロイド(平均値)𝑐𝑘 = 𝐸 𝑒𝑘𝑚 = – 𝑆𝑗𝑖,𝑘 :Validation音声𝑥𝑗𝑖 の𝐸𝑚𝑏𝑒𝑑𝑑𝑖𝑛𝑔 𝑒𝑗𝑖 と話者𝑘の𝑒𝑚𝑏𝑒𝑑𝑑𝑖𝑛𝑔セントロイドとの類似度: 1 𝑀 σ 𝑒 𝑀 𝑚=1 𝑘𝑚 𝑆𝑗𝑖,𝑘 = 𝑤 ∙ cos(𝑒𝑗𝑖 , 𝑐𝑘 ) + 𝑏𝑖 ここで𝑤(> 0)と𝑏𝑖 は学習パラメータ 𝑥11 𝑥12 𝑒11 𝑒12 𝑥21 𝑒21 𝑥31 𝑒31 𝑥𝑗𝑖 𝑒𝑗𝑖 𝑆11,1 𝑆13,1 𝑆𝑗𝑖 ,k 𝑆21,3 14

15.

話者認識ネットワーク – 𝐿 𝑒𝑗𝑖 : 𝑒𝑗𝑖 でのネットワークの損失関数は2通りで行った または 𝐿 𝑒𝑗𝑖 = 𝑆𝑗𝑖,𝑗 − 𝑙𝑜𝑔 σ𝑁 𝑘=1 exp 𝑆𝑗𝑖,𝑘 𝐿 𝑒𝑗𝑖 = 1 − σ 𝑆𝑗𝑖,𝑗 + max σ(𝑆𝑗𝑖,𝑘 ) 1≤𝑘≤𝑁 𝑘≠𝑗 : softmaxタイプ : contrastタイプ – 𝐿𝐺 𝑥 :全体ネットワーク損失関数 𝐿𝐺 𝑥 = 𝐿𝐺 𝑆 = σ𝑗,𝑖 𝐿(𝑒𝑗𝑖 ) : 1 ≤ 𝑗 ≤ 𝑁, 1 ≤ 𝑖 ≤ 𝑀 – 最適化手法:SGDで、全𝐿(𝑒𝑗𝑖 )を計算する毎にNetwork係数,𝑤と𝑏𝑖 を更新 ●損失関数がsoftmaxの場合: 学習は,すべての話者jのembedding 𝑒𝑗𝑖 が可能な限り,他のす べての話者のセントロイド𝑐𝑘 𝑘 ≠ 𝑗よりも話者jのセントロイ ド𝑐𝑗 に類似度が大きくなるように進む ●損失関数がcontrastの場合: 学習は、すべての話者jのembedding𝑒𝑗𝑖 が,最も類似度が大き い他の話者のセントロイドよりも、話者jのセントロイド𝑐𝑗 に 類似度が大きくなるように進む 15

16.

話者認識ネットワーク ●TI-SVでの𝑒𝑗𝑖 の算出方法 TI-SVでは発声ごとに長さ の長短がある. → 140~160フレーム /sliding window lengthに セグメントし𝑥𝑗𝑖 とする. それ毎にembeddingを計 算し、さらにすべての windowsでの平均を取っ て𝑒𝑗𝑖 とする. 140~160フレーム (1400~1600msec) 16

17.

スペクトログラムマスクベースの 音源分離Neural Network (VoiceFilter) • 話者認識ネットワーク 話者認識 Neural Network スペクトログラム マスクベースの音源分離 Neural Network (VoiceFilter) 17

18.

スペクトログラムマスクベースの 音源分離Neural Network (VoiceFilter) Reference: “OK Google”などのキー ワード Clean: 目標話者のクリーンな音声 Interferering: 妨害音声 Y=S1+S2 話者のEmbedding ここに数式を入力します。 (d-vectorを LSTM前で Concatenation) 𝐸𝑚𝑏𝑒𝑑𝑑𝑖𝑛𝑔 𝑆1 𝑆መ1 DNN min ( | 𝑆1 − 𝑆መ1 |2 ) 𝑅𝑁𝑁 𝐶𝑜𝑒𝑓 𝑆1 𝑀1𝑒𝑠𝑡 18

19.

評価結果 • 特定の話者の抽出性能評価指標 – 本提案で特定の音声を抽出したのちに,大規模離散単語音声認識システムで WER(Word Error Rate(%))を評価 – 本提案で特定の音声を抽出したのち、Signal to Distortion Ratio(SDR)を評価 • 評価に使用した音声コーパス – 話者認識Neural Networkの学習:138K speakers, 34M発声 – スペクトグラムベースマスクの音源分離Neural Networkの学習:LibriSpeech: 2338 speakers for training, 73 speaker for validation. 19

20.

評価結果 • Voice Filterがある方が,Noisyな音声は 急激にWERが低くなっている.→Voice Filterの効果がある! • VoiceFilterは、Cleanな音声でも,ほぼ VoiceFilter無しと同等の認識がある. →VoiceFilterは、Cleanな音声に悪影響 は少ない • SDRの評価では、VoiceFilterの効果で SDRの約8dB改善が出ている. 有意差あり 有意差あり 20

21.

まとめ • VoiceFilterは、認識率とSDRの両指標で改善する効果があることが分 かった. • Bi-Directional LSTM+Proectionが最も良い性能が出ている. 21

22.

END 22