深度學習筆記 | 第16講:語音識別——一份簡短的技術綜述

2021-02-20 狗熊會


大家好!又到了每周一狗熊會的深度學習時間了。在上一講中,小編給大家介紹了經典的 seq2seq,以及著名的注意力模型,並且小編在這些理論的基礎上給出一個基於seq2seq和注意力模型的機器翻譯實例。本講小編將和大家繼續將目光放寬,對廣義的自然語言處理應用領域之一的語音識別進行一次簡單而又相對完整技術綜述。

自動語音識別(Automatic Speech Recognition,ASR),也可以簡稱為語音識別。說新領域也有點誇張,因為語音識別可以作為一種廣義的自然語言處理技術,是用於人與人、人與機器進行更順暢的交流的技術。語音識別目前已使用在生活的各個方面:手機端的語音識別技術,比如蘋果的 siri;智能音箱助手,比如阿里的天貓精靈,還有諸如科大訊飛一系列的智能語音產品等等。

為了能夠更加清晰的定義語音識別的任務,我們先來看一下語音識別的輸入和輸出都是什麼。大家都知道,聲音從本質是一種波,也就是聲波,這種波可以作為一種信號來進行處理,所以語音識別的輸入實際上就是一段隨時間播放的信號序列,而輸出則是一段文本序列。

圖1 語音識別的輸入與輸出

將語音片段輸入轉化為文本輸出的過程就是語音識別。一個完整的語音識別系統通常包括信息處理和特徵提取、聲學模型、語言模型和解碼搜索四個模塊。語言識別系統如下圖所示:

圖2 語音識別系統

信號處理和特徵提取可以視作音頻數據的預處理部分,一般來說,一段高保真、無噪聲的語言是非常難得的,實際研究中用到的語音片段或多或少都有噪聲存在,所以在正式進入聲學模型之前,我們需要通過消除噪聲和信道增強等預處理技術,將信號從時域轉化到頻域,然後為之後的聲學模型提取有效的特徵向量。接下來聲學模型會將預處理部分得到的特徵向量轉化為聲學模型得分,與此同時,語言模型,也就是我們前面在自然語言處理中談到的類似 n-gram 和 RNN 等模型,會得到一個語言模型得分,最後解碼搜索階段會針對聲學模型得分和語言模型得分進行綜合,將得分最高的詞序列作為最後的識別結構。這便是語音識別的一般原理。

圖3 安德雷.馬爾可夫

因為語音識別相較於一般的自然語言處理任務特殊之處就在於聲學模型,所以語言識別的關鍵也就是信號處理預處理技術和聲學模型部分。在深度學習興起應用到語言識別領域之前,聲學模型已經有了非常成熟的模型體系,並且也有了被成功應用到實際系統中的案例。比如說經典的高斯混合模型(GMM)和隱馬爾可夫模型(HMM)等。神經網絡和深度學習興起以後,循環神經網絡、LSTM、編碼-解碼框架、注意力機制等基於深度學習的聲學模型將此前各項基於傳統聲學模型的識別案例錯誤率降低了一個 level,所以基於深度學習的語音識別技術也正在逐漸成為語音識別領域的核心技術。

語音識別發展到如今,無論是基於傳統聲學模型的語音識別系統還是基於深度學習的識別系統,語音識別的各個模塊都是分開優化的。但是語音識別本質上是一個序列識別問題,如果模型中的所有組件都能夠聯合優化,很可能會獲取更好的識別準確度,因而端到端的自動語音識別是未來語音識別的一個最重要的發展方向。

圖4 End2End Speech Recognizer

所以,這一講主要內容的介紹順序就是先給大家介紹聲波信號處理和特徵提取等預處理技術,然後介紹 GMM 和 HMM 等傳統的聲學模型,其中重點解釋語音識別的技術原理,之後後對基於深度學習的聲學模型進行一個技術概覽,對當前深度學習在語音識別領域的主要技術進行簡單了解,最後對未來語音識別的發展方向——端到端的語音識別系統進行了解。

