語音專題第四講,語音識別之解碼器技術簡介|大牛講堂

2021-01-19 雷鋒網

雷鋒網按:本文作者潘復平,地平線機器人語音識別算法工程師。博士畢業於中國科學院聲學研究所,曾任聲學所副研究員、百度語音技術部資深工程師等職位。在中科院工作期間曾領導完成多個"863"、教育部和中科院的科研項目。在百度工作期間把解碼器的搜索空間大小壓縮到了原來的十分之一,解碼速度提高了約30%,並在置信度、VAD等方面大幅提高了系統性能。現任地平線機器人語音識別算法工程師,深度參與地平線「安徒生」智能家居平臺的研發。

語音識別技術,也被稱為自動語音識別(Automatic Speech Recognition,ASR),其目標是將人類語音中的詞彙內容轉換為計算機可讀的輸入,例如按鍵、二進位編碼或者字符序列。與說話人識別及說話人確認不同,後者嘗試識別或確認發出語音的說話人而非其中所包含的詞彙內容。

智能硬體行業的不斷發展,對計算機深度學習能力提出了更大的挑戰。為了滿足人工智慧技術快速產品化的訴求,進一步提升用戶體驗,未來的智能終端必須具備出色的與人交流、溝通的能力。人工智慧產品這種交互功能的實現是與語音解碼器技術密切相關的。本期「大牛講堂」主講潘復平博士將為我們科普高大上的「語音識別專題」之語音解碼技術。

基本原理

當前主流的語音識別系統多基於統計理論的貝葉斯準則其典型框架一般包含前端處理、聲學模型、語言模型、解碼器和後處理等五個基本模塊。解碼器模塊主要完成的工作包括:給定輸入特徵序列的情況下,在由聲學模型、聲學上下文、發音詞典和語言模型等四種知識源組成的搜索空間(Search Space)中,通過維特比(Viterbi)搜索,尋找最佳詞串,使得滿足:

(1.1)

通過貝葉斯公式,公式(1.1)可以改寫為:

(1.2)

其中,分母項無關,被省略。除了上述最優路徑,如果在Viterbi搜索中還保留了次優路徑,則解碼器可同時產生包含多候選識別結果的詞圖。

引入隱馬爾可夫模型和N元文法語言模型,公式(1.2)可表示為:

(1.3)

其中為單詞的狀態轉移序列,為狀態轉移概率。

公式(1.3)中,已經引入了Viterbi最大近似假設,這個假設會帶來一定的精度損失,但是其運算量卻大大降低。在解碼過程中,各種解碼器的具體實現可以是不同的。按搜索空間的構成方式來分,有動態編譯和靜態編譯兩種方式。關於靜態編譯,是把所有知識源統一編譯在一個狀態網絡中,在解碼過程中,根據節點間的轉移權重獲得概率信息。

由AT&T提出的Weighted Finite State Transducer(WFST)方法是一種有效編譯搜索空間並消除冗餘信息的方法。就動態編譯而言,只是預先將發音詞典編譯成狀態網絡構成搜索空間,其他知識源在解碼過程中根據活躍路徑上攜帶的歷史信息動態集成。

按搜索算法的時間模式來分,有異步與同步兩種方式。時間異步的搜索算法通過棧解碼器(Stack Decoder)來實現。時間同步的方法就是常說的Viterbi解碼。基於樹拷貝的幀同步解碼器是目前比較流行的方法。下面將針對搜索空間的兩種構成方式與幀同步解碼算法作進一步詳細介紹。

動態解碼網絡

動態解碼網絡僅僅把詞典編譯為狀態網絡,構成搜索空間。編譯的一般流程為:首先把詞典中的所有單詞並聯構成並聯網絡;然後把單詞替換為音素串;接著把每個音素根據上下文拆分為狀態序列;最後把狀態網絡的首尾根據音素上下文一致的原則進行連接,構成迴環。這樣編譯出來的網絡一般稱為線性詞典(Linear Lexicon)(如圖2-1),它的特點是每個單詞的狀態序列保持嚴格獨立,不同單詞的狀態之間沒有節點共享,因此內存佔用比較大,解碼過程中的重複計算比較多。

