您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Python語音識(shí)別的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
將開啟一個(gè)新的深度學(xué)習(xí)章節(jié), 為大家來講述一下深度學(xué)習(xí)在語音識(shí)別 (Speech Recognition) 的應(yīng)用. 語音識(shí)別技術(shù)可以將語音轉(zhuǎn)換為計(jì)算機(jī)可讀的輸入, 讓計(jì)算機(jī)明白我們要表達(dá)什么, 實(shí)現(xiàn)真正的人機(jī)交互. 希望通過本專欄的學(xué)習(xí), 大家能夠?qū)φZ音識(shí)別這一領(lǐng)域有一個(gè)基本的了解.
RNN (Recurrent Neural Network) 即循環(huán)神經(jīng)網(wǎng)絡(luò), 用于處理輸入有相關(guān)性的任務(wù). RNN 網(wǎng)絡(luò)包括一個(gè)輸入層, 一個(gè)隱層, 和一個(gè)輸出層組成, 如圖:
隱層 (Hidden Layer) 定義了整個(gè)網(wǎng)絡(luò)的狀態(tài), RNN 網(wǎng)絡(luò)的計(jì)算過程如下:
計(jì)算狀態(tài) (State)
計(jì)算輸出:
梯度消失問題 (Vanishing gradient problem). 如果導(dǎo)數(shù)小于 1, 隨著網(wǎng)絡(luò)層數(shù)的增加梯度跟新會(huì)朝著指數(shù)衰減的方向前進(jìn), 這就是梯度消失, 如圖:
我們可以看出, 隨著時(shí)間的增加, 深層的網(wǎng)絡(luò)對(duì)淺層的感知變得越來越微弱, 梯度接近于0.
梯度爆炸問題 (Exploding gradient problem). 如果導(dǎo)數(shù)大于 1, 隨著網(wǎng)絡(luò)層數(shù)的增加梯度跟新會(huì)朝著指數(shù)增加的方向前進(jìn), 這就是梯度爆炸. 當(dāng) RNN 網(wǎng)絡(luò)導(dǎo)數(shù)大于 1 時(shí)就會(huì)出現(xiàn)時(shí)序依賴, 從而造成梯度爆炸.
LSTM (Long Short Term Memory), 即長短期記憶模型. LSTM 是一種特殊的 RNN 模型, 解決了長序列訓(xùn)練過程中的梯度消失和梯度爆炸的問題. 相較于普通 RNN, LSTM 能夠在更長的序列中有更好的表現(xiàn). 相比 RNN 只有一個(gè)傳遞狀態(tài) ht, LSTM 有兩個(gè)傳遞狀態(tài): ct (cell state) 和 ht (hidden state).
LSTM 增加了輸入門, 輸出門, 遺忘門 三個(gè)控制單元. LSTM 的 cell 會(huì)決定哪些信息被留下, 哪些信息被遺忘, 從而解決神經(jīng)網(wǎng)絡(luò)中長序列依賴的問題.
GRU (Gate Recurrent Unit) 和 LSTM 類似, 但是更易于計(jì)算. GRU 由重置門, 更新門, 和輸出門組成. 重置門和 LSTM 的遺忘文作用一樣, 用于決定信息的去留. 同理, 更新門的作用類似于 LSTM 的輸入門.
Seq2seq 由 Encoder 和 Decoder 兩個(gè) RNN 組成. Encoder 將變長序列輸出, 編碼成 encoderstate 再由 Decoder 輸出變長序列.
Attention 是一種用于提升 RNN 的 Encoder 和 Decoder 模型的效果的機(jī)制. 廣泛應(yīng)用于機(jī)器翻譯, 語音識(shí)別, 圖像標(biāo)注等多個(gè)領(lǐng)域. 深度學(xué)習(xí)中的注意力機(jī)制從本質(zhì)上講和人類的選擇性視覺注意力機(jī)制類似. 核心目標(biāo)也是從眾多信息中選擇出對(duì)當(dāng)前任務(wù)目標(biāo)更關(guān)鍵的信息.
Attention 實(shí)質(zhì)上是一種 content-based addressing 的機(jī)制. 即從網(wǎng)絡(luò)中某些狀態(tài)集合中選取給定狀態(tài)較為相似的狀態(tài), 進(jìn)而做后續(xù)的信息抽取.
首先根據(jù) Encoder 和 Decoder 的特征計(jì)算權(quán)值, 然后對(duì) Encoder 的特征進(jìn)行加權(quán)求和, 作為 Decoder 的輸入. 其作用的將 Encoder 的特征以更好的方式呈獻(xiàn)給 Decoder. (并不是所有的 context 都對(duì)下一個(gè)狀態(tài)的生成產(chǎn)生影響, Attention 就是選擇恰當(dāng)?shù)?context 用它生成下一個(gè)狀態(tài).
早起的 RNN 在訓(xùn)練過程中的預(yù)測(cè)能力非常弱, 如果一個(gè) unit 預(yù)測(cè)錯(cuò)了, 后面的 unit 就很難再獲取對(duì)的結(jié)果. 比如我們翻譯一句話:
Life is like a box of chocolates.You never know what you're going to get
人生就像一盒巧克力,你永遠(yuǎn)也不知道下一塊是什么味道
如果我們把 life 翻譯成 “西伯利亞”, 那么后面再翻譯對(duì)的可能性就幾乎為 0.
Teacher Forcing 是一種網(wǎng)絡(luò)訓(xùn)練的方法, 使用上一個(gè) label 作為下一個(gè) state 的輸入. 還是用上面的例子說明: 當(dāng)使用 Teacher Forcing 機(jī)制的時(shí)候, 即時(shí)我們把 life 翻譯成 “西伯利亞”, 下一個(gè) Decoder 的輸入我們會(huì)使用上一個(gè)的 label 作為 state, 即 “人生”, 而不是 “西伯利亞”. 這樣就大大提高了 RNN 網(wǎng)絡(luò)的預(yù)測(cè)能力.
感謝各位的閱讀!關(guān)于“Python語音識(shí)別的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。