幸運的是,隨著近年來機器翻譯技術的快速發展,尤其是自 2017 年 Transformer 模型提出以來,基于神經網絡的機器翻譯方法漸漸受到更多關注并且已經應用到了各大商業機器翻譯系統當中,大大減少了語言障礙帶來的不便,促進了人與人之間的交流。但與此同時,隨著互聯網的發展,人們日常能獲取到的信息也不再局限于文本,音視頻形式如今同樣成為信息傳遞的主要手段。因此,如何將語音信息翻譯成不同語言的文本也是一個要攻克的難題。
語音翻譯概述
語音翻譯 (Speech Translation, ST) 就是將一種語言的語音翻譯成另一種語言的文本。它有非常多重要且有趣的應用,例如:
視頻自動字幕
大會同傳
智能翻譯硬件
如今,實用的商業語音翻譯系統都是通過串接自動語音識別系統 (Automatic Speech Recognition, ASR) 和機器翻譯系統 (Machine Translation, MT) 實現的,語音翻譯的效果一定程度上隨著語音識別和機器翻譯技術的發展而提升。然而這類級聯的系統往往會存在錯誤累積的問題,即語音識別錯誤會直接導致機器翻譯結果出錯。為了解決這個問題,隨著近幾年序列到序列建模 (sequene-to-sequence modeling) 方法在機器翻譯和語音識別上的應用和發展[1-4],研究者也開始探索能夠直接將音頻翻譯成文本的端到端 (end-to-end) 語音翻譯技術。
語音翻譯建模方法
級聯語音翻譯 (Cascade)
級聯語音翻譯系統就是先使用一個語音識別模塊將音頻識別成文本,再用一個機器翻譯模塊將文本翻譯成不同的語言。這種方法的優勢是可以利用大規模的語音識別數據和機器翻譯數據分別將兩個模塊優化到極致。但是,語音識別的文本有以下一些特征或常見的錯誤:
- 無大小寫和標點信息
- 存在口語現象,如語氣詞、重復等
- 識別錯誤,如同音異形字識別錯誤、漏詞等
因此在實際應用的時候,還需要經過一定的后處理才能輸入到翻譯模塊中。例如:
- 口語順滑:識別并刪除識別文本中所包含的重復、冗余等口語現象;
- 文本逆規范化 (ITN):將識別文本轉換為書面化的文本(如數字轉換等)
- 改寫/糾錯:根據上下文語義,對文本進行改寫或糾錯從而提升譯文準確度
- 加標點、規范大小寫
可以看到,級聯系統支持我們插入各種優化處理模塊,并且各個模塊可以被單獨優化和替換。但各種被引入用于修正/糾錯的模塊又可能會引入更多的錯誤,因此級聯語音翻譯系統面臨最大的挑戰就是錯誤傳播問題 (error propagation) 以及計算復雜度高。
端到端語音翻譯 (End-to-end)
端到端語音翻譯是一個統一的直接將語音翻譯成文本的模型。這得益于“編碼器-解碼器”框架的發展,尤其是其在機器翻譯[1]和語音識別[2-4]上的應用。相比級聯模型,端到端模型的優勢是可以緩解錯誤傳播的問題,還可以簡化模型部署的過程。
目前,比較常用的端到端語音翻譯模型還是基于 Transformer,如下圖所示:
它的“編碼器-解碼器”主干結構就是標準的 Transformer,而與基于 Transformer 的神經機器翻譯唯一不同的是輸入端的詞向量變成了音頻的表示 (representation)。而我們知道,音頻文件被讀入到計算機程序之后,他的表示方式是一串離散的采樣點(即聲音在介質中振動的幅度),假設音頻的采樣率是 16,000(即每秒 16,000 個采樣點),那么即便是一段只有幾秒的音頻,讀入到程序中的序列也會非常長,因此在正式輸入到 Transformer 之前,還需要進行音頻特征抽取。如下圖所示是兩種目前最常用的端到端語音翻譯模型中的音頻特征提取方式:
- 基于聲學特征:首先提取傳統的聲學特征,如梅爾倒頻譜系數 (mel-frequency cepstral coefficient,MFCC) 和梅爾濾波器組特征 (log-mel filterbank coefficient,FBank) 等。得到的聲學特征是一個“音頻幀數 × 聲學特征數”的矩陣,其中的音頻幀可以看作是一個時序上維度,但相比文本中的句子單詞數還是稍長,因此在 FBank/MFCC 之后往往還會接若干層卷積神經網絡,進一步對聲學特征進行特征提取和降維。
- 基于無監督預訓練模型:無監督語音預訓練模型是近兩年比較熱門的研究方向,它無需抽取聲學特征,而是利用深層神經網絡模型直接基于大規模的音頻數據訓練語音的特征表示,目前在多項下游語音任務上的實驗表明,預訓練語音表示比傳統的聲學特征效果更好[5]。如上圖(2)是比較經典的 wav2vec2.0[6],音頻信號會通過 7 層卷積網絡進行特征提取和降維,然后再經過若干層 Transformer Block 獲得具備上下文信息的音頻特征表示。
端到端語音翻譯的潛力和挑戰
端到端的建模方法比傳統的級聯語音翻譯更具備潛力,我們可以通過如下推導進行論證(X 表示音頻輸入,S 和 T 分別表示語音識別結果和翻譯結果)[7]:
- 式(1):即為端到端語音翻譯模型,它直接從音頻 X 生成譯文 T;
- 式(2):引入了一個新的變量 S 且為(1)的條件概率展開形式;
- 式(3):我們用一個文本翻譯翻譯模型來近似 P(T | S, X),顯然這一步存在信息損失,因為我們忽略了原始的音頻輸入,導致翻譯模型無法真實捕捉到說話人的語氣、情感、態度等,進而可能存在歧義;
- 式(4):即為級聯語音翻譯模型,它直接取語音識別模型輸出的 Top 1 結果,并傳給機器翻譯模型。這就回到了前文所述的級聯模型的不足之處:一個是語音識別的輸出與機器翻譯不匹配(如口語化現象、無標點、甚至領域不匹配等),二是錯誤傳播的問題,尤其是在商業語音翻譯系統中,往往還包含口語順滑、標點恢復等模塊,潛在累積更多的機器學習模型的預測錯誤,同時增加了模型復雜度。
因此,無論是從模型復雜度,還是從效果而言,端到端的建模方法都具備更強的潛力。
我們其實可以通過增強機器翻譯模型的魯棒性、使用 ASR 輸出的 Top K 結果(如 lattice)、或者在標點模塊/翻譯模塊中結合更多的音頻信息來提升級聯模型的效果,但本文對此不作過多討論,因為要公平地比較這些方法需要大規模且相匹配的訓練數據做支撐,目前端到端語音翻譯的數據規模還不足以做到這一點。
如果端到端語音翻譯具備強大的潛力,那為什么現在商業的語音翻譯系統還都是級聯的?
這就關系到端到端方法最大的不足:數據資源稀缺。
以學術界開源的數據為例,機器翻譯研究中比較常用的有 WMT 數據,WMT21 En-De 就包含 4000 多萬平行語料,再加上 OpenSubtitles(影視字幕)、CCMatrix(清洗自 CommonCrawl)[8]等,光 En-De 語向就能積累到上億的平行語料。對于語音識別任務,2021 年也有研究者發布了 GigaSpeech 數據集,包含 1 萬小時有標注的英文音頻數據。而對于端到端語音翻譯任務,目前比較常用的數據集為 MuST-C [9],其中 En-De 語向包含 400 小時的音頻以及對應 25 萬句轉寫和翻譯,數據規模遠不如機器翻譯和語音識別任務。
究其原因,主要在于語音翻譯數據集構建流程復雜、成本高。比如我們需要先找到一個數據源,能夠同時滿足:帶有公開或者已授權的音頻,對應的轉寫和翻譯。接著需要對音頻、轉寫和翻譯進行切分,最后還要對齊以及過濾。經過這一系列的操作,最后獲得的有效數據的規模也不會很可觀。而對于工業界而言,標注一份數千或者上萬小時的語音翻譯數據也要消耗大量的人力、財力和時間。
為此,研究者們提出了許多方法來提升端到端語音翻譯的效果,比如更有效地利用大規模的語音識別和機器翻譯的數據、引入預訓練模型、重新設計編碼器和解碼器等,我們也在這一方向上積累了一系列工作。
一些探索和嘗試
我們嘗試利用語音識別和機器翻譯的數據來增強端到端語音翻譯,主要圍繞三個方面:更有效的編碼器和解碼器、訓練技巧和策略、數據增強。
LUT (AAAI 2021):聽,理解,再翻譯
論文地址:https://ojs.aaai.org/index.php/AAAI/article/view/17509
深入閱讀:https://mp.weixin.qq.com/s/D0BnXHh1w0AuCBBhv0nFBQ
文章認為,現有基于 Transformer 的端到端語音翻譯模型存在兩點不足:
- 只用一個編碼器,很難同時做好音頻信號解析和語義理解;
- 無法利用 ASR 轉寫的信息。因此,文章引入了兩個編碼器:聲學編碼器和語義編碼器。其中聲學編碼器負責解析音頻信號,并和轉寫的文字表示進行匹配,這里就可以用上 ASR
轉寫的監督信號。而語義編碼器則接收聲學編碼器的輸出,并進行語義理解。
COSTT (AAAI 2021):同時識別聲音和翻譯
論文地址:https://ojs.aaai.org/index.php/AAAI/article/view/17508
深入閱讀:https://mp.weixin.qq.com/s/Af6p1jVlkePrIZmUrjIaNw
雖然端到端語音翻譯直接接收音頻作為輸入,但語音到文本的跨模態翻譯難度會更大。另一方面,聯想到人類譯員在做交傳或同傳的時候,通常會記錄一些源語言的關鍵詞來幫助翻譯,文章便基于此,提出了在序列到序列模型的解碼過程中“連續預測”的方式,即讓端到端語音翻譯模型的解碼器先預測原音頻的轉寫結果,再繼續預測翻譯結果。這樣一來,解碼器端的自注意力機制可以使得在生成翻譯的時候“參考”到音頻的轉寫內容,同時單獨看解碼器其實是一個雙語的語言模型,可以利用文本翻譯的中的平行語料進行預訓練,也有效緩解了語音翻譯訓練數據稀缺的問題。
Chimera (ACL 2021):統一理解語音和文本
論文地址:https://aclanthology.org/2021.findings-acl.195/
深入閱讀:https://mp.weixin.qq.com/s/G_sqv9kAebm-PvIcu1hGHQ
日常生活中,我們是否會有這樣的經歷,就是在聽一些節奏感強、有歌詞的歌的時候,工作效率會嚴重下降。認知神經科學對此有過相關的解釋,就是聲音和文字信號傳入大腦之后會共享部分處理路徑。文章提出的 Chimera 模型就建模了這一思路,語音/文本輸入之后,會先經過各自的聲學編碼器/文本編碼器進行編碼,然后再通過若干個公共的“記憶元”提取真正有用的語義信息,而對于這套語義信息最開始是來自音頻還是文本,模型不做區分,由此模型便可以得到一個同時建模音頻和文本的共享語義空間。此外,從文本輸入到譯文輸出這部分鏈路還可以用更多額外的文本翻譯數據進行訓練,進一步緩解了語音翻譯語料不足的問題。
XSTNet (InterSpeech 2021):漸進多任務學習框架
論文地址:https://www.isca-speech.org/archive/interspeech_2021/ye21_interspeech.html
文章為了更充分地利用語音識別、文本翻譯和語音翻譯三種數據,設計了一種能夠同時做這三類任務的模型。模型的編碼器支持同時輸入文本和音頻,并且它們共享整個編碼器的參數,在解碼生成的時候,用生成句子的語言當作句子開始標記(如果跟音頻語言一致,那么做的就是識別任務;如果不一致,就是翻譯任務)。此外,文章還提出一種漸進式的學習方式 (progressive training),就是先用文本翻譯的數據預訓練整個網絡,再逐步加上語音識別和語音翻譯任務一起調優。實驗表明,這樣的模型訓練方式會比只用語音翻譯任務去微調效果更好。
IWSLT 2021 離線語音翻譯評測系統
論文地址:https://aclanthology.org/2021.iwslt-1.6
文章嘗試探索端到端系統的能力上限,引入了更多的語音識別數據和機器翻譯數據,并結合多任務學習方法、偽標簽技術、模型集成等方法,將端到端語音翻譯的性能提高了將近 8 BLEU,也逐步縮小跟級聯系統的效果差距。
NeurST (ACL 2021 Demo):端到端語音翻譯工具包和實驗基準
論文地址:https://aclanthology.org/2021.acl-demo.7/
項目地址:https://github.com/bytedance/neurst
文章推出了一套端到端語音翻譯工具包,基于結構化的設計可以方便地插入和修改各種數據預處理模塊、編碼器、解碼器結構等。并提供標準化的 libri-trans、MuST-C 等語音翻譯數據集的數據預處理、訓練和推理腳本,以及實驗基準結果。
STEMM (ACL 2022):跨模態混合訓練緩解模態鴻溝
論文地址:https://aclanthology.org/2022.acl-long.486/
近期的一些研究工作都在嘗試引入更多的文本翻譯數據來緩解端到端語音翻譯數據稀缺的問題,但是語音和文本之間存在著表示不一致的問題,文章稱之為模態鴻溝 (Modality Gap) ,這時模型難以從文本翻譯數據中學習到對語音翻譯有用的知識。為了更有效地利用文本翻譯數據,文章提出在訓練的時候在語音表示中隨機替換一部分為對應的文本表示,得到混合了語音和文本表示的序列,使模型學習到語音和文本模態間共享的語義空間。同時,模型使用多任務學習的方式,讓原始音頻生成的翻譯結果和混合表示生成的結果更接近,進而提升最后解碼時候的語音翻譯質量。
ConST (NAACL 2022):對比學習解決模態鴻溝
論文地址:https://arxiv.org/abs/2205.02444
文章在 XSTNet 的基礎上,探討模態鴻溝的問題。文章認為,在多任務學習的框架下同一個句子的語音表示和文本表示在語義空間中應該是相近的。為此,文章提出使用一個對比學習損失項來拉近相同句子的語音和文本表示,進而更加充分地利用額外的文本翻譯數據提升語音翻譯的性能。
MOSST (ACL 2022):基于單詞切分的端到端同傳
論文地址:https://aclanthology.org/2022.acl-long.50/
流式語音翻譯需要將實時的語音輸入翻譯成文本。傳統的端到端式語音翻譯系統一般把固定的輸入時長作為判斷系統讀寫的依據,這種做法面臨著兩大問題:一方面對于長語音信息它無法保證每次讀入的語音信息是完整的,造成翻譯質量下降;另一方面對于短語音信息它也無法提前結束讀入,造成翻譯延遲升高。為了更好地判斷流式語音翻譯的讀寫時機,文章引入了一種單調切分模塊,能夠檢測音頻流的邊界,實現動態讀寫。實驗發現,新模塊在延遲和質量兩個維度上全面超越以往的流式語音翻譯模型,同時還能夠讓模型在非流式的場景下也有不錯的表現。
結語
我們認為,端到端語音翻譯不僅比級聯系統復雜度低,同時效果上更具備潛力。基于我們的前期的探索,我們嘗試結合數據增強、多任務學習、預訓練等方式構建了中-英和英-中端到端語音翻譯系統,在日常對話翻譯上具備不錯的翻譯效果。同時,我們使用了 LightSeq[10] 來提高模型推理速度,服務響應時間比級聯系統快了 70%以上,目前可以在“火山翻譯小程序-音頻翻譯”中體驗到。