Kaldi(A1)語(yǔ)音識(shí)別原理

Ref

語(yǔ)音識(shí)別的原理 https://www.zhihu.com/question/20398418
HTK Book http://www.ee.columbia.edu/ln/LabROSA/doc/HTKBook21/HTKBook.html
如何用簡(jiǎn)單易懂的例子解釋隱馬爾可夫模型咆瘟? https://www.zhihu.com/question/20962240/answer/33438846
《統(tǒng)計(jì)學(xué)習(xí)方法》第10章 隱馬爾可夫模型

強(qiáng)烈建議先看完以上資料


語(yǔ)音識(shí)別的原理

語(yǔ)音識(shí)別的過(guò)程可以理解為找路:
一個(gè)朋友告訴你他從杭州站走到杭州東經(jīng)過(guò)了水嚼隘、橋、廣場(chǎng)袒餐,想讓你猜猜他走的是哪條路飞蛹,你該怎么辦呢?

那我們就找這些特征所對(duì)應(yīng)的建筑吧灸眼,分別是公園卧檐、高架橋、娛樂(lè)廣場(chǎng)焰宣,啊霉囚,在圖上最可能的就是藍(lán)色的這條線了! 于是我們就從朋友的特征描述得到了他的行走路徑匕积,這就相當(dāng)于從音頻得到了發(fā)出這些音頻的文字盈罐,即語(yǔ)音識(shí)別。


上述過(guò)程有幾個(gè)問(wèn)題闪唆,包括

  • 這些特征對(duì)應(yīng)的建筑有很多盅粪,水可以是公園也可以是池塘、湖悄蕾、海等等票顾;朋友也不可能先跑到火星再坐飛船到杭州東,所以我們找的時(shí)候是在較為可能的范圍內(nèi)找的帆调,這對(duì)應(yīng)了語(yǔ)音識(shí)別中的語(yǔ)言模型奠骄,它限定了我們語(yǔ)音識(shí)別的范圍。
  • 包含上述水番刊、橋戚揭、廣場(chǎng)特征的路徑有很多,我們需要將特征最可能對(duì)應(yīng)的建筑給找出來(lái)撵枢,這對(duì)應(yīng)了語(yǔ)音識(shí)別中的聲學(xué)模型民晒,它描述了我們發(fā)特定音對(duì)應(yīng)某個(gè)單詞的概率,例如我發(fā)音是 偷貓肉 锄禽,顯然潜必,對(duì)應(yīng)的單詞是tomorrow的概率比tomato更大。

Observe值

在語(yǔ)音識(shí)別中沃但,朋友告訴你的特征被稱(chēng)作Observe值磁滚,觀測(cè)值,其提取的流程如下圖所示


流程示意

音頻波形 => (每一幀的)頻域特征序列 => (每一幀的)Observe值

上圖中這些圈圈是什么意思呢?

HMM:發(fā)音可能的路徑

舉一個(gè)具體的例子垂攘,比如我發(fā)了Hi這個(gè)單詞(在計(jì)算機(jī)里面使用音素phone來(lái)表明這個(gè)單詞是如何發(fā)音的维雇,Hi對(duì)應(yīng)于sil-h-ay-sil,sli指silence)晒他,下圖為計(jì)算發(fā)音為sil-h-ay-h-ay-sil-h-ay-sil的概率


首先我們需要規(guī)定發(fā)音可能的路徑吱型,對(duì)Hi這個(gè)單詞而言,發(fā)音只可能是(sil-h)-(ay-sil)的組合陨仅,比如我把H拖得比較長(zhǎng)津滞,說(shuō)的是HHHHHHi那就是(sil-h)(sil-h)(sil-h)…-(ay-sil)啦,前面一長(zhǎng)串的重復(fù)對(duì)應(yīng)于上圖中箭頭指向自己灼伤,Hiiiiiiiii~~~同理触徐。使用上圖這種鏈?zhǔn)降?strong>HMM就可以表示出這種發(fā)音的路徑。真正的識(shí)別當(dāng)然不止Hi這一條路徑狐赡,還有Hello,Hey,Apple等等撞鹉,是所有可能的狀態(tài)路徑的集合,語(yǔ)音識(shí)別就是從中找出一個(gè)對(duì)應(yīng)于Observe序列最可能的狀態(tài)路徑出來(lái)(這里的狀態(tài)相當(dāng)于找路中的建筑)颖侄。那么怎么知道哪個(gè)是最可能的呢鸟雏?這里先提出HMM相關(guān)的3個(gè)問(wèn)題。

