溫馨提示×

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

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

Python語音識(shí)別的示例分析

發(fā)布時(shí)間:2022-03-04 11:22:32 來源:億速云 閱讀:235 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(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è)基本的了解.

Python語音識(shí)別的示例分析

RNN

RNN (Recurrent Neural Network) 即循環(huán)神經(jīng)網(wǎng)絡(luò), 用于處理輸入有相關(guān)性的任務(wù). RNN 網(wǎng)絡(luò)包括一個(gè)輸入層, 一個(gè)隱層, 和一個(gè)輸出層組成, 如圖:

Python語音識(shí)別的示例分析

計(jì)算

隱層 (Hidden Layer) 定義了整個(gè)網(wǎng)絡(luò)的狀態(tài), RNN 網(wǎng)絡(luò)的計(jì)算過程如下:

Python語音識(shí)別的示例分析

計(jì)算狀態(tài) (State)

Python語音識(shí)別的示例分析

計(jì)算輸出:

Python語音識(shí)別的示例分析

RNN 存在的問題

梯度消失問題 (Vanishing gradient problem). 如果導(dǎo)數(shù)小于 1, 隨著網(wǎng)絡(luò)層數(shù)的增加梯度跟新會(huì)朝著指數(shù)衰減的方向前進(jìn), 這就是梯度消失, 如圖:

Python語音識(shí)別的示例分析

我們可以看出, 隨著時(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í)序依賴, 從而造成梯度爆炸.

Python語音識(shí)別的示例分析

LSTM

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).

Python語音識(shí)別的示例分析

LSTM 增加了輸入門, 輸出門, 遺忘門 三個(gè)控制單元. LSTM 的 cell 會(huì)決定哪些信息被留下, 哪些信息被遺忘, 從而解決神經(jīng)網(wǎng)絡(luò)中長序列依賴的問題.

GRU

GRU (Gate Recurrent Unit) 和 LSTM 類似, 但是更易于計(jì)算. GRU 由重置門, 更新門, 和輸出門組成. 重置門和 LSTM 的遺忘文作用一樣, 用于決定信息的去留. 同理, 更新門的作用類似于 LSTM 的輸入門.

Python語音識(shí)別的示例分析

Seq2seq

Seq2seq 由 Encoder 和 Decoder 兩個(gè) RNN 組成. Encoder 將變長序列輸出, 編碼成 encoderstate 再由 Decoder 輸出變長序列.

Python語音識(shí)別的示例分析

Attention 模型

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)鍵的信息.

Python語音識(shí)別的示例分析

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).

Teacher Forcing 機(jī)制

早起的 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.

Python語音識(shí)別的示例分析

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ò),可以把它分享出去讓更多的人看到吧!

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

免責(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)容。

AI