本發(fā)明涉及語音識(shí)別,尤其涉及一種語音識(shí)別模型的訓(xùn)練方法、語音識(shí)別的方法及裝置。
背景技術(shù):
1、自動(dòng)語音識(shí)別技術(shù)作為人機(jī)交互的重要橋梁,正日益成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,其核心任?wù)是將語音信號(hào)精準(zhǔn)地轉(zhuǎn)換為文本信息。在這一領(lǐng)域,基于transformer架構(gòu)的編-解碼模型,包括其變體如conformer、squeezeformer和zipformer等,憑借其出色的上下文建模能力,目前已成為語音識(shí)別領(lǐng)域的主流模型結(jié)構(gòu)。
2、語音transformer模型由兩個(gè)主要部分組成:編碼器和解碼器,每個(gè)部分都由多個(gè)網(wǎng)絡(luò)塊構(gòu)成,這些網(wǎng)絡(luò)塊包括自注意力層和前饋網(wǎng)絡(luò)層,并以殘差連接的方式堆疊。輸入的語音音頻數(shù)據(jù)首先通過編碼器進(jìn)行深入的特征提取,然后這些特征被傳遞到解碼器,用于在文本預(yù)測時(shí)參考語音的上下文信息。在解碼過程中,模型采用自回歸解碼策略,即解碼器在生成每個(gè)新詞時(shí),都會(huì)將之前生成的文本和當(dāng)前的預(yù)測結(jié)果作為新的輸入,參與到后續(xù)解碼過程,再進(jìn)行解碼,通過多輪迭代結(jié)算直至出現(xiàn)特殊終止字符。通過這種迭代的方式,模型能夠確保每個(gè)預(yù)測的字詞都充分考慮了上文信息,提高了識(shí)別的準(zhǔn)確性。
3、然而,由于解碼過程需要逐字進(jìn)行,并且每生成一個(gè)字都需要考慮之前所有生成的內(nèi)容,因此計(jì)算開銷和解碼時(shí)間會(huì)隨著識(shí)別結(jié)果序列的長度而顯著增加,因此,盡管自回歸解碼在準(zhǔn)確性上表現(xiàn)優(yōu)異,但其解碼效率仍有待提高。
4、目前主要采用以下兩種主流技術(shù)方案提升語音識(shí)別的解碼效率:
5、1、ctc增強(qiáng)解碼器輸入的非自回歸解碼方法:通過將ctc解碼的結(jié)果直接用作解碼器的輸入,并結(jié)合語音上下文信息以生成更精確的識(shí)別結(jié)果。僅需解碼器進(jìn)行一次計(jì)算,顯著加快了解碼速度,且識(shí)別性能接近自回歸解碼。然而,該方法在追求解碼速度的同時(shí),忽略了編碼器特征中包含的冗余信息,為解碼過程帶來了額外的計(jì)算量。
6、2、池化ctc尖峰序列生成掩碼序列:通過生成編碼器輸出的掩碼序列,實(shí)現(xiàn)對編碼特征的分段表示。在transformer的交叉注意力層中,通過增加置零掩碼來壓縮編碼特征,加速了計(jì)算過程,從而提高了解碼速度。盡管置零掩碼加速了部分解碼計(jì)算過程,但由于編碼特征的大小并未減少,所以這種方法并未實(shí)質(zhì)性減少解碼器的計(jì)算量。
7、針對現(xiàn)有技術(shù)的局限性,本發(fā)明旨在提出一種語音識(shí)別模型的訓(xùn)練方法、語音識(shí)別的方法及裝置,以克服現(xiàn)有技術(shù)中的不足。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中所存在的不足,本發(fā)明提供了一種語音識(shí)別模型的訓(xùn)練方法、語音識(shí)別的方法及裝置,旨在解決現(xiàn)有技術(shù)中關(guān)于如何高效地平衡解碼速度與準(zhǔn)確性的問題。
2、第一方面,本發(fā)明的實(shí)施例提供了一種語音識(shí)別模型的訓(xùn)練方法,所述語音識(shí)別模型為采用結(jié)合ctc與注意力機(jī)制的多任務(wù)學(xué)習(xí)架構(gòu)的模型,包括transformer編碼器和解碼器,所述方法包括:
3、獲取待識(shí)別的語音數(shù)據(jù),對所述語音數(shù)據(jù)進(jìn)行預(yù)處理,得到音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果;
4、基于預(yù)處理得到的音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果,對語音識(shí)別模型進(jìn)行預(yù)訓(xùn)練,得到音頻編碼器和ctc分類器;
5、將所述音頻fbank特征輸入到所述音頻編碼器中進(jìn)行編碼處理,輸出音頻特征序列;
6、采用預(yù)訓(xùn)練得到的ctc分類器對編碼后的音頻特征序列進(jìn)行去冗余處理,得到精簡后的音頻編碼特征;
7、通過去除冗余后的音頻編碼特征對語音識(shí)別模型中的transformer解碼器進(jìn)行微調(diào)訓(xùn)練,得到完成訓(xùn)練的語音識(shí)別模型。
8、優(yōu)選地,所述獲取待識(shí)別的語音數(shù)據(jù),對所述語音數(shù)據(jù)進(jìn)行預(yù)處理,得到音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果,包括:
9、步驟101、獲取待識(shí)別的語音數(shù)據(jù),所述語音數(shù)據(jù)包括音頻數(shù)據(jù)和對應(yīng)的文本數(shù)據(jù);
10、步驟102、對所述音頻數(shù)據(jù)進(jìn)行特征提取,得到音頻fbank特征;
11、步驟103、采用字節(jié)對編碼算法從訓(xùn)練數(shù)據(jù)中提取詞表,并對文本數(shù)據(jù)進(jìn)行編碼,得到文本數(shù)據(jù)編碼結(jié)果。
12、優(yōu)選地,所述基于預(yù)處理得到的音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果,對語音識(shí)別模型進(jìn)行預(yù)訓(xùn)練,得到音頻編碼器和ctc分類器包括:
13、步驟201、將音頻fbank特征作為輸入信號(hào),將文本數(shù)據(jù)編碼結(jié)果作為標(biāo)簽信號(hào),共同輸入到語音識(shí)別模型中;
14、步驟202、采用ctc損失函數(shù)和ce損失函數(shù)共同約束語音識(shí)別模型;
15、步驟203、通過多輪迭代訓(xùn)練,逐步調(diào)整模型參數(shù)以減少預(yù)測輸出與目標(biāo)標(biāo)簽之間的差異;
16、步驟204、持續(xù)訓(xùn)練,直至語音識(shí)別模型達(dá)到收斂狀態(tài);
17、步驟205、完成預(yù)訓(xùn)練,得到用于處理音頻數(shù)據(jù)的音頻編碼器和ctc分類器。
18、優(yōu)選地,所述采用預(yù)訓(xùn)練得到的ctc分類器對編碼后的音頻特征序列進(jìn)行去冗余處理,得到精簡后的音頻編碼特征包括:
19、步驟401、將所述音頻編碼器輸出的音頻特征序列輸入至ctc分類器中進(jìn)行解碼,根據(jù)ctc分類器的解碼結(jié)果,識(shí)別音頻特征序列中的非連續(xù)空白幀索引序列;其中,所述空白幀為ctc分類器解碼過程中的特殊填充詞;
20、步驟402、對識(shí)別出的非連續(xù)空白幀索引序列進(jìn)行遞增排序,將排序后的索引序列重新組合,形成新的音頻特征序列并作為去冗余后的音頻編碼特征進(jìn)行輸出。
21、優(yōu)選地,所述步驟401還包括如下步驟:
22、步驟4011、將經(jīng)過編碼得到的音頻特征序列輸入到ctc分類器中,采用greedy解碼方法對所述音頻特征序列進(jìn)行分類,得到尖峰分類序列;
23、步驟4012、判斷尖峰分類序列中的每一幀數(shù)據(jù)是否為空白符幀;
24、步驟4013、若幀數(shù)據(jù)是空白符幀,將尖峰分類序列的索引序列分為文本幀和空白幀索引序列;否則,對非空白符幀直接進(jìn)行序列合并,并遞增排序;
25、步驟4014、對所述空白幀索引序列進(jìn)行位置池化處理;其中,所述位置池化處理表示將連續(xù)的空白幀索引片段合并,并選擇其中具有最大空白幀概率的一幀代替這些片段。
26、優(yōu)選地,所述步驟402還包括如下步驟:
27、步驟4021、將位置池化后的空白幀與文本幀索引序列合并,并將合并后的序列進(jìn)行遞增排序;
28、步驟4022、根據(jù)新生成的幀索引序列,提取出聲學(xué)特征的緊湊表達(dá)序列,并作為去冗余后的音頻編碼特征進(jìn)行輸出。
29、優(yōu)選地,所述通過去除冗余后的音頻編碼特征對語音識(shí)別模型中的transformer解碼器進(jìn)行微調(diào)訓(xùn)練,得到完成訓(xùn)練的語音識(shí)別模型:
30、步驟501、凍結(jié)語音識(shí)別模型中的音頻編碼器與ctc分類器的參數(shù);
31、步驟502、將去除冗余后的音頻編碼特征輸入至transformer解碼器,對解碼器中的參數(shù)重新訓(xùn)練;
32、步驟503、使用transformer解碼器的交叉熵函數(shù)作為語音識(shí)別模型的損失函數(shù);
33、步驟504、結(jié)合所述損失函數(shù),調(diào)整transformer解碼器的參數(shù);
34、步驟505、持續(xù)訓(xùn)練,直至損失函數(shù)值收斂,獲得訓(xùn)練好的語音識(shí)別模型。
35、第二方面,本發(fā)明的實(shí)施例還提供了一種語音識(shí)別模型的訓(xùn)練裝置,所述語音識(shí)別模型為采用結(jié)合ctc與注意力機(jī)制的多任務(wù)學(xué)習(xí)架構(gòu)的模型,包括transformer編碼器和解碼器,所述裝置包括:
36、預(yù)處理單元,用于獲取待識(shí)別的語音數(shù)據(jù),對所述語音數(shù)據(jù)進(jìn)行預(yù)處理,得到音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果;
37、預(yù)訓(xùn)練單元,用于基于預(yù)處理得到的音頻fbank特征和文本數(shù)據(jù)編碼結(jié)果,對語音識(shí)別模型進(jìn)行預(yù)訓(xùn)練,得到音頻編碼器和ctc分類器;
38、特征處理單元,用于將所述音頻fbank特征輸入到所述音頻編碼器中進(jìn)行編碼處理,輸出音頻特征序列;
39、去冗余單元,用于采用預(yù)訓(xùn)練得到的ctc分類器對編碼后的音頻特征序列進(jìn)行去冗余處理,得到精簡后的音頻編碼特征;
40、訓(xùn)練單元,用于通過去除冗余后的音頻編碼特征對語音識(shí)別模型中的transformer解碼器進(jìn)行微調(diào)訓(xùn)練,得到完成訓(xùn)練的語音識(shí)別模型。
41、第三方面,本發(fā)明的實(shí)施例還提供了一種語音識(shí)別方法,所述方法通過語音識(shí)別模型實(shí)現(xiàn),所述語音識(shí)別模型為上述技術(shù)方案任一項(xiàng)所述的方法訓(xùn)練得到,所述語音識(shí)別方法包括:
42、步驟10、獲取待識(shí)別語音;
43、步驟20、將所述待識(shí)別語音輸入至訓(xùn)練好的所述語音識(shí)別模型,所述語音識(shí)別模型根據(jù)預(yù)設(shè)解碼策略,輸出所述待識(shí)別語音對應(yīng)的文字識(shí)別結(jié)果。
44、優(yōu)選地,所述語音識(shí)別方法還包括:
45、獲取待識(shí)別的音頻輸入信號(hào),并對所述音頻輸入信號(hào)進(jìn)行特征預(yù)處理,得到音頻fbank特征;
46、將所述音頻fbank特征輸入至conformer編碼器進(jìn)行編碼,提取聲學(xué)特征;
47、采用ctc分類器對conformer編碼器輸出的編碼特征進(jìn)行去冗余處理,得到去冗余的音頻編碼特征;
48、將去冗余處理后的音頻編碼特征輸入至transformer解碼器;
49、按照預(yù)設(shè)解碼策略,transformer解碼器對音頻編碼特征進(jìn)行解碼處理,得到預(yù)測文本序列;
50、將預(yù)測文本序列作為待識(shí)別音頻輸入信號(hào)的語音識(shí)別結(jié)果進(jìn)行輸出。
51、優(yōu)選地,所述預(yù)設(shè)解碼策略包括自回歸解碼和非自回歸解碼。
52、優(yōu)選地,所述使用自回歸解碼策略對音頻編碼特征進(jìn)行解碼處理,得到預(yù)測文本序列,包括如下步驟:
53、步驟11、設(shè)置初始文本輸入信號(hào)為特殊詞匯“<start>”,輸入至transformer解碼器進(jìn)行解碼;
54、步驟12、基于音頻編碼特征和所述特殊詞匯“<start>”,transformer解碼器生成首輪解碼計(jì)算結(jié)果;
55、步驟13、將transformer解碼器生成的結(jié)果與所述特殊詞匯“<start>”進(jìn)行拼接,構(gòu)建出初始文本序列;
56、步驟14、將所述初始文本序列與音頻編碼特征一同輸入至transformer解碼器,進(jìn)行下一輪解碼計(jì)算;
57、步驟15、重復(fù)步驟12至14,每次迭代計(jì)算均基于transformer解碼器的最新輸出和音頻編碼特征,更新文本序列,直至生成預(yù)設(shè)終止詞匯“<end>”,解碼結(jié)束并終止迭代;
58、步驟16、移除文本序列中的特殊詞匯“<start>”和終止詞匯“<end>”,將剩余文本序列作為預(yù)測的語音識(shí)別結(jié)果。
59、第四方面,本發(fā)明的實(shí)施例還提供了一種語音識(shí)別裝置,所述裝置通過語音識(shí)別模型實(shí)現(xiàn),所述語音識(shí)別模型為上述技術(shù)方案任一項(xiàng)所述的方法訓(xùn)練得到的,所述裝置包括:
60、語音獲取單元,用于獲取待識(shí)別語音;
61、識(shí)別單元,用于將所述待識(shí)別語音輸入至訓(xùn)練好的所述語音識(shí)別模型,所述語音識(shí)別模型根據(jù)預(yù)設(shè)解碼策略,輸出所述待識(shí)別語音對應(yīng)的文字識(shí)別結(jié)果。
62、相比于現(xiàn)有技術(shù),本發(fā)明具有如下有益效果:
63、通過本發(fā)明提出的技術(shù)方案,采用ctc分類器對音頻特征序列進(jìn)行去冗余處理,通過縮短transformer解碼器處理的編碼特征長度,有效減少了解碼器的處理負(fù)荷,從而達(dá)到提高解碼器解碼速度的目的,有效減少了transformer解碼器在解碼過程中需要處理的數(shù)據(jù)量,不僅顯著提高了解碼速度,還降低了對計(jì)算資源的需求,實(shí)現(xiàn)了對硬件資源的優(yōu)化利用,使得系統(tǒng)能夠支持多路并發(fā)的語音識(shí)別任務(wù),從而在實(shí)際應(yīng)用中展現(xiàn)出更高的靈活性和擴(kuò)展性。
64、本技術(shù)方案通過微調(diào)訓(xùn)練即可直接應(yīng)用于廣泛使用的ctc/aed模型中,無需進(jìn)行復(fù)雜的結(jié)構(gòu)調(diào)整或重新設(shè)計(jì),不僅使得模型更易于部署和集成,還為技術(shù)的持續(xù)進(jìn)步和優(yōu)化提供了極大的便利,降低了技術(shù)迭代的成本和復(fù)雜性。在去冗余的過程中,本技術(shù)方案通過去除不必要的空白幀,使得精簡后的音頻編碼特征序列中僅包含有用的語音信息,有效去除了對最終識(shí)別結(jié)果貢獻(xiàn)較小的冗余信息,減少了噪聲干擾,確保了模型對語音核心內(nèi)容的準(zhǔn)確捕捉,實(shí)現(xiàn)了語音識(shí)別系統(tǒng)在多樣化的實(shí)際應(yīng)用場景中均能保持高準(zhǔn)確度。