日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

 長(zhǎng)沙7喜 2017-12-14

雷鋒網(wǎng)AI研習(xí)社按:循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)已經(jīng)在眾多自然語言處理中取得了大量的成功以及廣泛的應(yīng)用。但是,網(wǎng)上目前關(guān)于RNNs的基礎(chǔ)介紹很少,本文便是介紹RNNs的基礎(chǔ)知識(shí),原理以及在自然語言處理任務(wù)重是如何實(shí)現(xiàn)的。文章內(nèi)容根據(jù)雷鋒網(wǎng)AI研習(xí)社線上分享視頻整理而成。

在近期雷鋒網(wǎng)AI研習(xí)社的線上分享會(huì)上,來自平安科技的人工智能實(shí)驗(yàn)室的算法研究員羅冬日為大家普及了RNN的基礎(chǔ)知識(shí),分享內(nèi)容包括其基本機(jī)構(gòu),優(yōu)點(diǎn)和不足,以及如何利用LSTM網(wǎng)絡(luò)實(shí)現(xiàn)語音識(shí)別。

羅冬日,目前就職于平安科技人工智能實(shí)驗(yàn)室,曾就職于百度、大眾點(diǎn)評(píng),擔(dān)任算法研究員;中國(guó)科學(xué)院研究生院碩士,主要研究方向?yàn)檎Z音識(shí)別,自然語言處理。

分享主題:循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)基礎(chǔ)

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

主要內(nèi)容:

  • 普通RNN結(jié)構(gòu)

  • 普通RNN的不足

  • LSTM單元

  • GRU單元

  • 采用LSTM實(shí)現(xiàn)語音識(shí)別的例子

RNN和CNN的區(qū)別

普通卷積神經(jīng)網(wǎng)絡(luò)(CNN)處理的是“靜態(tài)”數(shù)據(jù),樣本數(shù)據(jù)之間獨(dú)立,沒有關(guān)系。

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)處理的數(shù)據(jù)是“序列化”數(shù)據(jù)。 訓(xùn)練的樣本前后是有關(guān)聯(lián)的,即一個(gè)序列的當(dāng)前的輸出與前面的輸出也有關(guān)。比如語音識(shí)別,一段語音是有時(shí)間序列的,說的話前后是有關(guān)系的。

總結(jié):在空間或局部上有關(guān)聯(lián)圖像數(shù)據(jù)適合卷積神經(jīng)網(wǎng)絡(luò)來處理,在時(shí)間序列上有關(guān)聯(lián)的數(shù)據(jù)適合用循環(huán)時(shí)間網(wǎng)絡(luò)處理。但目前也會(huì)用卷積神經(jīng)網(wǎng)絡(luò)處理語音問題, 或自然言語理解問題,其實(shí)也是把卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算方法用到這上面。

RNN 的基本結(jié)構(gòu)和結(jié)構(gòu)展開示意圖:

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

普通RNN的不足之處

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

首先是神經(jīng)網(wǎng)絡(luò)里面的計(jì)算,可以大致分為三類:函數(shù)合成,函數(shù)相加,加權(quán)計(jì)算。

在計(jì)算過程中,經(jīng)常會(huì)用到激活函數(shù),比如Sigmoid激活函數(shù)。殘差在往前傳播的過程中,每經(jīng)過一個(gè)Sigmoid函數(shù),就要乘以一個(gè)Sigmoid函數(shù)的導(dǎo)數(shù)值,殘差值至少會(huì)因此消減為原來的0.25倍。神經(jīng)網(wǎng)絡(luò)每多一層,殘差往前傳遞的時(shí)候,就會(huì)減少至少3/4。如果層數(shù)太多,殘差傳遞到前面已經(jīng)為0,導(dǎo)致前層網(wǎng)絡(luò)中國(guó)呢的參數(shù)無法更新,這就是梯度消失。

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

LSTM單元和普通RNN單元的區(qū)別

主要大的區(qū)別是,采用一個(gè)叫“細(xì)胞狀態(tài)(state)”的通道貫穿了整個(gè)時(shí)間序列。

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

通過精心設(shè)計(jì)的稱作“門”的結(jié)構(gòu)來去除或增加信息到細(xì)胞狀態(tài)的能力。

"忘記門”

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

“輸入門”的打開關(guān)閉也是由當(dāng)前輸入和上一個(gè)時(shí)間點(diǎn)的輸出決定的。

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

“輸出門”,控制輸出多少,最終僅僅會(huì)輸出確定輸出的那部分。

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

所有的公式匯總:

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

