百度語(yǔ)音技術(shù)重要進(jìn)展:基于歷史信息抽象的流式截斷conformer建模SMLTA2
Transformer 模型用于在線(xiàn)語(yǔ)音識別任務(wù)中面臨多個(gè)難題,百度語(yǔ)音新發(fā)布的SMLTA2克服了這些障礙。
10 月 15 至 18 日,2021 年第十六屆全國人機語(yǔ)音通訊學(xué)術(shù)會(huì )議(NCMMSC2021)在江蘇徐州舉行。作為我國人機語(yǔ)音通訊領(lǐng)域研究中最具有權威性的學(xué)術(shù)會(huì )議之一,NCMMSC 受到國內語(yǔ)音領(lǐng)域廣大專(zhuān)家、學(xué)者和科研工作者的關(guān)注。
其中,百度語(yǔ)音團隊對外重磅發(fā)布基于歷史信息抽象的流式截斷 conformer 建模技術(shù)——SMLTA2,解決了 Transformer 模型用于在線(xiàn)語(yǔ)音識別任務(wù)中面臨的問(wèn)題,引發(fā)矚目。
自 2012 年以來(lái),百度語(yǔ)音識別技術(shù)一直不斷深入探索、創(chuàng )新突破,引領(lǐng)著(zhù)行業(yè)發(fā)展的技術(shù)路徑。2018 年,百度語(yǔ)音發(fā)布的 Deep Peak 2 模型突破了沿用十幾年的傳統模型,大幅提升各場(chǎng)景下識別準確率。2019 年初,百度語(yǔ)音技術(shù)團隊公布在線(xiàn)語(yǔ)音領(lǐng)域全球首創(chuàng )的流式多級的截斷注意力模型 SMLTA(Streaming Multi-Layer Truncated Attention), 相對準確率提升 15%。如今,隨著(zhù) SMLTA2 的發(fā)布,百度語(yǔ)音實(shí)現了在線(xiàn)語(yǔ)音識別歷史上的又一次重大突破。
百度語(yǔ)音識別技術(shù)發(fā)展路線(xiàn)圖
Transformer 模型用于在線(xiàn)語(yǔ)音識別領(lǐng)域的三大障礙
人工智能的終極目標是讓機器具備人類(lèi)智慧,幫助人類(lèi)實(shí)現各種任務(wù)的分析和決策。近年來(lái),隨著(zhù)深度學(xué)習技術(shù)的不斷發(fā)展,特別是 Transformer 模型結構的提出,為通用人工智能技術(shù)的實(shí)現指出了一種可行的方向。OpenAI 的研究人員根據 Transformer 模型的特點(diǎn),提出了一種預訓練語(yǔ)言模型(Generative Pre-trained Transformer,GPT)。通過(guò)不斷提升模型的容量和數據的規模,GPT 模型從 GPT-1 逐步迭代到 GPT-3,模型的能力也在穩定提升。在特定任務(wù)上,GPT-3 模型的性能已經(jīng)接近甚至超過(guò)了人類(lèi)的平均水平。Transformer 模型在 NLP 領(lǐng)域的成功應用,顯示出 Transformer 模型結構的建模潛力,激發(fā)了研究人員把該模型用于諸如語(yǔ)音識別和圖像識別等領(lǐng)域的巨大熱情。但是到目前為止,還沒(méi)有看到 Transformer 結構在在線(xiàn)語(yǔ)音識別系統的成功應用。
在線(xiàn)語(yǔ)音識別任務(wù)相比文本任務(wù)有其獨有的特點(diǎn)。從輸入數據的長(cháng)度上看,文本數據的長(cháng)度一般在幾十到幾百之間,而語(yǔ)音數據的長(cháng)度經(jīng)常是在一千幀以上。對于一些重要的長(cháng)語(yǔ)音識別任務(wù),音頻數據的長(cháng)度甚至達到了一萬(wàn)幀以上。區別于 LSTM 模型的逐幀遞推機制,Transformer 模型的核心采用 self-attention(自相關(guān))的機制。由于語(yǔ)音識別任務(wù)的語(yǔ)音長(cháng)度遠遠長(cháng)于文本任務(wù)的字數,使得以自相關(guān)操作為基礎的 Transformer 模型在用于在線(xiàn)語(yǔ)音識別時(shí),存在如下難以逾越的障礙:
“計算爆炸”問(wèn)題。由于 Transformer 模型的 Encoder 各層都需要做自相關(guān)。從理論上說(shuō),在中間語(yǔ)音識別結果需要實(shí)時(shí)展現的場(chǎng)合,這個(gè)自相關(guān)操作隨著(zhù)每一幀新的語(yǔ)音信息的輸入,需要和全部歷史輸入的語(yǔ)音幀進(jìn)行自相關(guān)運算。面對超長(cháng)的音頻數據,每次輸入都循環(huán)往復的進(jìn)行自相關(guān)運算,極大地消耗了系統的計算資源。
“存儲爆炸”問(wèn)題。由于 Transformer 模型的 Encoder 的每一層都需要保留整句話(huà)的特征編碼后,才能進(jìn)行后續網(wǎng)絡(luò )層中做自相關(guān)操作。為了把網(wǎng)絡(luò )做的更深更大,通常會(huì )引入殘差結構。在這種情況下,保留神經(jīng)網(wǎng)絡(luò )各層輸入就成為訓練和解碼時(shí)候必須的要求。而隨著(zhù)網(wǎng)絡(luò )層數的加深,網(wǎng)絡(luò )隱層維度的增大以及語(yǔ)音長(cháng)度的增加,對訓練和解碼時(shí)的顯存消耗造成巨大壓力。
“焦點(diǎn)丟失”問(wèn)題。超長(cháng)的音頻數據大大增加了 Transformer 模型的建模難度。區別于 NLP 任務(wù),語(yǔ)音任務(wù)的特點(diǎn)是很短的聲音信息夾雜在較長(cháng)的背景噪音或者靜音中。這些語(yǔ)音中的噪音或者靜音雖然不包含語(yǔ)言信息,但是會(huì )干擾注意力機制,導致注意力難以聚焦到有效的包含語(yǔ)言信息的聲音特征上,最終影響系統的建模精度。
此外,在線(xiàn)語(yǔ)音識別服務(wù)還需要流式解碼。也就是說(shuō)在語(yǔ)音輸入的同時(shí)就要啟動(dòng)音頻解碼,話(huà)音一落立刻就能拿到整句的識別結果。而且在說(shuō)話(huà)的過(guò)程中,屏幕上實(shí)時(shí)顯示語(yǔ)音識別的中間文字。如果等音頻完全輸入后才開(kāi)始解碼,會(huì )延長(cháng)用戶(hù)的等待時(shí)間,而且看不到輸入的中間文字,嚴重影響用戶(hù)的使用體驗。
百度于 2019 年初在業(yè)界首先提出的流式多級截斷注意力 SMLTA 模型,成功解決了端到端注意力模型的流式建模問(wèn)題。SMLTA1 主要采用的是 LSTM 模型結構。LSTM 模型的時(shí)序遞推的方式造成了該模型在建模能力和訓練效率上都弱于 Transformer 模型。但是,Transformer 模型應用于在線(xiàn)流式語(yǔ)音識別任務(wù)時(shí),需要同時(shí)解決流式解碼和上述 “計算爆炸”、“存儲爆炸”以及 “焦點(diǎn)丟失” 三大問(wèn)題。
百度語(yǔ)音新突破:基于歷史信息抽象的流式截斷 conformer 建模
通過(guò)對 Transformer 模型的深入研究,百度的研究人員在 SMLTA1 的基礎上,進(jìn)一步提出了基于歷史特征抽象的流式語(yǔ)音識別建模方法 SMLTA2。SMLTA2 模型不僅保留了 SMLTA1 流式、多級、截斷的特點(diǎn),還通過(guò)引入基于 Attention 的歷史特征抽象以及從 Decoder 到 Encoder 各層的注意力機制,解決了 Transformer 模型用于在線(xiàn)語(yǔ)音識別任務(wù)中面臨的問(wèn)題。其核心結構和歷史特征抽象的原理如下圖所示。
SMLTA2 模型結構和歷史特征抽象原理
由于卷積增強(Convolution Augmented)的 Conformer 模型同時(shí)具有 Transformer 模型的全局建模和卷積模型的局部建模的能力,SMLTA2 采用 Conformer 模型作為其主要結構。從圖中可以看到,SMLTA2 首先根據 CTC 模型的尖峰信息對連續語(yǔ)音特征進(jìn)行截斷,然后在截斷的特征片段上利用 Conformer Encoder 對輸入特征逐層編碼,最后使用 Transformer Decoder 得到相應的識別結果。在對當前建模單元編碼時(shí),歷史的語(yǔ)音特征片段被逐層抽象成固定長(cháng)度的特征向量,然后和當前的語(yǔ)音特征片段一起進(jìn)行注意力建模。這里的歷史特征抽象是指根據 Decoder 輸出的隱含特征對當前語(yǔ)音特征片段的 Encoder 各層進(jìn)行相關(guān)性建模。
通過(guò) CTC 特征截斷和歷史特征抽象的方式,SMLTA2 在保證建模精度的同時(shí),克服了傳統 Transformer 模型在長(cháng)音頻識別上面臨的 “計算爆炸” 和“存儲爆炸”問(wèn)題。并且通過(guò)流式動(dòng)態(tài)截斷的方式,把注意力縮小到一個(gè)合適的范圍,進(jìn)一步解決了 Transformer 模型在語(yǔ)音識別任務(wù)的 “焦點(diǎn)丟失” 問(wèn)題。
為了解決 Transformer 模型應用于流式語(yǔ)音識別任務(wù)的各種問(wèn)題,其他研究學(xué)者采用對 Encoder 各層進(jìn)行啟發(fā)式的截斷和抽象。Google 的 Transformer Transducer 模型對 Encoder 的上下文限制了固定長(cháng)度范圍,可以看作在輸入特征上進(jìn)行加窗截斷的方法。Facebook 的記憶增廣(Augmented Memory)方法把音頻特征切分為等長(cháng)的片段,然后通過(guò)平均池化等方法得到固定長(cháng)度的向量。這種截斷和抽象是先驗進(jìn)行的,最終的識別結果無(wú)法反饋信息給這種截斷和抽象過(guò)程。而且在此基礎上得到的特征向量只是一種數學(xué)上的簡(jiǎn)化,其本身并沒(méi)有實(shí)際的物理含義。SMLTA2 通過(guò)特征抽象得到的特征向量對應著(zhù)一個(gè)輸出的文字信息。這些特征向量拼接起來(lái)組成的歷史特征向量,實(shí)際上形成了一種聲學(xué)特征層面的語(yǔ)言模型,進(jìn)而有效提升 SMLTA2 模型的建模能力。
目前幾乎所有的基于 Encoder-Decoder 結構的端到端模型在建模時(shí),Encoder 和 Decoder 之間的關(guān)系是 Encoder 的輸出是 Decoder 的輸入,Decoder 的解碼過(guò)程并不和 Encoder 內部各層的編碼信息發(fā)生任何聯(lián)系。Decoder 只能在端到端聯(lián)合建模的訓練過(guò)程,通過(guò)誤差傳遞的方式間接地影響 Encoder 的編碼過(guò)程。盡管這種傳統的 Encoder-Decoder 協(xié)同工作的方式更簡(jiǎn)單,但是卻存在 Decoder 對 Encoder 內部各層信息的反饋和使用不夠直接的問(wèn)題。
通過(guò)前文分析,Transformer 模型應用于語(yǔ)音識別領(lǐng)域,必須對歷史信息進(jìn)行必要的截斷和近似。如果不引入從 Decoder 到 Encoder 各層的反饋機制,而簡(jiǎn)單武斷地對 Encoder 的各層信息進(jìn)行截斷或者近似,難免發(fā)生信息丟失,影響建模能力。SMLTA2 通過(guò) Decoder 到 Encoder 各層的注意力特征選擇機制來(lái)引入反饋,使得最外層識別結果信息可以直接作用于編碼器內部的每一層的編碼過(guò)程,通過(guò)歷史信息抽象充分提取有效特征信息,顯著(zhù)改善了 Transformer 模型從 NLP 領(lǐng)域應用到語(yǔ)音識別領(lǐng)域面臨的各種問(wèn)題。SMLTA2 的這種全新的端到端建模方法,是對傳統 Encoder-Decoder 結構的端到端建模的結構性創(chuàng )新。
語(yǔ)音識別模型的迭代和工業(yè)化落地
從基于 LSTM 和 CTC 的上下文無(wú)關(guān)音素組合建模 Deep Peak 2 到流式多級截斷注意力 SMLTA1,再到基于歷史特征抽象的流式語(yǔ)音識別建模 SMLTA2,百度一直堅持在語(yǔ)音識別模型上的創(chuàng )新迭代。
多年來(lái),百度語(yǔ)音不僅在技術(shù)路線(xiàn)上持續引領(lǐng)行業(yè),還一直堅持在產(chǎn)品上可使用、讓用戶(hù)真正可體驗。百度的上一代流式多級的截斷注意力模型 SMLTA1 就成功上線(xiàn)語(yǔ)音輸入法全線(xiàn)產(chǎn)品,服務(wù)中國數億用戶(hù),是世界范圍內已知的第一次大規模部署的用于在線(xiàn)語(yǔ)音輸入的注意力模型。
此次發(fā)布的 SMLTA2 依舊保持了流式識別的特點(diǎn),具備工業(yè)產(chǎn)品落地的能力。目前在實(shí)驗室內,模擬線(xiàn)上環(huán)境進(jìn)行測試,SMLTA2 在同等計算資源消耗的情況下,相對于上一代技術(shù)錯誤率降低大約 12%。SMLTA2 的提出,是百度在語(yǔ)音識別領(lǐng)域的又一技術(shù)突破,也是百度 AI 技術(shù)繼續領(lǐng)跑行業(yè)的重要技術(shù)創(chuàng )新。期待 SMLTA2 的產(chǎn)品上線(xiàn)應用,實(shí)現語(yǔ)音識別準確率的再度提升,給用戶(hù)帶來(lái)全新的交互體驗。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。