本發(fā)明涉及一種語(yǔ)音識(shí)別解碼加速方法,具體為一種基于聲學(xué)聚類(lèi)的語(yǔ)音識(shí)別二階段解碼加速方法。
背景技術(shù):
1、自動(dòng)語(yǔ)音識(shí)別(asr,automatic?speech?recognition)通俗來(lái)講,就是利用計(jì)算機(jī)將一門(mén)語(yǔ)言的語(yǔ)音內(nèi)容轉(zhuǎn)換成對(duì)應(yīng)語(yǔ)言的文本輸出過(guò)程。作為自然語(yǔ)言處理(nlp)和人工智能(ai)的重要分支,asr在語(yǔ)音助手、實(shí)時(shí)字幕、會(huì)議記錄、語(yǔ)音輸入等應(yīng)用場(chǎng)景中具有廣泛需求。例如,各大科技公司紛紛推出asr相關(guān)產(chǎn)品,如蘋(píng)果的siri、谷歌的googleassistant和亞馬遜的alexa等。
2、縱觀asr的發(fā)展歷史,可以將其方法大致分為兩大類(lèi):基于規(guī)則的語(yǔ)音識(shí)別和基于數(shù)據(jù)驅(qū)動(dòng)的語(yǔ)音識(shí)別。具體來(lái)說(shuō),基于數(shù)據(jù)驅(qū)動(dòng)的asr方法又可以細(xì)分為基于統(tǒng)計(jì)的方法和基于深度學(xué)習(xí)的方法。早期的asr主要依賴(lài)人工定義的語(yǔ)音規(guī)則進(jìn)行識(shí)別。20世紀(jì)80年代至90年代,隱馬爾可夫模型(hmm,hidden?markov?model)成為asr領(lǐng)域的主流技術(shù)。hmm結(jié)合高斯混合模型(hmm-gmm),極大地提高了語(yǔ)音識(shí)別的準(zhǔn)確率,使得asr進(jìn)入商業(yè)化應(yīng)用階段。然而,統(tǒng)計(jì)方法仍然依賴(lài)大量的特征工程,并假設(shè)語(yǔ)音信號(hào)具有某種隱含的結(jié)構(gòu),導(dǎo)致其在復(fù)雜語(yǔ)音環(huán)境下的表現(xiàn)受到限制。此外,hmm-gmm方法對(duì)長(zhǎng)時(shí)間語(yǔ)音序列相互依賴(lài)的建模能力不足,難以有效處理語(yǔ)音中的上下文信息。進(jìn)一步,研究者又提出了基于深度學(xué)習(xí)的自動(dòng)語(yǔ)音識(shí)別方法,這種方法直接將語(yǔ)音識(shí)別用神經(jīng)網(wǎng)絡(luò)進(jìn)行建模,模型學(xué)習(xí)在端到端方式下完成,整個(gè)過(guò)程不需要人工特征的設(shè)計(jì)。
3、相比傳統(tǒng)的基于統(tǒng)計(jì)的語(yǔ)音識(shí)別方法,基于深度學(xué)習(xí)的自動(dòng)語(yǔ)音識(shí)別系統(tǒng)憑借著較高的識(shí)別質(zhì)量吸引了眾多研究人員的關(guān)注,但由于神經(jīng)網(wǎng)絡(luò)本身的特點(diǎn),其在使用的過(guò)程中會(huì)更加耗時(shí)。該問(wèn)題在實(shí)用化的語(yǔ)音識(shí)別系統(tǒng)中尤為突出,因?yàn)樗鼈円话愣紩?huì)對(duì)于響應(yīng)時(shí)間有更嚴(yán)苛的要求,因此語(yǔ)音識(shí)別系統(tǒng)的解碼速度也成為其能否實(shí)用化的關(guān)鍵,是否能夠在現(xiàn)有的基于深度學(xué)習(xí)的自動(dòng)語(yǔ)音識(shí)別系統(tǒng)的基礎(chǔ)上對(duì)其速度進(jìn)行優(yōu)化成為了一個(gè)極其重要的課題。
4、由于基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)涉及到大量的矩陣運(yùn)算,會(huì)占用較多的解碼時(shí)間,人們開(kāi)始嘗試知識(shí)蒸餾與注意力加速計(jì)算等方法進(jìn)行效率優(yōu)化。現(xiàn)有的基于自注意力機(jī)制的自動(dòng)語(yǔ)音識(shí)別系統(tǒng)放棄使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(比如循環(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等),其結(jié)構(gòu)中除了簡(jiǎn)單的前饋網(wǎng)絡(luò)之外幾乎都是通過(guò)注意力機(jī)制對(duì)序列的轉(zhuǎn)換進(jìn)行建模。在編碼器、解碼器內(nèi)部通過(guò)自注意力的機(jī)制分別對(duì)音頻及文本信息進(jìn)行建模,該部分開(kāi)銷(xiāo)成為解決模型加速的首要難點(diǎn)。然而在使用注意力加速及知識(shí)蒸餾等方法后注意力計(jì)算的開(kāi)銷(xiāo)被顯著減少,取而代之的是巨大的解碼詞表嚴(yán)重限制了模型整體推理速度,占比占到整體推斷時(shí)間的30%以上。
5、可見(jiàn),解碼詞表的大小仍然是制約解碼速度進(jìn)一步提升的關(guān)鍵因素。由于在計(jì)算過(guò)程中基于深度學(xué)習(xí)的自動(dòng)語(yǔ)音識(shí)別模型需要在整體過(guò)大的詞表空間下進(jìn)行解碼預(yù)測(cè),過(guò)大的詞表搜索空間極大的降低了解碼效率導(dǎo)致這種自動(dòng)語(yǔ)音識(shí)別的方法在實(shí)際使用中解碼速度很難滿(mǎn)足實(shí)時(shí)響應(yīng)的需求。如何通過(guò)壓縮解碼詞表,提高解碼效率成為自動(dòng)化語(yǔ)音識(shí)別低延遲落地的關(guān)鍵問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)中自動(dòng)語(yǔ)音識(shí)別的方法在實(shí)際使用中解碼速度很難滿(mǎn)足實(shí)時(shí)響應(yīng)的需求等不足,本發(fā)明要將解決的技術(shù)問(wèn)題是提供一種基于聲學(xué)聚類(lèi)的語(yǔ)音識(shí)別二階段解碼加速方法,能夠在快速推理的最新實(shí)現(xiàn)基礎(chǔ)上,且在模型性能幾乎沒(méi)有下降的前提下,提升實(shí)時(shí)響應(yīng)速度。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是:
3、本發(fā)明提供一種基于聲學(xué)聚類(lèi)的語(yǔ)音識(shí)別二階段解碼加速方法,包括以下步驟:
4、1)根據(jù)預(yù)訓(xùn)練的聲音單元提取模型獲得音頻對(duì)應(yīng)的聲學(xué)信息序列,并構(gòu)建<文本,聲學(xué)信息序列>的二元數(shù)據(jù),利用二元數(shù)據(jù)訓(xùn)練文本至聲音單元映射模型;
5、2)基于聲音單元映射模型,將文本轉(zhuǎn)變?yōu)閷?duì)應(yīng)的聲學(xué)信息序列并使用kmeans方法進(jìn)行聚類(lèi),獲得子詞表集合;
6、3)構(gòu)建自動(dòng)語(yǔ)音識(shí)別模型,篩選音頻至文本的語(yǔ)音識(shí)別訓(xùn)練數(shù)據(jù),并將音頻文件提取成fbank特征序列用以訓(xùn)練自動(dòng)語(yǔ)音識(shí)別模型;
7、4)根據(jù)步驟3)中的自動(dòng)語(yǔ)音識(shí)別模型解碼層輸出,進(jìn)行第一階段解碼,獲得對(duì)應(yīng)的目標(biāo)子詞表;
8、5)根據(jù)步驟4)中的第一階段解碼預(yù)測(cè)的目標(biāo)子詞表,在第二階段解碼中計(jì)算該子詞表下的概率分布,并選取概率最高的詞作為識(shí)別結(jié)果。
9、步驟1)中,根據(jù)預(yù)訓(xùn)練的聲音單元提取模型獲得音頻對(duì)應(yīng)的聲學(xué)信息序列,并構(gòu)建<文本,聲學(xué)信息序列>的二元數(shù)據(jù),利用二元數(shù)據(jù)訓(xùn)練文本至聲音單元映射模型,具體為:
10、101)對(duì)于每個(gè)音頻數(shù)據(jù),使用預(yù)訓(xùn)練的聲音單元提取模型獲得其對(duì)應(yīng)的聲學(xué)信息序列;
11、102)將文本與提取的聲學(xué)信息序列進(jìn)行組合,獲得<文本,聲學(xué)信息序列>的二元訓(xùn)練數(shù)據(jù);
12、103)使用標(biāo)準(zhǔn)的transformer,采取encoder-decoder的架構(gòu)設(shè)置,根據(jù)文本至聲學(xué)單元映射訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,獲得文本至聲學(xué)信息的文本至聲音單元映射模型。
13、步驟3)中構(gòu)建自動(dòng)語(yǔ)音識(shí)別模型,篩選音頻至文本的語(yǔ)音識(shí)別訓(xùn)練數(shù)據(jù),并將音頻文件提取成fbank特征序列用以訓(xùn)練自動(dòng)語(yǔ)音識(shí)別模型,具體步驟為:
14、301)采用conformer-encoder架構(gòu)和transformer-decoder架構(gòu),搭建語(yǔ)音識(shí)別模型框架;
15、302)對(duì)音頻至文本的語(yǔ)音識(shí)別訓(xùn)練數(shù)據(jù)進(jìn)行過(guò)濾清洗,篩選出高質(zhì)量的訓(xùn)練數(shù)據(jù),并將音頻文件提取為fbank特征表示;
16、303)使用specaug方法對(duì)音頻數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng),并使用卷積層進(jìn)行下采樣,縮短音頻數(shù)據(jù)長(zhǎng)度,用以保證訓(xùn)練的魯棒性和穩(wěn)定性;
17、304)將提取的音頻fbank特征輸入語(yǔ)音識(shí)別模型進(jìn)行訓(xùn)練,獲得自動(dòng)語(yǔ)音識(shí)別模型的解碼層輸出結(jié)果。
18、步驟4)中根據(jù)步驟3)的自動(dòng)語(yǔ)音識(shí)別模型解碼層輸出,進(jìn)行第一階段解碼,獲得對(duì)應(yīng)的目標(biāo)子詞表,首先獲得自動(dòng)語(yǔ)音識(shí)別模型解碼層的輸出結(jié)果,而后根據(jù)步驟2)中的聚類(lèi)后的子詞表集合作為分類(lèi)目標(biāo),使用softmax方法預(yù)測(cè)最可能的目標(biāo)子詞表,具體為:
19、401)根據(jù)聚類(lèi)后的子詞表集合,設(shè)定第一階段解碼分類(lèi)預(yù)測(cè)的所有目標(biāo)子詞表數(shù)量,構(gòu)建對(duì)應(yīng)的softmax層;
20、402)根據(jù)自動(dòng)語(yǔ)音識(shí)別模型解碼層的輸出結(jié)果,使用softmax方法進(jìn)行分類(lèi)預(yù)測(cè),獲得最可能的目標(biāo)子詞表,具體公式為:
21、
22、其中,pn為第n個(gè)目標(biāo)子詞表歸一化預(yù)測(cè)概率值;n為當(dāng)前目標(biāo)子詞表序號(hào);n為所有目標(biāo)子詞表數(shù)量;i=[1,n]代表任意子詞表序號(hào);ci為任意目標(biāo)子詞表在自動(dòng)語(yǔ)音識(shí)別解碼層的輸出概率;cn為第n個(gè)目標(biāo)子詞表在自動(dòng)語(yǔ)音識(shí)別解碼層的輸出概率;τ為溫度參數(shù),用以控制分布從平滑向尖銳過(guò)渡;gi為任意子詞表對(duì)應(yīng)的附加噪聲;gn為目標(biāo)子詞表對(duì)應(yīng)的附加噪聲。
23、步驟5)中第二階段解碼過(guò)程是根據(jù)已獲得的目標(biāo)子詞表進(jìn)行解碼,計(jì)算該子詞表下每個(gè)詞的概率分布,并選取概率最高的詞作為識(shí)別結(jié)果,其計(jì)算公式為:
24、
25、其中,pn,k為目標(biāo)單詞的歸一化預(yù)測(cè)概率;vn為第n個(gè)子詞表的詞數(shù)量大??;k為目標(biāo)單詞在該子詞表中的位置;lk為對(duì)應(yīng)目標(biāo)單詞的概率;i為目標(biāo)子詞表中的任意單詞;li為目標(biāo)子詞表中任意單詞的概率;t是溫度參數(shù),用以控制概率平滑度。
26、本發(fā)明具有以下有益效果及優(yōu)點(diǎn):
27、1.本發(fā)明提出了一種基于聲學(xué)聚類(lèi)的語(yǔ)音識(shí)別二階段解碼加速方法,通過(guò)減少目標(biāo)解碼詞表的大小可以極大提升系統(tǒng)在推斷過(guò)程中的效率,該方法在推斷速度上平均獲得近10%的加速比,同時(shí)模型性能沒(méi)有下降。并與其他加速方法實(shí)現(xiàn)正交化,可以同時(shí)使用使加速比達(dá)到90%。