美團語音互動部針對互動場景下的低延遲語音識別需求,提出了一種全新的低出字延遲流式語音識別方案。本方法將降低延遲問題轉換成一個知識蒸餾過程,極大地簡化了延遲最佳化的難度,僅透過一個正則項損失函式就使得模型在訓練過程中自動降低出字延遲。在實驗測試集上,本方法能夠獲得最高近 200 毫秒左右的平均出字延遲降低。
1. 前言
1.1 語音識別技術簡介
人機互動一直都是人工智慧大背景下的“熱門話題”,語音互動作為人機互動的一個重要分支,具有廣泛的應用價值,也被應用到美團的多個業務場景中,如智慧客服、電話營銷和電話滿意度反饋等。而流式語音識別技術是整個互動鏈條的入口,對互動體驗影響巨大。
常見的語音識別大多都是非流式語音識別技術,它是指模型在使用者說完一句話或一段話之後再進行識別。這意味著模型需要等待使用者停頓或結束說話才能開始識別,並且只能在使用者停頓或結束說話後才能輸出完整的識別結果。這樣做的缺點是會導致較長的延遲和不連貫的互動。例如,在會議場景中,如果使用非流式語音識別技術,就可能出現會議參與者說了很長時間的話才顯示出他們所說的內容,而且可能因為網路延遲或其他原因導致內容顯示不全或錯誤。這樣就會影響會議參與者之間的溝通和理解,並且降低會議效率和質量。
而與之對應的是流式語音識別技術,它是指可以在處理音訊流的過程中,支援實時返回識別結果的一類語音識別模型。這意味著模型不需要等待使用者說完整句或整段話就可以開始識別,並且可以隨著使用者說話的進度逐漸輸出識別結果。這樣做的好處是能夠大大減少人機互動過程中語音識別的處理時間,提高使用者體驗和互動效率。例如,在智慧客服場景中,使用流式語音識別技術,就可以實現使用者說一句話很快就能獲得機器人響應,而不是等到使用者說完一段話才給出回答。這樣就可以讓使用者更快地得到滿意的解決方案,並且減少使用者的等待時間和不滿情緒,提升使用者滿意度。在美團內部的眾多業務場景中廣泛使用了流式語音識別技術。
本文將詳細闡述團隊在語音互動場景中的低延遲流式語音識別方案,目前以該方案形成的技術論文《Peak-First CTC: Reducing the Peak Latency of CTC Models by Applying Peak-First Regularization》已經被語音領域國際頂級會議ICASSP 2023收錄。
1.2 問題與挑戰
對一個好的流式語音識別系統而言,不僅僅需要高的識別準確率,還應該具有很低的延遲。在互動場景中,低延遲可以提高使用者體驗和滿意度,讓使用者感覺不到語音識別的處理時間,更加自然和流暢地進行對話和問答。低延遲也可以減少通話交流中的誤解和衝突,讓使用者能夠及時地收到反饋結果,避免重複或打斷對方的說話。此外,低延遲還可以增加語音應用的可用性和靈活性,讓使用者能夠在各種場景下透過說話來完成任務(例如線上遊戲、語音助手、智慧家居等),節省下來的延遲也可以用於在語音服務的上下游部署更加複雜的模型結構,從而進一步完善互動鏈路等。
在美團的互動場景中,廣泛使用聯結時序分類模型(Connectionist Temporal Classification, CTC )作為基礎模型來構架流式語音識別系統。CTC 模型由於其優雅的模型結構、卓越的模型表現以及良好的擴充套件性受到了廣泛的青睞。目前已經廣泛應用在語音識別(Automatic Speech Recognition, ASR)、語音翻譯(Speech Translation, ST) 以及 光學字元識別(Optical Character Recognition, OCR)等領域。
下圖展示了一種典型的 CTC 模型結構,其依賴 DFSMN 網路結構搭建,僅包含聲學編碼器(Acoustic Encoder)和輸出線性對映層兩部分。聲學編碼器用來將輸出的聲學特徵序列轉變成聲學編碼序列,而輸出線性對映層則負責將利用聲學編碼表示,計算得到模型預測出不同文字標記的機率值。對比其他流式語音識別模型,CTC 模型不需要複雜的編碼解碼(Encoder-Decoder)結構或者注意力機制(Attention Mechanism)就能實現兩個不等長序列之間的轉換(對於語音識別而言是從聲學特徵序列轉換到目標文字序列)。
基於 CTC 的流式語音識別系統對於延遲也有著非常高的要求。從使用者發音結束到系統識別出對應文字之間的時間差被稱之為出字延遲。出字延遲越低則意味著 ASR 系統吐字的速度越快,使用者體驗越好。下圖展示了 CTC 模型的輸出機率分佈,其中頂部色塊表示使用者說的每個文字的發聲範圍,而底部對應顏色的尖峰則表示系統識別出的文字所在的位置。出字延遲則對應著色塊尾部與機率尖峰位置之間的時間差。本文所展示的工作就聚焦於如何降流式 CTC 語音識別系統的出字延遲。
2. 尖峰優先正則化方法
2.1 CTC 模型基礎
CTC 模型能夠直接建模了聲學序列到文字序列的轉換關係,而不需要注意力機制等結構。由於文字序列的長度遠遠小於聲學特徵序列(通常情況下聲學特徵序列以幀作為單位,相鄰兩幀之間間隔為 10ms,時長為 1s 的語音就可以被劃分為100 幀),而在模型預測過程中,每幀特徵都有一個預測標籤。CTC 損失計算過程中引入了空格標記 φ 來作為填充標記符,以使得文字序列與聲學序列的長度相等。
以下圖(a)中所展示的 CTC 路徑空間為例,其中橫軸表示聲學特徵序列,縱軸表示目標文字序列。一條語音預測出文字序列“CAB”的機率可以被描述為後驗機率$P(\text{CAB}∣{X})$, 為了方便計算損失,需要使用空格標記 φ 對文字標記填充,填充之後會出現與目標序列對應的多條路徑(對應圖3(a)中的實線與虛線,從圖中左上角開始空格標記或者非空格標記開始,沿著線段轉移至右下角空格或者非空格標記的路徑均是一條可能的解碼路徑),所有路徑的機率和等於後驗機率 $P(\text{CAB}∣{X})$。為了避免路徑窮舉導致的計算爆炸問題,CTC 損失計算過程實際上使用了基於動態規劃思想的前後向演算法,來對所有可行的解碼路徑進行機率求和,並最終以負對數機率作為最終損失函式來進行最佳化。
2.2 尖峰優先正則化方法描述
由於 CTC 的輸出機率中蘊含著海量的可行解碼路徑,為了降低輸出延遲,我們對所有的解碼路徑進行了仔細的分析和觀察,如上面(a)圖所示,網格中包含與文字“CAB”對應的多條可能的路徑,以橙色和藍色實線連線的路徑為例,顯然兩條路徑的轉移位置存在明顯區別,藍色路徑分別在t_2,t_4和t_6位置預測出字元"C","A","B";而橙色路徑則在 t_4,t_6 和 t_9 位置才預測出對應的字元。因此藍色路徑相對橙色路徑具有更低的出字延遲,其從時間軸上來看,藍色路徑相對橙色路徑更加靠左。基於這個觀察,我們可以得出結論:具有低延遲的路徑在時間軸上的非空格標記機率尖峰的位置會更加靠前一些。因此,我們提出了一個猜想,可以透過將 CTC 輸出的機率分佈整體左移的方式來降低模型的出字延遲。
基於這個假設,本文提出了一個簡單的正則化方法--尖峰優先正則化方法(Peak-First Regularization, PFR),來使得 CTC 模型的模型輸出的機率分佈實現整體左移以降低出字延遲。PFR 方法巧妙使用了知識蒸餾的方法,迫使 CTC 輸出機率分佈的每一幀機率都學習其鄰近下一幀的資訊。如上圖(b)所示,利用逐幀的知識蒸餾函式,使得每一幀的機率分佈 都學習其後一幀,隨著迭代的進行,模型實現了整體分佈的左移。其損失計算過程可以被表述為以下形式:
該損失函式僅作為正則項使用,整體損失函式可以被描述為:
其中 λ 作為權重,用來平衡兩個損失之間的關係,避免輸出機率持續移動最終導致訓練崩潰的問題。PFR 正則項在學習過程中實際上呈現損失數值上升的態勢,當輸出分佈不再移動的時候,損失值也趨於平衡。
雖然模型在訓練過程中僅學習後面一幀(約等於40 ms)的內容,但是隨著訓練結果的累積,可以獲得遠超 40ms 的延遲降低。這樣設定有三方面的考慮:
- 首先,模型在完全學習到下一幀內容後,整體分佈已經左移了 40ms。再繼續學習後一幀內容,可以實現延遲效果的累加。
- 其次,考慮到 CTC 的輸出機率分佈是稀疏的,如果學習後面第 N 幀的內容,有非常大的可能性第 N 幀是空格標記,起不到學習效果,甚至學不到時序移動的關係。
- 最後,僅學習後面一幀的內容會降低訓練難度,這種情況下經過平滑後的相鄰兩幀之間的機率分佈的相似程度比較高,比較容易直接學習。如果直接學習後面第 N 幀的內容,也容易使得模型初始情況下面臨更加困難的學習環境。
2.3 梯度分析
雖然本文透過間接的方法來實現降低延遲的效果,但是其仍然具有一定的解釋性。可以對其梯度進行分析,假如 CTC 在第 t時刻預測出第 $k$ 個標記的機率是,則其梯度可以被描述為:
$$ \frac{\partial \mathcal{L}}{\partial p_{k}^t}=-\frac{G(t,k)+\lambda p_k^{t+1}}{p_k^t}$$
其中 CTC 損失部分梯度為:
$$\frac{\partial \mathcal{L}}{\partial p_{k}^t}=-\frac{G(t,k)}{p_k^t}$$
透過公式可以知道機率和它鄰近下一幀的機率緊密相關,如果下一幀預測出同一個標記 $k$ 的機率很大(即下一幀是一個機率尖峰),則會促使當前幀梯度發生較大變化,進而實現機率分佈左移,而如果下一幀的機率很小,則對當前幀梯度影響不大,不會產生機率分佈位移。
3. 相關工作
伴隨著智慧互動技術的發展,大家對於互動體驗的要求越來越高,如何降低語音識別系統的出字延遲再次成為了研究熱點,各種思路層出不窮。整體來看方法可以被歸結為以下四類。
3.1 強制對齊方法
強制對齊(Force Alignment)方法依託外部模型提前生成強制對齊標註資訊。這些資訊中包含使用者發音與標註文字之間的準確對齊關係,在 CTC 或者 Transducer 模型損失計算過程中對路徑的延遲進行限制,對具有高延遲的路徑施加懲罰,以此來實現降低延遲的目的[3,5]。這一方案將延遲作為約束引入到損失函式的計算過程中,需要修改損失函式以及梯度的計算環節。
3.2 路徑分解方法
路徑分解方法以 FastEmit 方法為代表[4],主要應用到 RNNT 模型上,其對 RNNT 損失計算過程中的每個節點進行了路徑分解,在損失函式的計算過程中,對低延遲路徑賦予更高的權重,進而達成了鼓勵模型在空格標記和非空格標記中優先預測非空格標記來降低出字延遲的目的。
基於這種邏輯訓練出來的模型具有較低的延遲。雖然該方法擺脫了對於強制對齊的依賴,可以使得模型在訓練過程中自然而然得地學習到低延遲路徑,但是這種方法仍然需要修改損失函式前向計算環節和修改梯度的計算公式,具體實現相對複雜。
3.3 最小貝葉斯風險方法
最小貝葉斯風險方法(Bayes Risk CTC)方法將延遲作為貝葉斯風險值加入到損失函式的計算過程中[6]。為了避免大量的計算,使用了分而治之的策略來將路徑分組,同組內指定相同的延遲風險值。本方法雖然能夠獲得延遲降低,但是需要修改損失函式和梯度的計算過程,甚至需要模型方面的改動,增加了延遲最佳化問題的複雜度。
3.4 自對齊方法
自對齊方法(Self-Alignment)方法不需要修改損失函式的計算過程,而是從上一輪的模型的解碼結果中選擇低延遲路徑,並將其作為正則項新增到本輪模型的最佳化過程中[7],這種方法雖然簡化了計算量,但是面臨新的問題,這種線上解碼的方法需要消耗大量的解碼時間,當面臨海量資料的時候,線上解碼會嚴重訓練的進度,延緩訓練流程。
綜上所述,本文提出的延遲最佳化策略最為簡單,不需要複雜的損失與梯度計算,也不依賴外部強制對齊結果,且在小資料和大規模生產資料上同樣有效。
4. 評價指標
4.1 字錯誤率
字錯誤率(Character Error Rate, CER)用來衡量標註文字與識別文字之間的編輯距離。字錯誤越低則語音識別結果越好。計算公式如下:
4.2 平均尖峰延遲(平均出字延遲)
平均尖峰延遲(Average Peak Latency, APL)是統計的每個解碼正確的機率尖峰的首幀與透過強制對齊方法獲得的每個文字標籤人聲範圍的尾幀之間的時間差的平均值。這一指標反映了系統的平均延遲水平。平均尖峰延遲越低則意味著出字延遲越低,ASR 識別系統反饋識別結果的速度越快。
4.3 PR50/PR90
由於真實的 CTC 預測的出字延遲分佈具有長尾分佈的特點,所以引入了 尖峰延遲的 50 分位數和 90 分位數來衡量延遲分佈的特點。其計算方法是根據每句話的平均出字延遲進行從小到大進行排序,以整個分部中第 50% 和 90% 條句子的平均出字延遲作為指標。PR50/PR90 越低表示整個長尾分佈的尾巴越短,長尾分佈中尾巴部分的資料延遲越低,比例越小。
5. 實驗與分析
5.1 實驗與模型搭建
本文基於開源中文語音識別資料集 AISHELL-1 進行實驗,並採用了流式和非流式兩種模型進行比較驗證。兩個模型均為 Transformer 模型結構,包含兩層 2D 卷積構建的前端特徵處理模組,以及 12 層 Transformer 編碼層構建的編碼模組以及一個輸出線性對映層。其中流式模型依賴 510ms 的聲學下文。
5.2 出字延遲比較
上圖中分別展示了流式識別模型與非流式識別模型在開源測試集上的字準確率和延遲結果。從實驗結果很容易發現,無論是非流式模型還是流式模型,採用本文提出的尖峰優先正則化方法均能夠降低各種延遲指標,並且延遲的變化值與權重的設定關係密切。透過調節權重設定可以顯著改變延遲的大小,權重設定越大,延遲越低。在字錯誤率(CER)不降低的條件下,非流式模型和流式模型在測試集中分別可以獲得 149 毫秒和 101 毫秒的延遲降低,在 CER波動的可接受範圍內,延遲甚至可以降低200 毫秒以上。
當權重設定比較小的時候,模型甚至能夠同時獲得CER 和平均延遲的降低,我們猜想造成這種現象的原因是正則化使得模型在學習鄰近幀的時候同時學到了更長的聲學下文資訊。隨著權重的變大,模型的識別錯誤率可能出現上升,此時權重的設定已經破壞了兩個損失之間的平衡關係,模型在訓練過程中會更激進地傾向於選擇低延遲的路徑,這種情況下會損失更多的聲學下文資訊,造成識別結果的衰退。
5.3 視覺化分析
本文隨後透過視覺化的方式對系統的延遲變化進行分析。上圖中左側三幅圖表示非流式模型的輸出機率分佈,右側三幅圖則表示流式模型的輸出機率分佈。圖上方的色塊與機率尖峰一一對應,便是每個標記的發聲範圍,而下面的機率尖峰則表示 CTC 預測到對應標記的位置與機率。
很容易發現圖中非流式模型中原本每個尖峰的位置就處於其對應的發聲範圍中,引入尖峰優先策略後尖峰的位置甚至能夠提前其發聲範圍。而流式模型的機率尖峰也往往滯後於其發聲範圍,而引入尖峰優先策略後同樣可以獲得較大的延遲降低效果。透過圖中不同權重的引數設定也可以發現,使用較大的權重能夠更大程度地降低系統延遲。
6. 總結與展望
本文透過對 CTC 的輸出機率分佈進行分析,將 CTC 的出字延遲問題轉化為一個知識蒸餾過程。透過知識蒸餾方法將 CTC 的輸出機率分佈沿著時間軸左移,從而有效地降低 CTC 模型的出字延遲。本文提出的方法簡單有效,不需要強制對齊標註資訊,也不需要複雜的損失和梯度計算方法。此外該方法也具有一定的擴充套件空間,或許可以擴充套件到 Transducer 等語音識別模型上。
7. 本文作者
正坤、鴻雨、李敏、飛飛、丁科、廣魯等,均來自美團平臺/語音互動部。
8. 參考文獻
- [1] Alex Graves, Santiago FernÅLandez, Faustino Gomez, and JÅNurgen Schmidhuber, “Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks,” in Proceedings of the 23rd international conference on Machine learning. ACM, 2006, pp. 369–376.
- [2] Dario Amodei, Sundaram Ananthanarayanan, Rishita Anubhai, Jingliang Bai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Qiang Cheng, Guoliang Chen, et al., “Deep speech 2: End-to-end speech recognition in english and mandarin,” in International conference on machine learning, 2016, pp. 173–182.
- [3] Andrew Senior, Has.im Sak, FÅLelix de Chaumont Quitry, Tara Sainath, and Kanishka Rao, “Acoustic modelling with cd-ctcsmbr lstm rnns,” in 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU). IEEE, 2015, pp. 604– 609.
- [4] Jiahui Yu, Chung-Cheng Chiu, Bo Li, Shuo-yiin Chang, Tara N Sainath, Yanzhang He, Arun Narayanan,Wei Han, Anmol Gulati, Yonghui Wu, et al., “Fastemit: Low-latency streaming asr with sequence-level emission regularization,” in ICASSP 2021- 2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2021, pp. 6004–6008.
- [5] Yusuke Shinohara and Shinji Watanabe, “Minimum latency training of sequence transducers for streaming end-to-end speech recognition,” in Proc. Interspeech 2022, 2022, pp.2098–2102.
- [6] Jinchuan Tian, Brian Yan, Jianwei Yu, Chao Weng, Dong Yu, and Shinji Watanabe, “Bayes risk ctc: Controllable ctc alignment in sequence-to-sequence tasks,” arXiv preprint arXiv:2210.07499, 2022.
- [7] Jaeyoung Kim, Han Lu, Anshuman Tripathi, Qian Zhang, and Hasim Sak, “Reducing streaming asr model delay with self alignment,” arXiv preprint arXiv:2105.05005, 2021.
- [8] Shinji Watanabe, Takaaki Hori, Shigeki Karita, Tomoki Hayashi, Jiro Nishitoba, Yuya Unno, Nelson Enrique Yalta Soplin, Jahn Heymann, Matthew Wiesner, Nanxin Chen, et al., “Espnet: End-to-end speech processing toolkit,” arXiv preprint arXiv:1804.00015, 2018.
| 在美團公眾號選單欄對話方塊回覆【2022年貨】、【2021年貨】、【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可檢視美團技術團隊歷年技術文章合集。
| 本文系美團技術團隊出品,著作權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明“內容轉載自美團技術團隊”。本文未經許可,不得進行商業性轉載或者使用。任何商用行為,請傳送郵件至tech@meituan.com申請授權。