因為聲波是一種信號,具體我們可以將其稱為音頻信號。原始的音頻信號通常由於人類發聲器官或者語音採集設備所帶來的靜音片段、混疊、噪聲、高次諧波失真等因素,一定程度上會對語音信號質量產生影響。所以在正式使用聲學模型進行語音識別之前,我們必須對音頻信號進行預處理和特徵提取。

最初始的預處理工作就是靜音切除,也叫語音激活檢測(Voice Activity Detection, VAD) 或者語音邊界檢測。目的是從音頻信號流裡識別和消除長時間的靜音片段,在截取出來的有效片段上進行後續處理會很大程度上降低靜音片段帶來的幹擾。除此之外,還有許多其他的音頻預處理技術,大家可以找來信號處理相關的資料進行閱讀,筆者這裡不多說。

然後就是特徵提取工作。音頻信號中通常包含著非常豐富的特徵參數,不同的特徵向量表徵著不同的聲學意義,從音頻信號中選擇有效的音頻表徵的過程就是語音特徵提取。常用的語音特徵包括線性預測倒譜係數(LPCC)和梅爾頻率倒譜係數(MFCC),其中 LPCC 特徵是根據聲管模型建立的特徵參數,是對聲道響應的特徵表徵。而 MFCC 特徵是基於人的聽覺特徵提取出來的特徵參數,是對人耳聽覺的特徵表徵。所以,在對音頻信號進行特徵提取時通常使用 MFCC 特徵。

MFCC 主要由預加重、分幀、加窗、快速傅立葉變換(FFT)、梅爾濾波器組、離散餘弦變換幾部分組成,其中FFT與梅爾濾波器組是 MFCC 最重要的部分。一個完整的 MFCC 算法包括如下幾個步驟:

圖5 傅立葉變換

實際的語音研究工作中,也不需要我們再從頭構造一個 MFCC 特徵提取方法,Python 為我們提供了 pyaudio 和 librosa 等語音處理工作庫,可以直接調用 MFCC 算法的相關模塊快速實現音頻預處理工作。

圖6 MFCC

過去在語音識別上所取得成果證明 MFCC 是一種行之有效的特徵提取方法。但隨著深度學習的發展,受限的玻爾茲曼機(RBM)、卷積神經網絡(CNN)、CNN-LSTM-DNN(CLDNN)等深度神經網絡模型作為一個直接學習濾波器代替梅爾濾波器組被用於自動學習的語音特徵提取中,並取得良好的效果。   

3

傳統聲學模型

在經過語音特徵提取之後,我們就可以將這些音頻特徵進行進一步的處理,處理的目的是找到語音來自於某個聲學符號(音素)的概率。這種通過音頻特徵找概率的模型就稱之為聲學模型。在深度學習興起之前,混合高斯模型(GMM)和隱馬爾可夫模型(HMM)一直作為非常有效的聲學模型而被廣泛使用,當然即使是在深度學習高速發展的今天,這些傳統的聲學模型在語音識別領域仍然有著一席之地。所以,作為傳統聲學模型的代表,我們就簡單介紹下 GMM 和 HMM 模型。

所謂高斯混合模型(Gaussian mixture model,GMM),就是用混合的高斯隨機變量的分布來擬合訓練數據(音頻特徵)時形成的模型。原始的音頻數據經過短時傅立葉變換或者取倒譜後會變成特徵序列,在忽略時序信息的條件下,這種序列非常適用於使用 GMM 進行建模。

圖7 高斯混合分布

如果一個連續隨機變量服從混合高斯分布,其概率密度函數形式為:

圖8 高斯混合分布概率密度函數

在實際的 GMM 訓練中,通常採用 EM 算法來進行迭代優化,以求取GMM中的加權係數及各個高斯函數的均值與方差等參數。

GMM 作為一種基於傅立葉頻譜語音特徵的統計模型,在傳統語音識別系統的聲學模型中發揮了重要的作用。其劣勢在於不能考慮語音順序信息,高斯混合分布也難以擬合非線性或近似非線性的數據特徵。所以,當狀態這個概念引入到聲學模型的時候,就有了一種新的聲學模型——隱馬爾可夫模型(Hidden Markov model,HMM)。