為了克服這些缺點,一般把單詞首尾發音相同的部分進行合併,稱為樹型詞典(Tree Lexicon)(如圖2-2)。由於大量相同狀態的節點被合併在一起,因此可以顯著降低搜索空間的規模,減少解碼過程的運算量。

圖2-1 線性詞典示例

圖2-2 樹形詞典示例

基於樹拷貝的動態規劃搜索算法

在樹形詞典構成的搜索空間中進行動態解碼,如果使用N-Gram語言模型,當前詞的ID只有在搜索到達樹的葉子節點時才能知道。這樣,語言模型的概率只有在達到N-Gram中第N個單詞的結束狀態後才能集成。為了能夠應用動態規劃準則,常用的做法是採用「樹拷貝」(Tree Copy)的方式來組織搜索空間:對於每個前驅詞歷史,我們引入詞典樹的一份拷貝,這樣在搜索的過程中,當單詞結束的假設出現時,我們總能夠知道它的前驅詞歷史。為了方便描述,下面以Bi-Gram語言模型為例介紹解碼搜索算法。

基於樹拷貝的解碼搜索需要用到動態規劃(Dynamic Programming,DP)算法。動態規劃的主要意圖是把一個全局最優問題的求解分解為小的局部問題並且形成遞歸聯繫。

下面首先引入兩個變量的定義:

表示時刻t到達前驅詞為v的詞典樹狀態s的最佳部分路徑得分。

表示時刻t到達前驅詞為v的詞典樹狀態s的最佳部分路徑起始時間。

這兩個變量的計算可以採用如下的迭代公式:

(3-1)&(3-2)

這裡表示前驅詞為v時假設(t, s)的最佳前驅狀態。後向指針只是簡單的根據動態規劃的決策進行傳播。

在詞的邊界,我們需要為每個單詞w找到它的最佳前驅詞v。為此我們定義:

(3-3)

這裡表示詞典樹中單詞w的結束狀態。為了能夠向下一個單詞傳播路徑假設,我們需要在處理時刻t的數據幀前傳遞分數和時間索引:

(3-4)&(3-5)

算法的流程見表3-1。從表中可以看出,DP遞歸包含兩個層次:

聲學層,主要是處理詞內部一些假設的重新組合;

詞對層,處理Bigram語言模型的使用。

該搜索過程是一個時間同步寬度有限的搜索策略。為了降低存儲量的需要,可以引入一個回溯數組用於記錄在每一個時間幀的詞邊界(v, w)和它們的開始時間。在句子的結束處,通過對回溯數組的一些查找操作可以很輕鬆地獲得識別出來的單詞序列。

束剪枝

對於大詞表連續語音識別中的完全DP搜索,在每個時間幀,DP遞歸程序面臨巨大數目的HMM狀態。如果採用一定的剪枝策略,則可以把計算量降低,同時保證識別率基本不下降。常用的剪枝操作主要從如下三個方面進行:

根據搜索空間中所有活躍路徑累計概率的最大值,設定一個門限,把累計概率小於該門限的那些路徑裁剪掉。

當活躍路逕到達單詞末尾後,可以取得單詞ID,同時在累計概率中加入語言模型得分。由於語言模型概率的加入,增大了不同路徑間的概率區分性,因此可以把到達詞尾的路徑歸集在一起,根據累計概率最大值設置門限,把累計概率小於門限的那些路徑裁剪掉。

這種剪枝方法是繪製活躍路徑累計概率的直方圖分布,然後根據事先設定的最大允許活躍路徑數量上限,算出合適的累計概率門限,把小於門限的活躍路徑裁剪掉,以避免路徑數量的爆炸性增長。

靜態解碼網絡

大詞表連續語音識別所常用的四類模型:HMM、跨詞三音子模型、詞典以及語言模型,實際上是在不同粒度上描述了可能的搜索空間:

1、HMM 模型定義了每個三音子所對應的HMM狀態序列。語音識別時,通過對每一幀所對應的狀態進行假設,可以在HMM的狀態序列上進行搜索,從而產生可能的三音子序列;

2、跨詞三音子模型定義了從三音子到音素的對應關係。根據HMM模型產生的三音子序列,可以得到可能的音素序列;

3、詞典定義了音素序列所表示的詞。根據跨詞三音子模型產生的可能的音素序列,可以得到相應的詞序列;

4、語言模型定義了詞序列出現的概率。根據詞典產生的詞序列,可以得到該序列的概率得分;

