您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
G = {V, E}, 有向, 無向, 加權(quán), 非加權(quán), 同構(gòu), 異構(gòu)(不同結(jié)構(gòu)/意義的邊/點(diǎn))
為什么要用? 數(shù)據(jù)有非歐幾里的距離的信息含義
歐幾里得距離: 比如識別貓圖片的 CNN, 就是可以通過簡單的距離就可以描述(不需要建邊)
圖神經(jīng)網(wǎng)絡(luò): 學(xué)習(xí)一個包含鄰居節(jié)點(diǎn)信息的狀態(tài)特征(state embedding), 表征鄰居的就是邊, 有了邊, 也就升級成為了圖
引入迭代函數(shù) F, (最終可以讓圖穩(wěn)定狀態(tài), 也可以不穩(wěn)定, 流動是關(guān)鍵), H 就代表了 general 的圖的信息
圖神經(jīng)網(wǎng)絡(luò)分為: 傳播步, 輸出步
loss 可以訓(xùn)練點(diǎn)的值, 邊的值, 并且邊的值和點(diǎn)的值都和整幅圖有信息溝通
建模韻律
與 NLP 引入復(fù)雜特征類似
圖的結(jié)構(gòu)和專家知識對文本的分析一致, GNN 更合適
直接替換原本 Encoder 結(jié)構(gòu)
定義文本中的點(diǎn)和邊: 英文字母是點(diǎn), 虛擬點(diǎn)是詞點(diǎn)和句子點(diǎn). 順序邊, 逆序邊, 父節(jié)點(diǎn)詞邊, 父節(jié)點(diǎn)句子邊
與 # 標(biāo)簽的區(qū)別就是, 利用結(jié)構(gòu)的便利, 顯示的使用了詞邊界信息
代碼角度是, Encoder 中的 RNN 變 GCN, 有傳播步, 輸出步
保留 Tacotron 的 Encoder, 單獨(dú)設(shè)計(jì) GAE 模塊建模語法與韻律的信息關(guān)系
GAE 的輸入是邊界信息 + 文本, 輸出作為 Attention 的 Memory(可以與 Encoded Output 拼接, 做一個信息殘差)
使用圖, MOS 就會好
GGNN 比 GCN效果更好
使用圖, attention 會容易錯, 所以 GAE 各方面都最好
但事實(shí)上, GAE 模型中, GAE 模塊天然結(jié)構(gòu)和 input 利于捕捉韻律信息, 同時和 Encoder 一起表示發(fā)音信息, 其實(shí)不是特征解耦的思路, 而是一個 post-net 殘差的思路, 多了這個結(jié)構(gòu), 強(qiáng)化下就可
style sequence 和 style embedding 在哪里拼接到 Encoder 的特征上
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
Graph Encoder, 把 Transformer 改進(jìn)為基于語法來做一個 Attention, Cij 改進(jìn) dot-score 或者 add-score; 相當(dāng)于更精準(zhǔn)的 Positional Encoding
根據(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)重
確定邊的總類, 再確定同一類下共享邊(相同邊)是哪些, 由于文本的語法依存很規(guī)則, 很統(tǒng)一, 可以利用這個來簡化圖神經(jīng)網(wǎng)絡(luò)的 edge weights
詞的詞性也要體現(xiàn)在 node 上, 有一定 dim 的共享
這個可以叫 TTS-Simplify-GCN, 類比于 TTS 的 Attention 并不需要那么強(qiáng)大
PyG
DGL
以上就是如何實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)在TTS中的應(yīng)用,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。