在隨機過程領域,馬爾可夫過程和馬爾可夫鏈向來有著一席之地。當一個馬爾可夫過程含有隱含未知參數時,這樣的模型就稱之為隱馬爾可夫模型。HMM 的核心概念是狀態,狀態本身作為一個離散隨機變量,馬爾可夫鏈的每一個狀態上都增加了不確定性或者統計分布使得 HMM 成為了一種雙隨機過程。

圖9 隱馬爾可夫模型

HMM 的主要內容包括參數特徵、仿真方法、參數的極大似然估計、EM估計算法以及維特比狀態解碼算法等細節知識,筆者將在手動實現機器學習算法系列中詳細介紹,本篇作為綜述這裡不做詳細的展開。

4

基於深度學習的聲學模型

一提到神經網絡和深度學習在語音識別領域的應用,可能我們的第一反應就是循環神經網絡 RNN 模型以及長短期記憶網絡 LSTM 等等。實際上,在語音識別發展的前期,就有很多將神經網絡應用於語音識別和聲學模型的應用了。

最早用於聲學建模的神經網絡就是最普通的深度神經網絡(DNN),GMM 等傳統的聲學模型存在音頻信號表徵的低效問題,但 DNN 可以在一定程度上解決這種低效表徵。但在實際建模時,由於音頻信號是時序連續信號,DNN 則是需要固定大小的輸入,所以早期使用 DNN 來搭建聲學模型時需要一種能夠處理語音信號長度變化的方法。一種將 HMM 模型與 DNN 模型結合起來的 DNN-HMM 混合系統頗具有效性。

圖10 DNN-HMM框架

在上圖這個框架中,HMM 用來描述語音信號的動態變化,DNN 則是用來估計觀察特徵的概率。在給定聲學觀察特徵的條件下,我們可以用 DNN 的每個輸出節點來估計 HMM 某個狀態的後驗概率。由於 DNN-HMM 訓練成本不高而且相對較高的識別概率,所以即使是到現在在語音識別領域仍然是較為常用的聲學模型。

除了 DNN 之外,經常用於計算機視覺的 CNN 也可以拿來構建語音聲學模型。當然,CNN 也是經常會與其他模型結合使用。CNN 用於聲學模型方面主要包括 TDNN、CNN-DNN 框架、DFCNN、CNN-LSTM-DNN(CLDNN)框架、CNN-DNN-LSTM(CDL)框架、逐層語境擴展和注意 CNN 框架(LACE)等等。這麼多基於 CNN 的混合模型框架都在聲學模型上取得了很多成果,這裡小編僅挑兩個進行簡單闡述。

TDNN是最早基於 CNN 的語音識別方法,TDNN 會沿頻率軸和時間軸同時進行卷積,因此能夠利用可變長度的語境信息。TDNN 用於語音識別分為兩種情況,第一種情況下:只有TDNN,很難用於大詞彙量連續性語音識別(LVCSR),原因在於可變長度的表述(utterance)與可變長度的語境信息是兩回事,在 LVCSR 中需要處理可變長度表述問題,而 TDNN 只能處理可變長度語境信息;第二種情況:TDNN-HMM 混合模型,由於HMM能夠處理可變長度表述問題,因而該模型能夠有效地處理 LVCSR 問題。

圖11 TDNN模型

DFCNN 的全稱叫做全序列卷積神經網絡(deep fully convolutional neural network),是由國內語音識別領域的翹楚科大訊飛於2016年提出的一種語音識別框架。DFCNN 先對時域的語音信號進行傅立葉變換得到語音的語譜圖,DFCNN 直接將一句語音轉化成一張圖像作為輸入,輸出單元則直接與最終的識別結果(比如音節或者漢字)相對應。DFCNN 的結構中把時間和頻率作為圖像的兩個維度,通過較多的卷積層和池化(pooling)層的組合,實現對整句語音的建模。DFCNN 的原理是把語譜圖看作帶有特定模式的圖像,而有經驗的語音學專家能夠從中看出裡面說的內容。

圖12 DFCNN模型

