溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用

發(fā)布時間:2022-01-15 10:16:07 來源:億速云 閱讀:196 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1. GNN 概念

1.1. 圖神經(jīng)網(wǎng)絡(luò)概念

  1. G = {V, E}, 有向, 無向, 加權(quán), 非加權(quán), 同構(gòu), 異構(gòu)(不同結(jié)構(gòu)/意義的邊/點(diǎn))

  2. 為什么要用? 數(shù)據(jù)有非歐幾里的距離的信息含義

  3. 歐幾里得距離: 比如識別貓圖片的 CNN, 就是可以通過簡單的距離就可以描述(不需要建邊)

  4. 圖神經(jīng)網(wǎng)絡(luò): 學(xué)習(xí)一個包含鄰居節(jié)點(diǎn)信息的狀態(tài)特征(state embedding), 表征鄰居的就是邊, 有了邊, 也就升級成為了圖

1.2. GNN具體結(jié)構(gòu)

  1. 引入迭代函數(shù) F, (最終可以讓圖穩(wěn)定狀態(tài), 也可以不穩(wěn)定, 流動是關(guān)鍵), H 就代表了 general 的圖的信息

  2. 圖神經(jīng)網(wǎng)絡(luò)分為: 傳播步, 輸出步

  3. loss 可以訓(xùn)練點(diǎn)的值, 邊的值, 并且邊的值和點(diǎn)的值都和整幅圖有信息溝通

2. GraphTTS-1

2.1. GraphTTS 的目標(biāo)

  1. 建模韻律

  2. 與 NLP 引入復(fù)雜特征類似

  3. 圖的結(jié)構(gòu)和專家知識對文本的分析一致, GNN 更合適

  4. 直接替換原本 Encoder 結(jié)構(gòu)

2.2. GraphTTS 結(jié)構(gòu)

  1. 定義文本中的點(diǎn)和邊: 英文字母是點(diǎn), 虛擬點(diǎn)是詞點(diǎn)和句子點(diǎn).   順序邊, 逆序邊, 父節(jié)點(diǎn)詞邊, 父節(jié)點(diǎn)句子邊

  2. 與 # 標(biāo)簽的區(qū)別就是, 利用結(jié)構(gòu)的便利, 顯示的使用了詞邊界信息

  3. 代碼角度是, Encoder 中的 RNN 變 GCN, 有傳播步, 輸出步

3. GraphTTS-2

3.1. GAE

  1. 保留 Tacotron 的 Encoder, 單獨(dú)設(shè)計(jì) GAE 模塊建模語法與韻律的信息關(guān)系

  2. GAE 的輸入是邊界信息 + 文本, 輸出作為 Attention 的 Memory(可以與 Encoded Output 拼接, 做一個信息殘差)

4. 兩個結(jié)構(gòu)的實(shí)驗(yàn)結(jié)果

  1. 使用圖, MOS 就會好

  2. GGNN 比 GCN效果更好

  3. 使用圖, attention 會容易錯, 所以 GAE 各方面都最好

  4. 但事實(shí)上, GAE 模型中, GAE 模塊天然結(jié)構(gòu)和 input 利于捕捉韻律信息, 同時和 Encoder 一起表示發(fā)音信息, 其實(shí)不是特征解耦的思路, 而是一個 post-net 殘差的思路, 多了這個結(jié)構(gòu), 強(qiáng)化下就可

5. 疑惑

style sequence 和 style embedding 在哪里拼接到 Encoder 的特征上

6. GraphSpeech

如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用

如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用

如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用

6.1 核心工作

  1. Relation Encoder, 建模兩個單詞的語法關(guān)系, 表征他們的語法依存樹 -> 語法依存圖(單向邊變成雙向, 并且權(quán)重不同); 圖中節(jié)點(diǎn)之間的最短路徑代表兩個單詞的關(guān)系(因?yàn)榫嚯x是差距的直觀度量); 單詞之間的距離確定了(自己與自己建一條 self 邊), char 級別就是所屬單詞之間的距離. 最終可以得到任意兩個字之間的依存關(guān)系 (N * N - 1)  個序列, Rij, Rii -> Cij, Cii;  N * N - 1 個序列 N * N-1通過 同一個Bi-GRU, 計(jì)算出來 Cij

  2. Graph Encoder, 把 Transformer 改進(jìn)為基于語法來做一個 Attention, Cij 改進(jìn) dot-score 或者 add-score; 相當(dāng)于更精準(zhǔn)的 Positional Encoding

7. Idea

7.1 GCN 在 TTS 中的簡化

根據(jù)逸軒的思路, 逸軒想要用 GCN 直接使用詞依存關(guān)系, phoneme + bert_out + 依存關(guān)系 -> linguistic feature (但是這種方式比GraphSpeech更難, 是訓(xùn)練不出來的)

只有詞父節(jié)點(diǎn)信息的 GCN 就已經(jīng)不好調(diào)了, 因此這種方法需要簡化 GCN 的結(jié)構(gòu)和權(quán)重

  1. 確定邊的總類, 再確定同一類下共享邊(相同邊)是哪些, 由于文本的語法依存很規(guī)則, 很統(tǒng)一, 可以利用這個來簡化圖神經(jīng)網(wǎng)絡(luò)的 edge weights

  2. 詞的詞性也要體現(xiàn)在 node 上, 有一定 dim 的共享

  3. 這個可以叫 TTS-Simplify-GCN, 類比于 TTS 的 Attention 并不需要那么強(qiáng)大

8. 實(shí)現(xiàn)細(xì)節(jié)

8.1. GNN 庫

  1. PyG

  2. DGL

以上就是如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

tts
AI