增加peephole的LSTM單元

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

讓幾個(gè)“門”的輸入數(shù)據(jù)除了正常的輸入數(shù)據(jù)和上一個(gè)時(shí)刻的輸出以外,再接受“細(xì)胞狀態(tài)”的輸入。

GRU單元

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

它是各種變種之一,將“忘記門”和“輸入們”合成了一個(gè)單一的“更新門”,同時(shí)還混合了細(xì)胞狀態(tài)和隱藏狀態(tài)。

接下來用RNN做一個(gè)實(shí)驗(yàn),給大家介紹一個(gè)簡(jiǎn)單的語音識(shí)別例子:

關(guān)于LSTM+CTC背景知識(shí)

2015年,百度公開發(fā)布的采用神經(jīng)網(wǎng)絡(luò)的LSTM+CTC模型大幅度降低了語音識(shí)別的錯(cuò)誤率。采用這種技術(shù)在安靜環(huán)境下的標(biāo)準(zhǔn)普通話的識(shí)別率接近97%。


CTC是Connectionist Temporal Classification 的縮寫,詳細(xì)的論文介紹見論文“Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks”


CTC的計(jì)算實(shí)際上是計(jì)算損失值的過程,就像其他損失函數(shù)一樣,它的計(jì)算結(jié)果也是評(píng)估網(wǎng)絡(luò)的輸出值和真實(shí)差多少。

聲音波形示意圖

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

在開始之前,需要對(duì)原始聲波進(jìn)行數(shù)據(jù)處理,輸入數(shù)據(jù)是提取過聲學(xué)特征的數(shù)據(jù),以幀長(zhǎng)25ms、幀移10ms的分幀為例,一秒鐘的語音數(shù)據(jù)大概會(huì)有100幀左右的數(shù)據(jù)。

采用MFCC提取特征,默認(rèn)情況下一幀語音數(shù)據(jù)會(huì)提取13個(gè)特征值,那么一秒鐘大概會(huì)提取100*13個(gè)特征值。用矩陣表示是一個(gè)100行13列的矩陣。

把語音數(shù)據(jù)特征提取完之后,其實(shí)就和圖像數(shù)據(jù)差不多了。只不過圖像數(shù)據(jù)把整個(gè)矩陣作為一個(gè)整體輸入到神經(jīng)網(wǎng)絡(luò)里面處理,序列化數(shù)據(jù)是一幀一幀的數(shù)據(jù)放到網(wǎng)絡(luò)處理。

如果是訓(xùn)練英文的一句話,假設(shè)輸入給LSTM的是一個(gè)100*13的數(shù)據(jù),發(fā)音因素的種類數(shù)是26(26個(gè)字母),則經(jīng)過LSTM處理之后,輸入給CTC的數(shù)據(jù)要求是100*28的形狀的矩陣(28=26+2)。其中100是原始序列的長(zhǎng)度,即多少幀的數(shù)據(jù),28表示這一幀數(shù)據(jù)在28個(gè)分類上的各自概率。在這28個(gè)分類中,其中26個(gè)是發(fā)音因素,剩下的兩個(gè)分別代表空白和沒有標(biāo)簽。

設(shè)計(jì)的基本網(wǎng)絡(luò)機(jī)構(gòu)

平安科技羅冬日:如何用RNN實(shí)現(xiàn)語音識(shí)別?| 分享總結(jié)

原始的wav文件經(jīng)過聲學(xué)特征提取變成N*13,N代表這段數(shù)據(jù)有多長(zhǎng),13是每一幀數(shù)據(jù)有多少特征值。N不是固定的。然后把N*13矩陣輸入給LSTM網(wǎng)絡(luò),這里涉及到兩層雙向LSTM網(wǎng)絡(luò),隱藏節(jié)點(diǎn)是40個(gè),經(jīng)過LSTM網(wǎng)絡(luò)之后,如果是單向的,輸出會(huì)變成40個(gè)維度,雙向的就會(huì)變成80個(gè)維度。再經(jīng)過全連接,對(duì)這些特征值分類,再經(jīng)過softmax計(jì)算各個(gè)分類的概率。后面再接CDC,再接正確的音素序列。

真實(shí)的語音識(shí)別環(huán)境要復(fù)雜很多。實(shí)驗(yàn)中要求的是標(biāo)準(zhǔn)普通話和安靜無噪聲的環(huán)境。

如果對(duì)代碼講解感興趣的話,可以復(fù)制鏈接中的代碼:https://github.com/thewintersun/tensorflowbook/tree/master/Chapter6

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多