最後就是循環神經網絡 RNN,其中更多是 LSTM 網絡。音頻信號具有明顯的協同發音現象,因此必須考慮長時相關性。由於循環神經網絡RNN具有更強的長時建模能力,使得 RNN 也逐漸替代 DNN 和 CNN 成為語音識別主流的建模方案。比如說常見的基於 seq2seq 的編碼-解碼框架就是一種基於 RNN 的模型。關於 RNN 在語音識別和聲學模型中的應用小編不做過多解釋,感興趣的朋友可以自行查找相關資料了解。

長期的研究和實踐證明:基於深度學習的聲學模型要比傳統的基於淺層模型的聲學模型更適合語音處理任務。語音識別的應用環境常常比較複雜,選擇能夠應對各種情況的模型建模聲學模型是工業界及學術界常用的建模方式。但單一模型都有局限性。HMM能夠處理可變長度的表述,CNN能夠處理可變聲道,RNN/CNN能夠處理可變語境信息。聲學模型建模中,混合模型由於能夠結合各個模型的優勢,是目前乃至今後一段時間內聲學建模的主流方式。 

5

端到端的語音識別系統簡介

無論是 GMM 和 HMM 這樣的傳統聲學模型,還是基於深度學習的聲學模型,它們對於整個語音識別系統都是分開優化的,但是語音識別本質上是一個序列識別問題,如果模型中的所有組件都能夠聯合優化,很可能會獲取更好的識別準確度,所以我們需要一種端到端(End2End)的語音識別處理系統。

傳統的語音識別系統中的聲學模型訓練:

傳統的語音識別系統中的語言模型訓練:

谷歌的 Listen-Attend-Spell (LAS) 端到端語音識別系統:

關於端到端的語音識別系統,小編做的調研程度有限,更多的內容需要後續不斷的學習和實踐,也感謝讀者朋友有做語音識別方向的朋友給出一些建設性的意見。

以上便是本講內容。

在本節內容中,小編和大家按照5個小部分給大家介紹了語音識別的概念和技術。先是對語音識別做了一個概述,然後介紹了聲波信號處理和特徵提取等預處理技術,之後介紹 GMM 和 HMM 等傳統的聲學模型,其中重點解釋語音識別的技術原理,之後對基於深度學習的聲學模型進行一個技術概覽,對當前深度學習在語音識別領域的主要技術進行簡單了解,最後對未來語音識別的發展方向——端到端的語音識別系統進行了簡單了解。咱們下一期見!

 

【參考資料】

Supervised Sequence Labelling with Recurrent

https://www.zhihu.com/question/20398418/answer/18080841

俞棟 鄧力 解析深度學習 語音識別實踐

http://www.eeboard.com/news/yuyinshibie/

https://ai.googleblog.com/2017/12/improving-end-to-end-models-for-speech.html

魯偉,狗熊會人才計劃一期學員。目前在杭州某軟體公司從事數據分析和深度學習相關的研究工作,研究方向為貝葉斯統計、計算機視覺和遷移學習。

識別二維碼,查看作者更多精彩文章

識別下方二維碼成為狗熊會會員!

友情提示:

個人會員不提供數據、代碼,

視頻only!

個人會員網址:http://teach.xiong99.com.cn