關(guān)于HMM的3個(gè)問(wèn)題

問(wèn)題1:已知模型和狀態(tài)序列发皿,求產(chǎn)生特定觀測(cè)序列的概率

計(jì)算過(guò)程

解釋一下上圖中符號(hào)的含義:

  • π表示進(jìn)入到這條路徑的概率崔慧,朋友已經(jīng)告訴你是從杭州站出發(fā)了,所以π=1
  • o表示觀測(cè)值穴墅,即朋友告訴你的特征惶室,“水”,“廣場(chǎng)”等等玄货;b(o)則代表這個(gè)特征屬于某個(gè)建筑的概率皇钞,如在公園里出現(xiàn)水的概率比較大,則b公園(水)=0.8松捉,b公園(廣場(chǎng))=0.2
  • a則表示從一個(gè)狀態(tài)走到下一個(gè)狀態(tài)的概率夹界,如公園之后更容易走到廣場(chǎng)去,則a公園->廣場(chǎng)=0.7

回到這個(gè)問(wèn)題本身隘世。最簡(jiǎn)單的可柿,直接根據(jù)概率相乘計(jì)算;然后丙者,其實(shí)這個(gè)直接算的過(guò)程可以優(yōu)化复斥,于是有了Forward Algorithm,向前算法械媒,或者 Backward Algo目锭,向后算法评汰。后續(xù)的Baum-Welch Algo也會(huì)用到這個(gè)算法。

問(wèn)題2:已知模型和觀測(cè)序列痢虹,求這個(gè)觀測(cè)序列對(duì)應(yīng)的狀態(tài)序列

相當(dāng)于語(yǔ)音中的解碼問(wèn)題被去。最簡(jiǎn)單的,暴力破解奖唯,根據(jù)問(wèn)題1算出所有狀態(tài)序列產(chǎn)生這個(gè)觀測(cè)序列的概率惨缆,找一個(gè)最大的。采用動(dòng)態(tài)規(guī)劃優(yōu)化之后的算法為Viterbi Algo臭埋,維特比算法踪央。

問(wèn)題3:已知多個(gè)觀測(cè)序列臀玄,求模型(即求模型的a b π參數(shù))

若已知對(duì)應(yīng)的狀態(tài)序列瓢阴,則為監(jiān)督算法,根據(jù)頻數(shù)進(jìn)行估計(jì)健无。


監(jiān)督學(xué)習(xí)

若并不知道對(duì)應(yīng)的狀態(tài)序列荣恐,則為無(wú)監(jiān)督算法,Baum-Welch Algo累贤。

GMM:特定Observe值對(duì)應(yīng)于某一狀態(tài)的概率b(o)

GMM對(duì)應(yīng)于上圖中的函數(shù)曲線b(o)叠穆,是多個(gè)正態(tài)分布的疊加(如虛線所示),應(yīng)用GMM進(jìn)行計(jì)算的過(guò)程如下圖所示(這里是問(wèn)題1:已知模型和狀態(tài)序列臼膏,求產(chǎn)生特定觀測(cè)序列的概率):

計(jì)算過(guò)程

注意這里的0.7 0.4(就是a啦)對(duì)應(yīng)于HMM部分中狀態(tài)轉(zhuǎn)移的概率(箭頭上的概率)硼被,通過(guò)以上計(jì)算過(guò)程我們就能分別計(jì)算出Hi,Hello,Hey這些單詞的概率來(lái)了,概率最大的就是識(shí)別出來(lái)的文本啦渗磅。
這里僅僅展示了Hey這一個(gè)單詞的計(jì)算過(guò)程嚷硫,而不同的單詞概率密度函數(shù)(pdf)是不同的,如HTK Book里面的這張圖所示:
不同的單詞

針對(duì)所有待識(shí)別的單詞需要都構(gòu)建這樣的一串函數(shù)(即圖中的模型)然后才能選出最大概率的作為最終識(shí)別結(jié)果始鱼。
再來(lái)一個(gè)總體的圖方便大家理解仔掸。
Yes對(duì)應(yīng)的概率計(jì)算

HMM-GMM如何被構(gòu)建出來(lái)?

以上過(guò)程有兩個(gè)問(wèn)題:

  • 路徑是如何畫(huà)出來(lái)的医清?
  • 函數(shù)是如何擬合出來(lái)的起暮?