上述過程是非常複雜的,系統需要同時考慮4類模型以及模型之間的約束關係,以完成「從可能的狀態序列到可能的詞序列之間的轉換」。

20世紀90年代末期,美國電話電報公司(AT&T)的Mohri率先提出了以加權有限狀態轉換器(Weighted Finite-state Transducer: WFST)對語音識別過程中所使用的各種模型進行描述。此後,相關的研究紛紛出現。與傳統動態網絡解碼相比,基於WFST的識別系統在識別之前利用上述模型產生語音識別用的靜態解碼網絡,這個網絡包含了所有可能的搜索空間。

在此基礎上進行語音識別時,系統只需要將這個識別網絡(WFST網絡)讀入內存,然後基於聲學模型就可以在這個網絡上完成解碼,不需要像原有系統那樣同時考慮聲學模型、詞典、語言模型等。這樣簡化了語音識別系統的設計與實現。實驗表明,用WFST構建的語音識別系統具有識別速度快,識別效果好的特性。

所謂靜態網絡就是根據已知的模型,將它們代表的搜索空間進行組合,從而得到一個統一的識別網絡:從輸入HMM狀態序列,直接得到詞序列及其相關得分。基於WFST構建靜態解碼網絡是一個相對複雜的過程。構建網絡的第一步是將上述四類模型轉換成WFST表示。然後再依次進行WFST網絡的合併和壓縮,從而得到完整的語音識別靜態搜索空間。

我們用H、C、L、G分別表示上述HMM模型、三音子模型、字典和語言模型的WFST形式。不難看出,這四個模型在語音識別中相當於4個串聯的子系統。每一個子系統的輸出是下一個子系統的輸入。使用WFST的合成操作可以實現將上述串聯繫統組合成一個 WFST。使用HMM的狀態序列作為這個 WFST的輸入時,系統將直接輸出詞序列以及相應的得分。

但是,直接求空間複雜度較高,合成的結果佔用內存非常之大。為了在有限的內存中完成解碼網絡的構建,需要對信息逐步引入,並在每一步引入信息之後進行優化,為下一步引入信息做準備。同時,建立好靜態解碼網絡後,還需要進一步的優化,使得網絡能夠有較小的體積。基於上述思想,一般網絡構建的流程為:

(5.1)

其中的det表示確定化算法;min表示最小化算法;為 ε-Removal 算法。式(5-1) 在逐步引入信息的同時採用確定化算法對網絡結構進行優化。而在將所有信息引入後,需要採用WFST的最小化算法以及ε-Removal算法完成進一步的優化,使得形成的識別網絡較小。

基於靜態解碼網絡的搜索算法與基於動態網絡的動態規劃搜索算法類似,也是採用了迭代計算,讓概率信息在網絡節點間傳遞更新。不同之處在於,由於靜態網絡已經把搜索空間全部展開,所以它不需要根據解碼路徑的前驅詞構造搜索空間副本,也不需要在詞尾節點根據歷史信息查詢語言模型概率,它只需要根據節點間的轉移權重計算聲學概率和累計概率即可,因此解碼速度非常快。

雷鋒網(公眾號:雷鋒網)註:本文由大牛講堂授權雷鋒網發布,如需轉載請聯繫原作者,並註明作者和出處,不得刪減內容。有興趣可以關注公號地平線機器人技術,了解最新消息。

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

