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