平安科技羅冬日:如何用RNN實現語音識別?| 分享總結

2020-12-05 雷鋒網

雷鋒網(公眾號:雷鋒網)AI研習社按:循環神經網絡(RNN)已經在眾多自然語言處理中取得了大量的成功以及廣泛的應用。但是,網上目前關於RNNs的基礎介紹很少,本文便是介紹RNNs的基礎知識,原理以及在自然語言處理任務重是如何實現的。文章內容根據雷鋒網AI研習社線上分享視頻整理而成。

在近期雷鋒網AI研習社的線上分享會上,來自平安科技的人工智慧實驗室的算法研究員羅冬日為大家普及了RNN的基礎知識,分享內容包括其基本機構,優點和不足,以及如何利用LSTM網絡實現語音識別。

羅冬日,目前就職於平安科技人工智慧實驗室,曾就職於百度、大眾點評,擔任算法研究員;中國科學院研究生院碩士,主要研究方向為語音識別,自然語言處理。

分享主題:循環神經網絡(RNN)基礎

主要內容:

  • 普通RNN結構

  • 普通RNN的不足

  • LSTM單元

  • GRU單元

  • 採用LSTM實現語音識別的例子

RNN和CNN的區別

普通卷積神經網絡(CNN)處理的是「靜態」數據,樣本數據之間獨立,沒有關係。

循環神經網絡(RNN)處理的數據是「序列化」數據。 訓練的樣本前後是有關聯的,即一個序列的當前的輸出與前面的輸出也有關。比如語音識別,一段語音是有時間序列的,說的話前後是有關係的。

總結:在空間或局部上有關聯圖像數據適合卷積神經網絡來處理,在時間序列上有關聯的數據適合用循環時間網絡處理。但目前也會用卷積神經網絡處理語音問題, 或自然言語理解問題,其實也是把卷積神經網絡的計算方法用到這上面。

RNN 的基本結構和結構展開示意圖:

普通RNN的不足之處

首先是神經網絡裡面的計算,可以大致分為三類:函數合成,函數相加,加權計算。

在計算過程中,經常會用到激活函數,比如Sigmoid激活函數。殘差在往前傳播的過程中,每經過一個Sigmoid函數,就要乘以一個Sigmoid函數的導數值,殘差值至少會因此消減為原來的0.25倍。神經網絡每多一層,殘差往前傳遞的時候,就會減少至少3/4。如果層數太多,殘差傳遞到前面已經為0,導致前層網絡中國呢的參數無法更新,這就是梯度消失。

LSTM單元和普通RNN單元的區別

主要大的區別是,採用一個叫「細胞狀態(state)」的通道貫穿了整個時間序列。


通過精心設計的稱作「門」的結構來去除或增加信息到細胞狀態的能力。

"忘記門」

「輸入門」的打開關閉也是由當前輸入和上一個時間點的輸出決定的。

「輸出門」,控制輸出多少,最終僅僅會輸出確定輸出的那部分。

所有的公式匯總:

增加peephole的LSTM單元

讓幾個「門」的輸入數據除了正常的輸入數據和上一個時刻的輸出以外,再接受「細胞狀態」的輸入。

GRU單元

它是各種變種之一,將「忘記門」和「輸入們」合成了一個單一的「更新門」,同時還混合了細胞狀態和隱藏狀態。

接下來用RNN做一個實驗,給大家介紹一個簡單的語音識別例子:

關於LSTM+CTC背景知識

2015年,百度公開發布的採用神經網絡的LSTM+CTC模型大幅度降低了語音識別的錯誤率。採用這種技術在安靜環境下的標準普通話的識別率接近97%。


CTC是Connectionist Temporal Classification 的縮寫,詳細的論文介紹見論文「Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks」


CTC的計算實際上是計算損失值的過程,就像其他損失函數一樣,它的計算結果也是評估網絡的輸出值和真實差多少。

聲音波形示意圖

在開始之前,需要對原始聲波進行數據處理,輸入數據是提取過聲學特徵的數據,以幀長25ms、幀移10ms的分幀為例,一秒鐘的語音數據大概會有100幀左右的數據。

採用MFCC提取特徵,默認情況下一幀語音數據會提取13個特徵值,那麼一秒鐘大概會提取100*13個特徵值。用矩陣表示是一個100行13列的矩陣。

把語音數據特徵提取完之後,其實就和圖像數據差不多了。只不過圖像數據把整個矩陣作為一個整體輸入到神經網絡裡面處理,序列化數據是一幀一幀的數據放到網絡處理。

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

設計的基本網絡機構

原始的wav文件經過聲學特徵提取變成N*13,N代表這段數據有多長,13是每一幀數據有多少特徵值。N不是固定的。然後把N*13矩陣輸入給LSTM網絡,這裡涉及到兩層雙向LSTM網絡,隱藏節點是40個,經過LSTM網絡之後,如果是單向的,輸出會變成40個維度,雙向的就會變成80個維度。再經過全連接,對這些特徵值分類,再經過softmax計算各個分類的概率。後面再接CDC,再接正確的音素序列。