相關焦點

  • 語音識別技術簡史
    語音識別的精度和速度取決於實際應用環境,但在安靜環境、標準口音、常見詞彙場景下的語音識別率已經超過 95%,意味著具備了與人類相仿的語言識別能力,而這也是語音識別技術當前發展比較火熱的原因。隨著技術的發展,現在口音、方言、噪聲等場景下的語音識別也達到了可用狀態,特別是遠場語音識別已經隨著智能音箱的興起成為全球消費電子領域應用最為成功的技術之一。
  • 將加入小米,語音識別大牛Daniel Povey宣布年底前來中國工作
    機器之心報導參與:鄭麗慧、張倩昨天,國際語音識別大牛、前約翰霍普金斯大學(Jonhs Hopkins University)教授、 語音識別開源工具 Kaldi 之父 Daniel Povey 在 Twitter 上表示,他將很快與小米籤訂一項工作協議,工作地點位於北京。
  • 從不溫不火到炙手可熱:語音識別技術簡史
    語音識別的精度和速度取決於實際應用環境,但在安靜環境、標準口音、常見詞彙場景下的語音識別率已經超過 95%,意味著具備了與人類相仿的語言識別能力,而這也是語音識別技術當前發展比較火熱的原因。隨著技術的發展,現在口音、方言、噪聲等場景下的語音識別也達到了可用狀態,特別是遠場語音識別已經隨著智能音箱的興起成為全球消費電子領域應用最為成功的技術之一。
  • AI浪潮下,語音識別建模技術的演進 | 雷鋒網公開課
    語音識別建模對語音識別來說是不可或缺的一部分,因為不同的建模技術通常意味著不同的識別性能,所以這是各個語音識別團隊重點優化的方向。嘉賓介紹:陳偉,搜狗公司桌面事業部專家研究員,語音交互中心語音技術部負責人,負責搜狗語音識別、語音合成、音樂檢索、聲紋識別、手寫識別等多項技術的研發工作,同時負責搜狗知音引擎語音技術的研發,致力於通過技術和產品的創新提升語音交互品質
  • 智能語音識別技術入門系列(上)
    本系列文章開始,我們將一起探索自動識別、語言處理技術所包含的核心算法、模型及未來的發展趨勢。本篇文章我們主要討論語音識別的基本概念。並理解語音識別技術的流程。(一) 自動語音識別技術ASR自動語音識別,簡稱ASR。這項技術是使人與人,人與機器更順暢交流的關鍵技術。
  • 七大主流聲學建模技術背後,語音識別準確率如何進一步提升?
    語音識別建模對語音識別來說是不可或缺的一部分,因為不同的建模技術通常意味著不同的識別性能,所以這是各個語音識別團隊重點優化的方向。本文由搜狗語音交互中心語音技術部負責人陳偉來為大家分享伴隨著本輪人工智慧浪潮下語音識別建模技術的演進,希望能夠幫大家理清主流的識別建模脈絡以及背後的思考。
  • 專注E2E語音識別,騰訊AILab開源語音處理工具包PIKA
    機器之心報導作者:魔王、杜偉PyTorch + Kaldi,騰訊 AI Lab 開源輕量級語音處理工具包 PIKA,專注於端到端語音識別任務。Kaldi 是一個開源的語音識別系統,由 Daniel Povey 主導開發,在很多語音識別測試和應用中廣泛使用。
  • 百度語音首席架構師賈磊:讓語音技術可靠流暢,具備親情和溫暖
    在國內,談到智能語音技術,肯定繞不開一個人,那就是現任百度語音首席架構師賈磊,他是智能語音界舉足輕重的AI大牛,於2010年加入百度,組建了百度語音團隊,主導研發了百度語音識別和語音合成等一系列百度自有智慧財產權的語音核心技術。
  • SoapBox Lab開發兒童語音識別技術,打造最懂孩子的語音助手
    開發兒童語音識別軟體,創建獨特的兒童語音數據集,對於兒童語音和行為模式的理解互相結合,專屬的算法能隨時識別出兒童的語音,保護兒童的安全。近日,極客爸爸了解到,語音識別研究過程中會發現成人建立的語音庫並不能很好地理解兒童語音,很多存在著識別錯誤的問題。
  • 賈磊暢談AI語音技術的現在、過去和未來
    在國內,談到智能語音技術,肯定繞不開一個人,那就是現任百度語音首席架構師賈磊,他是智能語音界舉足輕重的AI大牛,於2010年加入百度,組建了百度語音團隊,主導研發了百度語音識別和語音合成等一系列百度自有智慧財產權的語音核心技術。
  • 小米如何挖到語音大牛Daniel Povey?
    上周AI圈的一則重磅新聞是Daniel Povey宣布將加盟小米,這位語音界的大牛、Kaldi 之父先是被任教的約翰霍普金斯大學開除,後收到Facebook的橄欖枝,結果他選擇拒絕Facebook的offer,來中國工作。
  • 語音識別算法有哪些_語音識別特徵提取方法
    語音識別算法有哪些_語音識別特徵提取方法 網絡整理 發表於 2020-04-01 09:24:49   語音識別算法有哪些   本文列舉了幾種不同的語音識別算法
  • 百度賈磊暢談AI語音技術的現在、過去和未來
    在國內,談到智能語音技術,肯定繞不開一個人,那就是現任百度語音首席架構師賈磊,他是智能語音界舉足輕重的AI大牛,於2010年加入百度,組建了百度語音團隊,主導研發了百度語音識別和語音合成等一系列百度自有智慧財產權的語音核心技術。
  • 淺談自然場景中的語音情感識別技術
    語音是人類最基本、最便捷的交流工具,承載了複雜信息的語音信號不僅可以反映語義內容,還能夠傳遞說話人內在的情感狀態。語音情感識別是 建立在對語音信號的產生機制深入研究與分析的基礎上,對語音中反映個人情感信息的一些特徵參數進行提取,並利用這些參數採用相應的模式識別方法確定語音情感狀態的技術。
  • 專訪阿里 iDST 語音組總監鄢志傑:智能語音交互從技術到產品,有...
    為此,雷鋒網對阿里 iDST 的語音專家鄢志傑博士進行了專訪,帶大家了解有關阿里 iDST 的事情,以及他們是如何看待當下最火的一些 AI 產品的。鄢志傑簡介iDST 智能語音交互小組在做哪些事情?雷鋒網:阿里 iDST 部門智能語音交互小組主要負責什麼?鄢志傑:我們這邊是智能語音交互的,包括幾個部分,通常我們講語音進和語音出。語音進就是語音識別,識別成了文字以後,就進入到我們的對話系統裡,做這句話的理解。
  • 應用、算法、晶片,「三位一體」淺析語音識別
    雲知聲提供物聯網人工智慧技術,通過與格力等公司合作,把自己的語音識別技術集成到終端家電產品中,另外,雲知聲發布的『Pandora』語音中控方案,能夠大幅縮短產品智能化周期。啟英泰倫結合自己強大的硬體(終端智能語音識別晶片CI1006)及算法(深度學習語音識別引擎)優勢,提供離線與在線的整套語音識別方案,並在物聯網各個領域有廣泛的布局。
  • 語音大牛Daniel Povey將亮相小米開發者大會
    早前小米已經官宣,全球AI語音識別專家、前約翰霍普金斯大學教授Daniel Povey將加入小米。最新消息顯示,Daniel Povey將首次在MIDC上亮相。今日,小米集團創始人雷軍在社交媒體上宣布,國際語音識別和AI領域的天才教授、語音識別開源工具Kaldi 之父Daniel Povey將出任小米集團語音首席科學家,他將在北京組建獨立研發團隊,匯報給集團副總裁、技術委員會主席崔寶秋,Daniel Povey將在2019年小米開發者大會首次公開亮相。
  • 語音識別揭秘:你的手機究竟有多理解你? - 專注金融科技與創新...
    大規模的語音識別研究始於70年代,並在單個詞的識別方面取得了實質性的進展。上世紀80年代以後,語音識別研究的重點逐漸轉向更通用的大詞彙量、非特定人的連續語音識別。90年代以來,語音識別的研究一直沒有太大進步。但是,在語音識別技術的應用及產品化方面取得了較大的進展。自2009年以來,得益於深度學習研究的突破以及大量語音數據的積累,語音識別技術得到了突飛猛進的發展。
  • 搜狗奪食科大訊飛語音識別
    在語音識別領域,代表語音技術圈領先水平的INTERSPEECH為促進語音識別技術的進步,舉辦了2020屆語音識別挑戰賽。在今年舉辦的INTERSPEECH 2020 DNS挑戰賽中,搜狗以4.01的MOS評分奪得冠軍。AI降噪技術取得的喜人成績,讓搜狗在語音識別技術的商業化推進中有了更足的底氣。
  • 靈雲多方言、多語種語音識別,這個技術很「要得」
    生活中,你是否還在為對著語音輸入法一不小心就帶出口的方言無法被識別而煩惱?  這一切都將不復存在,靈雲語音識別技術,聽懂你的方言,也幫你聽懂別人的方言、民族語和外語,而且支持混合識別,並以字幕、投屏等多種形式展示。  二十年核心技術匠心研發,完善的產學研合作體系,深厚的行業案例積累,使得靈雲語音識別技術持續保持行業領先。