這里便對(duì)應(yīng)問(wèn)題3:已知多個(gè)觀測(cè)序列,求模型会烙,需要我們通過(guò)語(yǔ)料庫(kù)里的語(yǔ)音進(jìn)行訓(xùn)練负懦,由Baum-Welch Algo得到整個(gè)模型的參數(shù)。它也是個(gè)EM算法柏腻,需要先設(shè)定一個(gè)初始值纸厉,HTK里面的做法是先將觀測(cè)值均分,和整個(gè)句子的所有狀態(tài)近似對(duì)應(yīng)葫盼,計(jì)算出初始值残腌,然后進(jìn)行迭代得到更好的值,使在該模型下產(chǎn)生這個(gè)觀測(cè)值的概率提高,最終狀態(tài)值和觀測(cè)值就能更好地對(duì)齊在一起(句子里面每個(gè)單詞的狀態(tài)對(duì)準(zhǔn)到了相應(yīng)的語(yǔ)音特征)抛猫。其中迭代優(yōu)化的值包括π a b蟆盹,還有一個(gè)中間參數(shù)Lj(t),他表示t時(shí)刻觀測(cè)值對(duì)應(yīng)于狀態(tài)j的概率闺金,這就和對(duì)齊alignment聯(lián)系上啦逾滥。更詳細(xì)的介紹參考HTK Book。

維特比(Viterbi)解碼

當(dāng)訓(xùn)練過(guò)程完成之后败匹,要使用這個(gè)模型便對(duì)應(yīng)問(wèn)題2:已知模型和觀測(cè)序列寨昙,求這個(gè)觀測(cè)序列對(duì)應(yīng)的狀態(tài)序列,亦即已知wav文件對(duì)應(yīng)的特征序列掀亩,求其對(duì)應(yīng)的狀態(tài)舔哪,而狀態(tài)是單詞的更小級(jí)別的展開(kāi),最終可以轉(zhuǎn)換為單詞實(shí)現(xiàn)語(yǔ)音識(shí)別槽棍。
Viterbi解碼的算法如下圖所示捉蚤,

Viterbi算法

1代表開(kāi)始的狀態(tài),6代表結(jié)束的狀態(tài)炼七,我們的任務(wù)就是沿著一條最可能發(fā)生的路徑從1走到6缆巧,而路徑上每個(gè)黑點(diǎn)的概率都是知道的,Viterbi算法便可以通過(guò)動(dòng)態(tài)規(guī)劃的方式找出這條道路豌拙。不過(guò)Kaldi里面有另外一種解碼的方式陕悬,Lattice,這個(gè)后續(xù)再說(shuō)按傅。

總結(jié)

一張圖作為收尾和下一章的開(kāi)始:

HMM結(jié)構(gòu)

b(o)特定觀測(cè)值對(duì)應(yīng)某一狀態(tài)的概率不僅可以用GMM的方式計(jì)算捉超,還可以通過(guò)DNN的方式,這就是聲學(xué)模型逞敷。而Kaldi里用到的轉(zhuǎn)移模型便是WFST狂秦,這又究竟是個(gè)什么呢?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末推捐,一起剝皮案震驚了整個(gè)濱河市裂问,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牛柒,老刑警劉巖堪簿,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異皮壁,居然都是意外死亡椭更,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)蛾魄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虑瀑,“玉大人湿滓,你說(shuō)我怎么就攤上這事∩喙罚” “怎么了叽奥?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)痛侍。 經(jīng)常有香客問(wèn)我朝氓,道長(zhǎng),這世上最難降的妖魔是什么主届? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任赵哲,我火速辦了婚禮,結(jié)果婚禮上君丁,老公的妹妹穿的比我還像新娘枫夺。我一直安慰自己,他們只是感情好谈截,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布筷屡。 她就那樣靜靜地躺著涧偷,像睡著了一般簸喂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燎潮,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天喻鳄,我揣著相機(jī)與錄音,去河邊找鬼确封。 笑死除呵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爪喘。 我是一名探鬼主播颜曾,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼秉剑!你這毒婦竟也來(lái)了泛豪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤侦鹏,失蹤者是張志新(化名)和其女友劉穎诡曙,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體略水,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡价卤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渊涝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慎璧。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡床嫌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胸私,到底是詐尸還是另有隱情既鞠,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布盖文,位于F島的核電站嘱蛋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏五续。R本人自食惡果不足惜洒敏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疙驾。 院中可真熱鬧凶伙,春花似錦、人聲如沸它碎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)扳肛。三九已至傻挂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挖息,已是汗流浹背金拒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留套腹,地道東北人绪抛。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像电禀,于是被迫代替她去往敵國(guó)和親幢码。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容