真實的語音識別環境要複雜很多。實驗中要求的是標準普通話和安靜無噪聲的環境。

如果對代碼講解(詳細代碼講解請點擊視頻)感興趣的話,可以複製連結中的代碼:https://github.com/thewintersun/tensorflowbook/tree/master/Chapter6

運行結果如下:

如果對開發內容感興趣,請關注雷鋒網公眾號:AI研習社。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 基於DeepSpeech2實現中文語音識別,實施全流程講解,拿來即用
    你是否在苦苦尋找能識別中文的語音識別模型?那認真看完本文,你也能實現,本文可能為您節省少則幾小時多則數天的工作時間。DeepSpeech2由百度矽谷AI實驗室在2015年發布,是一個採用PaddlePaddle深度學習框架實現的端到端自動語音識別系統,它能通過簡單學習算法較準確的識別英語和中文。
  • 聚焦平安科技 | 那些藏在「數位化」背後的科技利器
    回顧2020年,疫情的爆發加速了科技的發展,人工智慧、大數據等技術不斷落地應用,讓"數字服務"逐步融入我們的日常生活與工作,帶來高效便捷的新體驗。這一年,平安也在不斷打磨科技技術與產品,用科技的力量讓生活更簡單。
  • 基於DSP的語音識別系統的實現及分析
    尤其在會話任務上,自動語音識別系統遠不及人類。因此,語音識別技術的應用已成為一個極具競爭性和挑戰性的高新技術產業。  隨著DSP技術的快速發展及性能不斷完善,基於DSP的語音識別算法得到了實現,並且在費用、功耗、速度、精確度和體積等方面有著PC機所不具備的優勢,具有廣闊的應用前景。
  • 排名 語音識別_語音識別技術排名 - CSDN
    語音識別技術發展如此迅速,現在還影響語音識別效果的因素主要有哪些呢?筆者認為主要包括環境因素、說話人因素以及技術因素三個層面: 環境因素:主要是背景噪聲和環境混響的影響。典型的場景就是在地鐵裡用語音輸入效果會明顯下降,在距離很遠的地方去操控音箱也不怎麼靈了。 說話人的因素:比如口音明顯的人用語音識別很費勁;說話很快、口齒不清的人識別效果也一般。
  • 語音識別是什麼 語音識別聲學特徵介紹【圖文】
    人們預計,未來10年內,語音識別技術將進入工業、家電、通信、汽車電子、醫療、家庭服務、消費電子產品等各個領域。  語音識別聽寫機在一些領域的應用被美國新聞界評為1997年計算機發展十件大事之一。很多專家都認為語音識別技術是2000年至2010年間信息技術領域十大重要的科技發展技術之一。
  • 平安科技智能VIP識別系統的人像捕獲率達99%
    在人流密集的開放式場景中,若無需主動配合,傳統的人臉識別解決方案無法完成「無感式」人臉識別。針對這種開放式、人流密集的大場景,平安科技最新發布上線的平安π智能VIP識別系統有效解決以上技術難題,在動態識別場景中,人像捕獲率達99%,識別率高於95%。
  • 「首席對話」平安首席科學家肖京:科技如何戰疫,AI從計算至「算計」有多遠
    按照平安首席科學家肖京的話說,大數據、AI賦能需與產業應用結合起來。近期發布的2020年全球金融科技專利排行榜TOP100中,平安集團整體以1604件專利申請數,再次榮獲全球第一,而排行榜前十中,有一半為平安旗下子公司,其中,平安科技、金融壹帳通位列前三。這家有著五大生態圈、豐富業務場景的「金融+科技」巨頭如何看科技戰疫?怎樣評估AI?
  • 語音識別原理及其語音識別系統分類
    一個標準的語音識別系統如下圖所示。YQ5969語音識別二、語音識別系統分類語音識別系統根據對說話人說話方式的要求,可以分為孤立詞語音識別系統、連接字語音識別系統和連續語音識別系統;根據對說話人的依賴程度,可以分為特定人和非特定人語音識別系統
  • 語音識別的痛點在哪,從交互到精準識別如何做? | 雷鋒網公開課
    那麼實現人機互動需要解決哪些問題?這其中的關鍵技術有哪些?人機互動的未來趨勢如何?本期硬創公開課邀請了科大訊飛的研發主管趙豔軍為大家答疑解惑。當前的人機互動產品,在真正面對用戶時,在面對複雜環境時,魯棒性還不夠好。今天的分享,我們一起探討如何解決這些問題,不管是通過算法,還是工程,抑或產品,都是我們可以選擇的途徑。大家首先要有個共識,人機互動目前所面臨的問題,不是一朝一夕,一蹴而就能解決的,需要在各個方向在核心技術上不斷進步。科大訊飛AIUI是怎麼做的?
  • 雷達和矽麥結合音頻處理器實現最優的語音識別
    英飛凌科技股份公司攜手XMOS有限公司推出全新的語音識別構件。該構件將英飛凌的雷達和矽麥克風傳感器與XMOS 的音頻處理器相結合,通過音頻波束成形和雷達目標位置檢測進行遠場語音識別。
  • ...平安集團首席科學家肖京:行人重識別是智慧社區等應用的關鍵要素
    此次平安科技(深圳)有限公司參與合作「行人重識別(Person ReID)」賽項,平安科技參與了賽道設計和競賽規則制定等各個環節的大賽策劃,同時安排算法團隊和實施團隊的專家配合鵬城實驗室全程參與大賽的評審工作。
  • 智能音箱大戰全面開火,那麼問題來了:如何成為一名全棧語音識別...
    語音智能當前的核心關鍵是聲學問題和語義理解,隨著市場需求的爆發,能夠補齊其中一項技術短板的全棧語音識別工程師將會變成職場香餑餑,而且這類人才的培養成本非常高昂,至少會在未來十年內成為各大巨頭和創業公司爭搶的核心人才。那麼,如何成為一名全棧語音識別工程師呢?
  • 語音識別技術簡史
    (4)另外,在較少數據量的情況下,如何通過遷移學習得到一個好的聲學模型也是研究的熱點方向。例如方言識別,若有一個比較好的普通話聲學模型,如何利用少量的方言數據得到一個好的方言聲學模型,如果做到這點將極大擴展語音識別的應用範疇。這方面已經取得了一些進展,但更多的是一些訓練技巧,距離終極目標還有一定差距。
  • 基於DSP的漢字語音識別系統的實現方式解析
    語音識別是機器通過識別和理解過程把語音信號轉變為相應的文本文件或命令的高技術。作為專門的研究領域,語音識別又是一門交叉學科,它與聲學、語音學、語言學、數位訊號處理理論、資訊理論、計算機科學等眾多學科緊密相連。語音識別經過四十多年的發展,已經顯示出巨大的應用前景。本文從實現原理入手,介紹語音識別系統的實現方式。
  • 將衛星送入太空,平安硬核科技再度「顯山露水」
    十年聚焦「硬科技」「三句離不開技術科技」——在提及中國平安董事長馬明哲的時候,很多人都對他有過這樣的印象。曾幾何時,中國平安是打出第一個電銷電話,賣出第一個網際網路保險,是第一個為分公司架設網際網路,第一個建起呼叫中心的保險公司。在馬明哲的治理下,中國平安從誕生之日起就懷著科技基因,在潛移默化中形成了用科技解決商業模式問題的條件反射。
  • [論文分享]用GAN從MFCC合成語音波形
    本次論文分享的是一篇2018年發表在IEEE上的用GAN從MFCC合成語音波形的論文。Mel頻率倒譜係數(MFCC)則是利用它們之間的這種關係,計算得到的Hz頻譜特徵,MFCC已經廣泛地應用在語音識別領域(ASR)和說話人驗證(ASV)。由於MFCC是針對這些任務而設計的,因此它們的使用會丟棄許多在識別任務中被認為無關的信號細節。MFCC在識別和分類任務中的成功部分歸因於這種有損壓縮,其近似於聽覺中的感知特性。
  • 在AIScratch中如何實現人工智慧的語音對話功能
    在AIScratch裡我們可以識別錄音文字並且做出回答,通過識別的錄音的內容來做相應的程序處理,實現程序的一些語音交互功能,我們在AIScratch中也內置了 一個簡單語音指令系統,我們可以用語音來指揮系統做一些簡單的事情,下面給大家演示一下如何實現人工智慧的語音對話功能
  • 語音識別技術原理全面解析
    其過程是將若干個語音信號波形或 特徵參數的標量數據組成一個矢量在多維空間進行整體量化。把矢量空間分成若干個小區域,每個小區域尋找一個代表矢量,量化時落入小區域的矢量就用這個代表 矢量代替。矢量量化器的設計就是從大量信號樣本中訓練出好的碼書,從實際效果出發尋找到好的失真測度定義公式,設計出最佳的矢量量化系統,用最少的搜索和 計算失真的運算量實現最大可能的平均信噪比。
  • Siri語音識別:你在哪裡 就能準確地識別那附近地址
    與其他科技巨頭人工智慧實驗室博客的論文解讀、技術成果分享不同,蘋果的機器學習日記雖然也是介紹他們對機器學習相關技術的心得體會,但側重點在於技術產品的實現過程、技術資源用戶體驗之間的取捨,更像是「產品經理的AIapp研發日記」。
  • 從原理入手,解析基於DSP的漢字語音識別系統的實現方式
    語音識別是機器通過識別和理解過程把語音信號轉變為相應的文本文件或命令的高技術。作為專門的研究領域,語音識別又是一門交叉學科,它與聲學、語音學、語言學、數位訊號處理理論、資訊理論、計算機科學等眾多學科緊密相連。語音識別經過四十多年的發展,已經顯示出巨大的應用前景。本文從實現原理入手,介紹語音識別系統的實現方式。