相關焦點

  • 深度學習第56講:強化學習簡介與Q-Learning實例
    從整個機器學習的任務劃分上來看,機器學習可以分為有監督學習、有監督和半監督學習以及強化學習,而我們之前一直談論的圖像、文本等深度學習的應用都屬於監督學習範疇。自編碼器和生成式對抗網絡可以算在無監督深度學習範疇內。最後就只剩下強化學習了。但是我們這是深度學習的筆記,為什麼要把強化學習單獨拎出來講一下呢?
  • 語音識別技術概述
    除了傳統語音識別技術之外,基於深度學習的語音識別技術也逐漸發展起來。本文對廣義的自然語言處理應用領域之一的語音識別進行一次簡單的技術綜述。概述自動語音識別(Automatic Speech Recognition, ASR),也可以簡稱為語音識別。語音識別可以作為一種廣義的自然語言處理技術,是用於人與人、人與機器進行更順暢的交流的技術。
  • 入門 | 獻給新手的深度學習綜述
    機器之心認為,這篇綜述對於剛入門的深度學習新手是一份不錯的參考資料,在形成基本學術界圖景、指導文獻查找等方面都能提供幫助。用準確的話總結就是,深度學習是機器學習的一個子領域,它使用了多層次的非線性信息處理和抽象,用於有監督或無監督的特徵學習、表示、分類和模式識別。深度學習即表徵學習是機器學習的一個分支或子領域,大多數人認為近代深度學習方法是從 2006 開始發展起來的。本文是關於最新的深度學習技術的綜述,主要推薦給即將涉足該領域的研究者。本文包括 DL 的基本思想、主要方法、最新進展以及應用。
  • 【乾貨】怎樣用深度學習做語音識別
    加盟新智元,與人工智慧業界領袖攜手改變世界。【新智元導讀】吳恩達曾經預測當語音識別的準確率從95%上升到99%時,語音識別將會成為人類與計算機交互的新方式。歸功於深度學習,這4%的準確率的提升使得語音識別從難以實際應用的技術變成有無限的應用潛力的技術。
  • 深度學習第51講:自編碼器(AutoEncoder)及其keras實現
    從本講開始,筆者將花一些時間和大家一起學習深度學習中的無監督模型。
  • 超詳綜述 | 基於深度學習的命名實體識別
    無監督學習方法,不需要標註數據,依賴於無監督學習算法;論文簡要地介紹了前三種方法,著重地介紹第四種方法。18年出的一篇綜述比較有意思,主題是複雜實體識別,也就是重疊實體或者非連續性實體。最近對此進行了一些研究,先挖個坑,後續整理一下工作,再做分享。
  • 語音識別技術簡史
    但是,語音識別自誕生以來的半個多世紀,一直沒有在實際應用過程得到普遍認可,一方面這與語音識別的技術缺陷有關,其識別精度和速度都達不到實際應用的要求;另一方面,與業界對語音識別的期望過高有關,實際上語音識別與鍵盤、滑鼠或觸控螢幕等應是融合關係,而非替代關係。深度學習技術自 2009 年興起之後,已經取得了長足進步。
  • 深度人臉表情識別技術綜述,沒有比這更全的了
    隨著深度學習技術在各領域中的成功,深度神經網絡被越來越多地用於學習判別性特徵表示。目前的深度面部表情識別系統通常面臨兩個關鍵問題:由於缺乏足夠的訓練數據所造成的過度擬合,和與表情無關的變化,如照明、頭部姿勢和身份偏置信息。這篇文章是對深度面部表情識別的全面綜述,也是 AI 前線第 30 篇論文導讀。首先,我們結合相關背景知識,介紹深度 FER 系統的標準流程。
  • 讀書總結|深度學習圖像識別技術
    深度學習圖像識別技術——基於TenseorFlow Object Detection API和Open VINO工具套件
  • 亞馬遜首席科學家:揭秘 Alexa 語音識別技術
    Nikko Strom,現任亞馬遜首席科學家,是 Echo 和 Alexa 項目的創始成員,在語音識別技術相關領域有著資深的研究及從業經驗:aKhednc1997 年於瑞典皇家理工學院語音通信實驗室獲得博士學位,後擔任MIT計算機科學實驗室研究員;2000 年加入語音技術初創公司 Tellme Networks;2007
  • 深度學習第24講:計算機視覺之目標檢測算法綜述
    從本節開始,筆者將花費數講的時間對計算機視覺的第二大任務——目標檢測進行一個全面細緻的學習和講解。既是對前面的 CNN 圖像分類的內容延伸,也是繼續深入研究圖像算法的必走之路。在正式的學習各類目標檢測算法之前,本節將首先對影響目標檢測算法發展歷史的主要算法進行一個綜述,以期對後面的內容起到一個提綱挈領的作用。
  • 亞馬遜首席科學家:揭秘 Alexa 語音識別技術|AI NEXT
    大會主題是「探索 AI 的潛力,把 AI 技術應用於實用項目和服務」,對 CV、NLP、智能助手、深度學習框架均做了專題報告。其中,亞馬遜首席科學家 Nikko Strom 再次以「Alexa是怎樣煉成的」為主題講述了 Alexa 的深度學習基本架構、聲學模型、語音合成等內容,雷鋒網整理如下:
  • 百度語音識別技術突破 巨頭崛起
    ImageNet競賽中,越來越深的CNN不斷刷新著其性能那麼,深度學習在圖像領域的進展,是否能夠在語音識別上有所突破呢?通常情況下,語音識別是基於時頻分析後的語音譜完成的。3.語音識別以量取勝的同時,也以質取勝語音識別技術經歷了長達60年的發展。2006年Hinton提出了深度置信網絡,掀起了深度學習的熱潮。2009年,Hinton以及他的學生D. Mohamed將深度神經網絡應用於語音的聲學建模,在小詞彙量連續語音識別資料庫TIMIT上獲得成功。
  • 語音識別的技術原理是什麼?
    在開始語音識別之前,有時需要把首尾端的靜音切除,降低對後續步驟造成的幹擾。這個靜音切除的操作一般稱為VAD,需要用到信號處理的一些技術。要對聲音進行分析,需要對聲音分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀。分幀操作一般不是簡單的切開,而是使用移動窗函數來實現,這裡不詳述。幀與幀之間一般是有交疊的,就像下圖這樣:
  • 語音專題第四講,語音識別之解碼器技術簡介|大牛講堂
    博士畢業於中國科學院聲學研究所,曾任聲學所副研究員、百度語音技術部資深工程師等職位。在中科院工作期間曾領導完成多個"863"、教育部和中科院的科研項目。在百度工作期間把解碼器的搜索空間大小壓縮到了原來的十分之一,解碼速度提高了約30%,並在置信度、VAD等方面大幅提高了系統性能。現任地平線機器人語音識別算法工程師,深度參與地平線「安徒生」智能家居平臺的研發。
  • Kaldi 學習基礎篇(三)--語音識別資料
    機器器學習書籍主要針對的是HMM,EM,GMM、Tree等基礎算法學習。 深度學習基礎
  • 百度語音識別上線新版本 長語音轉寫告別時間限制
    隨著用戶對移動端語音功能需求的增長,開發者也開始紛紛將產品接入語音功能。目前,開發者多通過第三方接入語音識別技術,以減少研發時間、降低研發成本。但是,大部分公司提供的語音識別功能有時間限制,類似會議錄音、長語句等長語音識別成了難題,雖然市面上存在一些長語音識別技術支持方,但開發者需要為此支付大筆的技術接入費用,徒增業務成本。對於用戶,受「60秒」限制的語音識別功能往往無法滿足他們在生活、工作中的需求,這不僅影響他們使用語音識別功能的「興致」,同時會導致用戶對一些搭載了語音識別功能的產品「敬而遠之」。
  • 從技術到產品,蘋果Siri深度學習語音合成技術揭秘
    Siri 是一個使用語音合成技術與人類進行交流的個人助手。從 iOS 10 開始,蘋果已經在 Siri 的語音中用到了深度學習,iOS 11 中的 Siri 依然延續這一技術。使用深度學習使得 Siri 的語音變的更自然、流暢,更人性化。機器之心對蘋果期刊的該技術博客進行了介紹,更詳細的技術請查看原文。
  • 深度學習預習資料:圖靈獎得主Yann LeCun《深度學習》春季課程
    ,照這個課程清單按順序學就對了計算機視覺入門大全:基礎概念、運行原理、應用案例詳解NLP 技術路線詳解:這是從數學到算法的藝術深度強化學習入門難?這份資料手把手教會你入門 | 獻給新手的深度學習綜述……列出的這些課程僅是冰山一角。
  • 百度的語音識別技術或將超越谷歌和蘋果
    但是,現在他終於忍不住披露了更出色的語音識別技術,這是智慧型手機時代引人關注的關鍵領域。 具體來說,Deep Speech在車內或人群中等嘈雜環境下比其他語音識別系統的表現更出色。當然,關鍵是讓語音識別技術在現實世界中真正發揮作用。