做網(wǎng)站首頁的圖片怎么縮小大數(shù)據(jù)營銷平臺那么多
摘要 | Abstract
? ? ? ? 這是一篇對語音識別中的一種熱門技術(shù)——DNN-HMM混合系統(tǒng)原理的透徹介紹。本文自2月10日開始撰寫,計劃一星期內(nèi)寫完。
1.前言 | Introduction
? ? ? ? 近期想深入了解語音識別(ASR)中隱馬爾可夫模型(HMM)和深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫(DNN-HMM)混合模型,但是盡管網(wǎng)絡(luò)上有許多關(guān)于DNN-HMM的介紹,如李宏毅教授的《深度學習人類語言處理》[1],一些博主的語音識別系列文章[2],斯坦福大學HMM課件[3]。但是這些材料要么不夠細致完備,要么對初學者來說過于復雜深奧(尤以HMM部分的琳瑯滿目的概率公式為首)。
????????因此,筆者在閱讀了大量相關(guān)資料后希望用深入淺出的方式為大家系統(tǒng)地介紹DNN-HMM混合模型。本文旨在為零基礎(chǔ)者從頭解析使用DNN-HMM混合方法的語音識別系統(tǒng)的底層原理。
????????筆者希望讓僅僅具備本科概率論基礎(chǔ)的人也能讀懂,如果你符合這個條件但仍覺得理解起來困難,你可以留下你的疑惑,以幫助我們改進文章。
????????
2.問題描述 | Problem Statement
? ? ? ? 我們直入主題,語音識別模型是這樣一個模型,它將一串語音信號(如一個僅包含語音的.wav音頻文件)作為模型的輸入,目的在于輸出一個與之最為匹配的文字內(nèi)容
(為了簡化問題,本文只考慮英文場景,其它語言原理基本類似)。其中,當我們說“最為匹配”的時候,我們主要考慮的是“最有可能”的,亦即,語音識別模型希望在給定
時,給出
,使得:
,
上式意味著,我們要找使得最大的
,記作
。
????????要解決這個問題,一個最直觀的辦法就是窮舉所有可能的,然后比一比他們的概率
,再選出最大的那一個。顯然這個想法是不現(xiàn)實的,因為所有可能的
也許是一個無窮的集合。再者,就算能夠縮小范圍,枚舉出大量比較可能的候選
,又如何比較概率
的大小呢?因而枚舉法似乎不是好的選擇。
? ? ? ? HMM類的方法則選擇使用貝葉斯理論對概率進行處理,這我們在后面會詳細說明。在此之前,筆者想為大家簡單講講其它的更清晰的解決思路。
3.相關(guān)研究 | Related Work
? ? ? ? 得益于今日神經(jīng)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,熟悉深度學習的我們很容易聯(lián)想到,似乎只要利用大量的音頻以及對應(yīng)的文本標注進行訓練,不需要額外的人工處理應(yīng)該也能做到很好的泛化能力(即拿到新的語音信號時可以準確地給出真實的文字答案)吧?
????????答案是:確實有,這種辦法被稱為Listen Attend, and Spell,簡稱LAS[4]。它使用一個深度學習模型,直接用聲音信號和人工標記的文字訓練,在推理時聽到新的聲音信號就能給出它認為最匹配的文字內(nèi)容。由于直接輸入音頻信號就能推理出其中的文字
,LAS被歸為端到端(End to End)模型。
? ? ? ? 不得不說,LAS這種方法確實是最符合(機器學習研究者的)直覺的,就像其它任何的機器學習任務(wù)(如圖像識別)一樣,訓練和推理再好理解不過了。
? ? ? ? 除了即將要介紹的HMM類模型,LAS、Transformer[5],還有CTC[6],RNN-T[7]等。這些內(nèi)容不是本文的重點,就不一一介紹了。
? ? ? ? 盡管LAS等端到端模型操作非常簡單無腦,但是在過去的很長一段時間內(nèi),這些堪稱暴力的方法并沒有想象中的那么強。至少在2020年時,商業(yè)語音識別系統(tǒng)的主力軍還是咱們今天文章的主角DNN-HMM[1],同時DNN-HMM模型也是第一個被宣稱達到人類同級別語音識別水平的模型[8]。接下來我們就要展開介紹HMM類模型:GMM-HMM系統(tǒng)和DNN-HMM混合系統(tǒng)。
4.方法 | Method
? ? ? ? 前文提到,語音識別的任務(wù)可以簡化為概率問題——在給定時,給出
,使得:
,
由于不好直接求得以進行比較,但在HMM系統(tǒng)中,我們可以對人說話的發(fā)音方式建模(這部分在后文會詳細介紹),進而容易得到的是
。故我們引入貝葉斯公式將上式反轉(zhuǎn),即作以下變型:
,
其中由于去掉分母不影響分式的大小比較,上式又等價于求:
。
? ? ? ?這其中,我們稱為聲學模型(Acoustic Model),稱
為語言模型(Language Model)。(對,就是Chat GPT一類的語言模型)
????????這樣,我們就將不容易估計的概率轉(zhuǎn)變成容易估計的概率。接下來我們簡要解釋聲學模型和語言模型的含義,以及為什么說他們?nèi)菀坠烙嫛?/p>
4.1.聲學模型與語言模型
? ? ? ? 首先是聲學模型,按字面意思理解,它就是給定文字內(nèi)容
,其對應(yīng)發(fā)音結(jié)果為音頻
的概率。這個過程是一個正向的過程,是較好估計的。舉一個不那么恰當?shù)睦?#xff0c;如在中文里,文字“朝陽”對應(yīng)的發(fā)聲結(jié)果中,發(fā)出類似于“cháo yáng”或者“zhāo yáng”的概率是比較大的,但發(fā)出任何其它的聲音的概率都是比較小的。筆者認為,這也是該概率被稱為“聲學模型”的原因,因為它描述的是“念”某一文字發(fā)出某一聲音的概率,即某文字的“發(fā)聲概率”。
? ? ? ? 以上的例子只是為了簡要說明“聲學模型”的內(nèi)涵而并不具有嚴謹性,對于某一文字內(nèi)容對應(yīng)應(yīng)該發(fā)出什么聲音,應(yīng)考慮更全面更深入的因素,而通過拼音的方式進行描述是抽象而模糊的。事實上,HMM正是聲學模型,其提出者將文字的發(fā)音過程簡化作一個隱馬爾可夫模型。這部分內(nèi)容我們會在后文詳細介紹,在此不多贅述。
? ? ? ? 至于語言模型,則是用于描述某一文字
出現(xiàn)的概率,也代表其出現(xiàn)的合理性。如在英文里的經(jīng)典例子,“識別語音”的英文“recognize speech”和“毀壞一個好沙灘”的英文“wreck a nice beach”的發(fā)音是一模一樣的。但是,由于后者的詞語搭配缺乏合理性(也可理解為在大量的各類文字材料中后者出現(xiàn)的頻率小得多),其概率
也小得多,故在二者的聲學模型取值相同(因為發(fā)音完全一樣)的情況下,“recognize speech”是具有更高可能的識別結(jié)果。在實踐中,我們會統(tǒng)計各詞語在各種語境(上下文環(huán)境)中出現(xiàn)的頻率,作為語言模型使用。時常,這樣的統(tǒng)計還不足夠令人滿意,我們也會從邏輯的角度出發(fā)對目標材料進行合理擴展。另外,作為評判文字出現(xiàn)合理性的語言模型,成果締造了Chat GPT這類能生成很多“合理”對話的聊天機器人。由于語言模型不是行文的重點,我們推薦有興趣的讀者查閱語言模型的其它相關(guān)材料,不再拓展闡述。
????????值得一提的是,即便是對于LAS之類的端到端模型,也即沒有使用貝葉斯公式變換出這一式子,而是直接求解原問題
的模型,也會引入語言模型
,即LAS等模型在實際上會求解
。盡管這一表達式缺乏邏輯,但在實踐中卻能起到可觀的效果,其原因可能在于這些模型本身不能很好地估計
,因而來自語言模型的修正可以生效[1]。
????????回到語音識別的問題上來,我們的目標是找到使得聲學模型和語言模型
相乘最大的
。換一個角度理解:語言模型可以基于聲學模型所生成的詞組的合理性對語音識別結(jié)果進行重打分(rescoring),以幫助改進識別質(zhì)量。
4.2.聲學模型的構(gòu)建:GMM-HMM系統(tǒng)
? ? ? ? 前文已經(jīng)提到,在搭建聲學模型的過程中,我們引入了HMM模型,其原因在于可以將發(fā)聲的過程看作是是隱馬爾可夫過程。但是在深入分析HMM相關(guān)內(nèi)容之前,為了敘述邏輯的通暢,我們還是先從
這一式子講起。
????????當我們想進一步探討這一式子時,第一個難題立馬撲面而來:文本先不提,這個音頻也太復雜了點。須知,在概率論里面,我們最喜歡的就是(1)意義明確的、(2)情況可能有限且盡量少的問題(如明天是否下雨這個問題就很好估計,因為情況少而且每種情況有明確的意義)。
? ? ? ? 但是作為音頻的語音信號,即便是在進行數(shù)字采樣(在這里,我們假定讀者已經(jīng)了解音頻數(shù)字采樣的知識)后,每分鐘的語音也至少有:
(1信道) x (8,000赫茲采樣率) x (2 ^ 16種信號強度)=?524,288,000?種可能情況
? ? ? ? 再加上音頻的每一個數(shù)值只是代表信號在那個時間點的強度(振幅),沒有什么實際的參考意義,因為不能直接和文字信息對應(yīng)上。
? ? ? ? 綜上,我們需要一種降維+特征提取的手段,這就是音頻分幀和特征提取。
4.2.1.預處理語音:音頻分幀與特征提取
? ? ? ? 特征提取的目的是降維和賦予數(shù)據(jù)意義,而分幀則是特征提取的前提。音頻分幀就是將音頻切片,分為一小段一小段的內(nèi)容,一個小段就是一幀(frame)。分好后再對每一幀分別進行特征提取。
? ? ? ? 在實踐中,我們通常會每10ms取一個幀,一個幀的長度是25ms。當然這意味著相鄰的幀之間會有重疊。

