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