? ? ? ?
????????對于每個分好的幀,(對8k赫茲采樣率來說)具有25ms x 8,000Hz=200個采樣點,我們對這些采樣點進行特征提取。需要提取什么特征呢?有一點很重要的啟發(fā)就是:人對聲音的音高是非常敏感的。因此,我們可以在音高上做文章,用傅里葉變換把每一幀中各個音高的能量表達出來。當然,這還不夠,由于人耳在聲音提取上是有偏好的,即對不同音高的靈敏度不同,于是人們依據(jù)經(jīng)驗設(shè)計了一種考慮這個因素的特征表示方法:梅爾倒頻譜系數(shù)(MFCC)。
? ? ? ? 在這里,我們不介紹MFCC的具體提取流程,只說明其結(jié)果是:將每一幀的音頻內(nèi)容轉(zhuǎn)換為一個39維的向量,這39位數(shù)字,代表了39個人耳非常敏感的頻段上的強度。


? ? ? ? 于是,通過MFCC,我們就達到了降維(200+維至39維)和特征提取(39個人耳敏感頻段強度)的效果。
4.2.2.預處理文本:音素、三音和狀態(tài)
? ? ? ? 將語音信號簡化后還不夠,
TO-BE-CONTINUED
參考資料
[1] 國立臺灣大學李宏毅 (Hung-yi Lee)教授DLHLP2020課程,原網(wǎng)址:Hung-yi Lee (ntu.edu.tw)?,B站搬運Speech Recognition (Option) - HMM_嗶哩嗶哩_bilibili
[2] AI大道理 -?AI大語音(十三)——DNN-HMM (深度解析)-CSDN博客
[3] Stanford University EE365: Hidden Markov Models??hmm.pdf (stanford.edu)
[4]?W. Chan, N. Jaitly, Q. Le and O. Vinyals, "Listen, attend and spell: A neural network for large vocabulary conversational speech recognition,"?2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Shanghai, China, 2016, pp. 4960-4964, doi: 10.1109/ICASSP.2016.7472621.
[5]?Linhao Dong, Shuang Xu, and Bo Xu. "Speech-transformer: a no-recurrence sequence-to-sequence model for speech recognition."2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018.
[6]?Graves, Alex & Fernández, Santiago & Gomez, Faustino & Schmidhuber, Jürgen. (2006). Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural 'networks. ICML 2006 - Proceedings of the 23rd International Conference on Machine Learning. 2006. 369-376. 10.1145/1143844.1143891.?
[7]?Graves, Alex. “Sequence Transduction with Recurrent Neural? Networks.”??2012?ArXiv?abs/1211.3711
[8]?W. Xiong?et al., "Toward Human Parity in Conversational Speech Recognition," in?IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 25, no. 12, pp. 2410-2423, Dec. 2017, doi: 10.1109/TASLP.2017.2756440.?
[9] Ele實驗室 - 【語音識別技術(shù)】重度鑒賞?