如何解決 Iterative 半監督訓練 在 ASR 訓練中難以落地的問題丨RTC Dev Meetup

聲網發表於2022-06-27

前言

「語音處理」是實時互動領域中非常重要的一個場景,在聲網發起的「RTC Dev Meetup丨語音處理在實時互動領域的技術實踐和應用」活動中,來自微軟亞洲研究院、聲網、數美科技的技術專家,圍繞該話題進行了相關分享。

本文基於數美科技 NLP 技術負責人李田在活動中分享內容整理。關注公眾號「聲網開發者」,回覆關鍵詞「DM0428」即可下載活動相關 PPT 資料。

圖片

01 半監督訓練在 ASR 領域的必要性

通用 ASR 的字準確率雖然已經非常高,但是在面向具體的場景(遊戲場景、私聊場景、群聊場景、主播場景)時,還是存在場景不匹配的問題,因為通用的 ASR 在這些領域中的應用相對比較困難,主要存在以下問題。

1、標註資源的稀缺性

對應場景的標註很難獲取,通常情況下無法快速獲得業務場景需要的大量標註樣本。即使樣本的獲取很簡單,但獲取標註樣本仍是非常困難的事情,因為標註成本非常高。在建立專案或者確定產品方向的時候,會發現涉及領域的 ASR 任務時要先解決資料問題。以前使用音素和文字拆分的時候,資料量要求比較小,而現在常使用端到端的技術,動輒 1000 個小時起步的資料量,不管是自行標註還是藉助比較知名的資料公司,在產品還沒開始的情況下,其費用都是很難接受的。

2、標註質量的不穩定

在喚醒、Siri 互動等場景中,使用者知道後端會進行轉錄,但大部分業務場景中人對於 ASR 轉錄是無感知的。

比如在與 Siri 溝通的時候,如果 Siri 沒聽清楚說話人表達的意思,那麼人會進行二次嘗試,使表達更加清楚即可。但是真實的業務層面,大部分情況下客戶並不知道後端在對其進行 ASR 轉錄,比如直播平臺。其中可能會提供稽核層面的需求,此時不可能通知主播聲音在被轉錄,咬字需要更清楚一些。吐字不清晰以及句法成分破碎帶來的標註質量是非常不穩定的。

那麼在標註的時候怎麼解決這些問題呢?對數美業務而言,由於覆蓋整個網際網路中大量的類似社交場景,面臨著各式各樣五花八門的資料和特定術語等,因此對這類標註的獲取難度非常大,同時標註質量也很難保證,但同源資料又可以輕易獲得場景的資料,我們認為半監督方案是一個當仁不讓的理想選擇。

如果曾經接觸過 NLP 或者 CV,相信你對半監督會有比較明確的定義。在 ASR 這個領域,尤其基於端到端,目前一般來說分為兩種:Self-training 和 Pre-training,其他不太常見,或者目前來看不能在 ASR 領域獲得比較好的落地。

Self-training 體系主要圍繞大家熟知的 Pseudo labeling。核心方案主要基於 consistency regularization 邏輯。理論上來說,Pseudo label 其實是 true label 的一種噪音,在模型訓練的時候,將 Pseudo label 和 true label 放在一起進行訓練,這本身是訓練抗噪的過程,可以使模型逐步學習。Pre-training 非常簡單。如果做 NLP 出身就會比較瞭解,原先是在對應領域中訓練對應領域更合適的表徵。這種任務一般圍繞的是表徵的意義或者內容的重構,不需要額外的標籤,這些資料可以構建無標籤/無人工轉錄文字的 Pre-training 的訓練任務,再使用對應場景的有人工轉錄資料進行 ASR 任務訓練。

01 半監督訓練在 ASR 領域的發展

1、Self-training

一般來說,Self-training 起始於 CV。從 2013 年的 Pseudo label ICML 第一次提出 Pseudo label 以來,出現了各式各樣的新體系,諸如 2014 年 Learning with pseudo-ensembles(第一個體系),將 Pseudo label 與模型 Ensemble 進行融合;2016 年 Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning 認為 Pseudo label 本身的生成邏輯也應該是同一個模型的不同擾動;2017 年 Mean teachers are better role models: Weight-averaged consistency targets 則著重關注如何生成更高質量的標籤,其採用模型平均的方式獲得更好的 teacher 模型,從而確保偽標籤的質量。

早在 2014 年、2016 年的兩篇論文中,就已經提及到在 CV 中較火的領域進行對比學習,論文中的公式論證從很多層面上幾乎是一樣的,可以說技術的發展是歷史的輪迴。

2、Pre-training

Pre-training 主要集中在 NLP 領域,當然在 CV 領域中也有諸如 ladder network 體系,包含 Pre-training 概念。但是 Pre-training 發展較好的領域還是 NLP。核心問題在於 NLP 的底層特徵是字元,這本身是一個非常離散的體系,是很難與 CV 這種稠密的資料輸入進行比較的。

從這個體系來說,NLP 經歷了多年的發展,從 1994 年的 N-gram-based 特徵,到基於 NN 體系,再到後來對 NN 體系內部框架進行設計所生成的 RNN 和 LSTM 等語言模型的興起,2017 年 ELMO 橫空出世,再到 2018 年 transformer 架構出現。現在,不管是 BERT 或者是 GPT 等都在 NLP 領域的各種下游業務上都得到了比較充分的驗證。

3、ASR 領域的半監督發展

一般來說會根據 ASR 本身的時代將其拆成兩節:

①基於音素/文字拆分的時代:現在很多情況下大家依然會用 kaidi 作為業務層面的 ASR 底層技術方案。該方案的半監督訓練邏輯為,聲學模型可以訓練一個到 general 音素的模型,然後通過下游語言模型或 rescore 模型輸出具體業務所需的文字,從而達到部分半監督的功能。從流程上,它更像是一種遷移學習。但是隨著 Alex Graves 在 2013 年完成 CTC 的博士論文後,端到端體系就開始逐步嶄露頭角。兩年過後, EESEN 團隊重新又把 CTC 運到音素層面,使音素/文字拆分體系短暫地迴歸。

②端到端的時代:LAS(listen attendance style) 體系興起,以及 CTC/LAS + LM hybrid 體系的興起,使端到端的效果、資料、模型質量以及推理速度等,開始逐步超越 Kaldi 或者傳統的音素/文字拆分模型架構,業界也開始逐步步入端到端的時代。其時間脈絡為 CTC,Deep speech,Listen,attend and spell, 以及 Hybrid CTC/attention。

在 2017 年以後,隨著 Watanabi 提出 CTC/attention hybrid 和 ESPNET 框架的放出,端到端體系已初步完善並可應用於工業上的各個業務。其提供了一套同Lattice 一樣靈活的聯合decode框架:基於hypotheses route的設計,賦予後續shallow fusion 更加靈活的融合方案。事實上如果大家使用過 ESPnet,就可以看到整個 hypotheses 路徑設計非常靈活,可以引入各式各樣的技術方案對route進行聯合打分或者 rescore。

由於不再採用音素等基礎,且 CTC 和 Seq2Seq 本身訓練成本就非常高,再加上實際的標註資料的獲取難度,端到端體系對資料依賴的短板逐步成為了其落地的核心瓶頸。如果在早期尤其是 2015 年-2016 年在大廠做 ASR,大家實際落地的經驗是,在 1000 小時過後再考慮端到端。

由此,如何約束端到端的資料需求成為後期(從 2019 年-2020 年開始)優化端到端,進而解決端到端落地的難題,也是學術界和工業界核心考量的問題。自此,基於 ASR 的 Pre-training 和 Self-training 開始逐步登上歷史舞臺。此前,雖然進行過相關的研究,但是影響範圍較小,直到 2019 年和 2020 年,Facebook AI 分別提出了這兩個領域能夠工業落地的,且具備巨大的發展前景的兩篇論文發表,人們才開始關注。

wav2vec: Unsupervised pre-training for speech recognition 是 Facebook 提出的基於 Pre-training 的技術方案。其原理同 word2vec 非常接近,利用負取樣技術訓練一個未來時刻表徵預測的任務。由於其訓練結果可作為任意音訊下游任務的特徵,所以這一套體系是目前工業界很多大廠都在使用的非常重要的音訊技術基礎。

Self-training for end to end speech recognition 是 Facebook AI 的 Jacob 團隊的研究,旨在全面的分析 Pseudo label 體系對於 ASR 的實際落地應用效果。他們當時給出了 Pseudo label 體系在英文 ASR 領域的幾個核心資料集上的 strong baseline,並且第一次系統的闡述了 Pseudo label 體系在 ASR 領域落地需要解決的幾個核心問題。

4、Pre-training VS Self-training in ASR

在 2020 年,由於客戶逐步變多,場景覆蓋也越來越廣,我們也同樣面臨:要對某些特定的場景進行單獨的 ASR 構建,以獲取相比於競品更好的模型效果。單純的利用音素/文字架構,通過替換語言模型來應付各個領域的需求已不能獲得我們所期望的效果。但與此同時,單獨對每個場景要構建自己的端到端 ASR,從資料標註上又是難以接受的。因此我們就開始考量選擇 Pre-training 還是 Self-training。

原本我們考慮選擇其他大廠類似的體系,比如 Pre-training 的 wav2vec,但是我們當時多次嘗試了 wav2vec 的實際操作,成本非常高,下游的 Post-pretraining 在對應領域中的訓練加上 Pre-training 本身的訓練時間耗時也非常漫長,導致模型迭代週期會被拉長。重要的是,在 Pre-training+Post-pretraining 階段暫時是沒有任何的 ASR 模型產出的,對於新業務要求快速迭代的場景,這是難以接受的。

基於上述矛盾,我們最終還是傾向於在業務中使用 Self-training 的技術方案。因為 Self-training 的技術方案可進行每訓練一個模型就進行評估,先使用後優化,這對於業務來說是比較友好的體系。

5、近期 ASR 領域 Self-training 發展軌跡

錨定了 Self-training 目標後,從 2020 年開始我們就在對這個領域進行調研跟進。我們發現,在這個領域中主要還是 Facebook,Google,三菱 做得比較完善,其他諸如老牌 ASR 公司 Nuance 和一些高校也會針對一些具體問題發表一些改進方案或問題研究。在 2020 年,他們的研究方向主要如下:

(1) 2020 年

Facebook:

SELF-TRAINING FOR END-TO-END SPEECH RECOGNITION,

END-TO-END ASR: FROM SUPERVISED TO SEMI-SUPERVISED LEARNING WITH MODERN ARCHITECTURES,

ITERATIVE PSEUDO-LABELING FOR SPEECH RECOGNITION

其研究脈絡為 樸素 Pseudo label 在 CTC 框架上的 strong baseline 及調研;樸素 Pseudo label 在 CTC/Attention hybrid 架構上的效果;多輪迭代式 Pseudo label 體系的研究。

Google:

由於 Google 的 Iterative pseudo-labeling 在 CV 領域已經有非常強的技術底蘊,所以一上來他們就給出了他們的多輪迭代式 Pseudo label+model ensemble 方案:Noisy Student Training,並拿下當年 Librispeech100 + 860 SOTA。當然,Iterative 訓練中其實存在很多坑,尤其是多輪迭代所帶來的資料實驗數量的爆炸。這個在我們的方案中有明確的闡述。

三菱:

Iterative 模式,流程上是先對 teacher 進行多輪的 pseudo-labeling 訓練,每訓練一個 pseudo-labeling,內部就要打一遍標籤,這樣的多輪次會使訓練變得很煩瑣。所以從 2021 年開始,我們也逐步在各大領域中看到了 on-the-fly 的方式。比如三菱在 2012 年提出的 MPL(基於 mean teacher 演化而來)。但是 on-the-fly 意味著需要實時生成 label,而 ASR 的 label 生成質量同 decode 計算成本直接相關。簡單的 CTC 的 greedy search 比較快,但其生成的轉錄文字質量較差;而較為常見的 shallow fusion 方案,僅由多個模型融合打分 decode 轉錄產生文字,基本上不可能在訓練的時候實時產生。所以一般來說,on-the-fly 模式的最終效果其實不如 Iterative 模式。

其他:

Saleforce 來了一次“文藝復興”, 重新將偽標籤訓練用在了 Essen 框架上。其標籤生成採用了 CTC greedy search。Nuance 作為老牌 ASR 技術廠商,通過闡述 FixMatch 理論詮釋了半監督的理論本質實際上就是 Consistency Training。

(2) 2021 年

三菱:

由於 on-the-fly 模式的缺陷,三菱在 2021 年發表了 advanced MPL,又迴歸了 Iterative 模式。他們將 teacher 模型和後續的 on the flying 訓練流程拆開,同時切換成了對於音訊效果更加穩健的 Conformer 框架。最後超越了 Google 的 NST 方案,成為目前的第二名。

Facebook:

Facebook AI 在 2021 年使用了 cache 機制,在模型訓練過程當中同步另外一個程式 decode,如果 cache decode 滿了,就把訓練切成 cache 資料和 label 資料進行聯合訓練,N 步過後 catch 清空,然後重新進行 decode。可見,雖然 Facebook AI 說自己是 on-the-fly 模式,但本質來說還是輪次概念。其使用 36 層 transformer,拿到了截至目前 Librispeech100+860 的 SOTA,甚至可以持平 ESPnet 直接訓練 Librispeech960 了。

03 我們半監督方案解決的問題

1、Iterative or on-the-fly

處於效果需求和目前學術界工業界的結論,我們的技術方向最終還是錨定了 Iterative 模式。

2、Iterative 的問題

但 Iterative 模式訓練起來是非常煩瑣的,由於偽標籤資料的生成是每一輪訓練過後均需要重新生成的,且若要達到很好的結果,根據 Google 和 Facebook 的經驗,需要多輪迭代。

那麼每輪迭代都有三個問題,第一,如何在偽標籤上面產生高質量的資料?這其實本質上來說是最簡單的問題,我們有各式各樣的 decode 演算法,哪個演算法好就用哪個。第二,如何篩選出高質量的偽標籤資料?因為我們不知道哪個標籤是對的,不管質量再高,都會有一些問題存在,此時需要研究如何將出現問題的比例降低,有哪些方案可以降低。第三,整個 Iterative 模式中最大的難題就是,如何做標註資料和無標註資料的資料平衡。

Google 的 NST 的體系要做五輪迭代,就意味著每一輪的標註和無標註的配比都是不一樣的。第二輪大概是 2:7,第三輪是 1:3,在 librispeech 100+860,這個有標籤:無標籤 維護在 1:3 上下被驗證是比較合理的比值。但是在不同的任務線,其配比也不相同。Facebook 在 Librispeech+LibriVox 資料集上實驗結果證明其比值需要在 1:10 以上。這導致最終在業務中進行落地的時候,實驗成本非常巨大。比如有五輪實驗, 每輪訓練均需進行不同比值的多個資料實驗,訓練完成後挑選模型進行 decode 評估,然後在下一輪再次進行不同比值的多個資料實驗,這樣迭代五輪。由於 ASR 訓練成本高昂,每一輪的訓練節奏都令人非常痛苦。

另外,在有限的標註層面,如何進行模型的冷啟動呢?一般來說,初始的訓練資料是有標籤的,訓練資料都非常少。比如 Iterative 中初始的標籤資料一般來說非常少,只佔能獲得的資料的 1/10 左右,那麼怎麼進行冷啟動也就成為一個核心問題。

04 Improved NLPL 解決方案

基於這些問題,我們提出了自己的解決方案,發表於 Improved noisy Iterative Pseudo-Labeling for Semi-superivised Speech Recogntion 中。現在先給大家提前簡單闡述一下我們的解決方案是什麼樣的。

1、模型框架

從 2020 年以後,我們就不再使用 Kaldi 體系了,而是切換到了一個類 ESPnet 的自研究框架。模型框架上,對於 CTC 的前端 sharedEncoder 和 LAS 的 decoder,我們均採用的是 transformer,圖 1 左側展示的是 Watanabi 在 CTC/Attention hybrid 那篇論文中的圖,右邊是對模型框架的介紹,模型引數方面,SharedEncoder 之前有一個 subLayer,採用的是 2 層 (33+512) 的 CNN,步進為 2,這可能與 ESPnet 中的框架略微不太一樣,但基本上大同小異。ransformer 我們目前採用了 128 的 transformer,512 維度,FFN 是 2048,這跟大部分的 formerbase 模型也幾乎是一樣的。另外,AttentionDecoder 我們採用的是 6 層 transformer,它的引數配置跟 Encoder 也是一樣的。語言模型方面,LT 人!插入的 4 我們額外新增了一個 6 層的 transformer 語言模型,其餘引數配置與 BERT 是一樣的,12 頭,768dims,FFN 為 3072,這是整體的模型框架。

從 2020 年以後,我們就不再使用 Kaldi 體系了,而是切換到了一個類 ESPnet 的自研究框架。模型框架上,對於 CTC 的前端 sharedEncoder 和 LAS 的 decoder,我們均採用的是 transformer,圖 1 左側展示的是 Watanabi 那篇 CTC/Attention hybrid 論文中的圖,右邊是對我們模型框架的介紹。模型引數方面,SharedEncoder 的 sublayer 目前採用的是 2 層 (3*3+512) 的 CNN,步進為 2,Transformer 我們目前採用了 12 層 8 頭,512 維度,FFN 是 2048,這跟大部分的 Transformer-based 聲學模型也幾乎是一樣的。另外,AttentionDecoder 我們採用的是 6 層 transformer,它的引數配置跟 Encoder 也是一樣的。

對於語言模型,我們額外新增了一個 6 層的 transformer 語言模型,其餘引數配置與 BERT 是一樣的,12 頭,768dims,FFN 為 3072。

圖片

■圖 1

2、其他通用設定

我們的實驗資料採用 Librrispeech 100+860,100 作為有標註資料,860 作為無標註資料。LM 資料是 Librispeech 自己的訓練資料,以及官方提供的 800W 的文字語料。我們的聲樂特徵採用的是 100 維 Fbank+3 維 pitch。為了縮減文字標籤個數,我們使用了 BPE,把 word 數量壓縮到 7002 個 pieces 以減少最終的輸出,同時加速 CTC 的訓練。

訓練配置方面涉及學習率,學習率與 transformer 相似,但存在差異點,就是在 decay 到最後位置的時候,我們會提前 5000step decay 到最後穩定值,然後再緩慢保持一段時間。這跟後面維護模型穩定的技術是直接相關的,讓它能夠在那段時間之內穩定地訓練一段時間,使模型平均能夠跟得上。

3、如何在未標註的資料上產生偽標籤

目前業內比較常見的產生 decode 演算法且比較高質量的方法是 shadow fusion 和 deep fusion 體系。我們採用了 shadow fusion,並且將聲學模型 CTC、LAS 以及 LM 相融合進行搜尋,bean size 為 50。大致流程上同 ESPNET 差不多,但是我們有兩點小小的改動:

第一個就是我們採用 CTC 貪心搜尋的方式進行句子終結的判斷,而 ESPNET 不是這麼做的,它有自己的 end detact 演算法。

第二個就是我們不會對路徑進行過多的剪枝,而是儘可能多的把路徑保留下來。

4、如何篩選高質量的偽標籤資料進行下一輪半監督訓練

在進行偽標籤生成的時候,很多資料的質量其實是不敢恭維的,尤其是前期的訓練,比如 NST 或者 Iterative Labeling 的第一輪或第二輪,此時模型在 librispeech dev 和 test 上的 WER 可能接近 9 或者 10 個點以上。

針對這種情況,Google 和 Facebook 採取粗暴排序取百分位的方法,類似於 ESPNET 中的 hypothesis 的分,然後在 decode 過程當中進行概率加和,把概率從小從大進行排序,然後取其中的 90%。這裡可能存在置信率斷崖式的情況,比如前面 85% 的資料的概率分佈非常相近,然後在 85%~95% 的位置,概率突然出現非常大的差異,掉到可能幾個點以上變化的概率。為了應對上述問題,我們採用分佈檢驗的方式進行樣本抽取:我們先假定它服從高斯分佈,然後只保留高斯分佈雙邊置信區間 90% 或者 95% 來做訓練。這裡的雙邊置信區間 90%/95%,並不代表資料保留 90% 和 95%,而是在高斯分佈的情況下保留置信區間在這個裡面的資料,所以它很有可能是少於直接保留 90%資料的。

5、標註/無標註資料配比如何平衡,才能讓模型不會過擬合到無標註資料的為標籤資料上

標註/無標註資料配比如何平衡是在進行多輪迭代的半監督訓練時最大的問題,所有的前序研究均未給出如何進行比例篩選,而只給出了對應任務的大致比例,Facebook 他們是做的是 Librispeed 960+LibriVOX,它的比例是 1:10~1:54 之間。Google 是 Librispeech 100 +800,比例在 1:3 左右。

上述意見均無法指導實際生產中能確定落地使用的比例。比如直播場景的 ASR,以 100 個小時作為起步價,同時可能可以很輕鬆地獲得很多同源無標註資料。但是該以怎樣的比例把這些無標註資料和有標籤資料放在一起,才不會讓模型全部訓練到無標籤資料上;怎麼訓練模型才能保證其穩定且效果更好,這將需要進行無窮無盡的資料實驗。當然,如果公司內部機器資源足夠多的話,的確是可以去做這些實驗的,但是很多時候大家並不都像 Google 和 Facebook 一樣有那麼多臺機器,可以直接暴力窮舉。

那麼此時怎麼才能得到每個業務線上的指導意見呢?我們在 Librispeech 100/860 上進行了詳細的實驗和定性定量分析,得到了一個指導意見,這個指導意見在目前我們來看是非常準的指導意見,可以教大家如何進行選擇資料平衡選擇。在這裡我們先進行一個假設,這與我們為什麼要做偽標籤的半監督訓練直接相關。我們認為在訓練偽標籤的時候,因為有標籤資料和無標籤資料是混合在一起的,所以對於一些偽標籤資料,我們不知道是否標對了,應該在某些特質上讓模型訓練儘可能的“保守”,不要過擬合到那些錯誤的資料或者尾標資料上。但是又保證一定的樣本多樣性,因為如果完全保守,模型訓練就會陷入它認為的資料層面帶來的最優,然後原地踏步落入區域性最優解。多輪迭代訓練會加劇這個過程,導致模型越訓練越過擬合。

為了確認應該在哪些地方保守,哪些地方保證多樣性,我們把資料分成三個畫像維度,第一個畫像維度為音訊長度,第二個畫像維度為文字/pieces 長度,第三個維度為標籤本身的分佈。問題就可以轉化為,我們在哪些維度要儘可能保證訓練保守,哪些維度要儘可能保證樣本的多樣性。基於此,我們進行了大規模的實驗,每一輪生成新的偽標籤後,我們會根據不同的比例,構建多個訓練樣本的 candidate,也就是備選集,這個 candidate 中的每一批訓練資料。在每一輪訓練之前,我們都將每一份懸鏈 cadidate 同我們上一次訓練的資料 在上述三個維度進行比較,並且對所有的 candidate 進行排名。比如 1:2 的 candidate 同上遊在三個維度上進行排名,1:4 的 candidate 也會有一個排名,1:5 和 1:6 也會有一個排名,等等。

在評估排名方案上,因為 frame lenth 和 pieces length 是單一維的統計量,所以我們採用了 KS 檢驗。但 label 分佈本身是多維的,所以我們先歸一化 TF,然後利用歐式距離評估本輪資料和上輪資料的分佈差異,再對每個 candidate 排名。

經過大量的實驗,發現了一個非常明確的規律,就是 pieces 分佈本身差異越小的前提下,更大的 frame lenth 分佈差異和 pieces length 的分佈差異一般會帶來更好的新一輪的模型效果。上述邏輯可以被描述成一個通用正規化,如圖 2 所示。

圖片

■圖 2

6、模型訓練中如何確保模型不會過擬合到錯誤的偽標籤上的 trick

這是在整個這個體系中我們發現的一個關鍵點。這裡我們有兩個維度。第一個維度是資料層面的維度,我們加入了 specAug 和 specAug++使整個資料具備更好的泛化性。同時在模型層面,類似於 MPL,我們會生成 online 和 offline 的生成,在前期選擇 online 的結果,後期選擇 offline 的結果,一般來說第五輪過後 offline 的結果會穩定高於 online 的結果。另外,我們還會進行 dropout 提升,對於 dropout 會從 0.1 逐步提升到 0.3,因為 偽標籤訓練 會有很大的過擬合風險,但是基本上提升到 0.4 以後就不會有任何新的收益了。

7、在有限的標註樣本下,模型冷啟動監督訓練如何進行可以獲得最優的效果

我們同樣採用了兩階段式的訓練。第一階段式的訓練從 dropout0.1 30epoch 搭配到第二階 dropout0.13 100epoch 效果最優。具體的實驗結果如圖 3 所示。這也說明了一個問題,就是冷啟動時應該先以一個比較少的 epoch,比較小的 dropout,快速擬合目標,然後上調 dropout,讓它以一個相對比較泛化的訓練配置,再訓練更多的輪次,讓模型達到最優。這種冷啟動方式基本上可以和 Google 的 NST 體系的模型冷啟動結果是持平的。

圖片

■圖 3

最後介紹整個 improved NIPL 的最終效果。目前在截止我們投稿 interspeech 2022 來看,在 Librispeech 100+860 上比我們強的目前是兩家,第一家就是三菱 MPL 的 conformer 是 3.8%/8.2%。但若控制變數為同樣使用transformer,三菱只有 4.8%/10.1%,而我們是 3.93%/9.59%。另一家就是 Facebook 的 simIPL,它的 36 層 transformer 可以做到 3.8%/7.5%,而且不需要任何語言模型,如果加上語言模型和 rescore 可以做到 2.7%/5.2%。這個效果已經屬於超出我們認知的效果了。因為我們訓過 960 的資料,ESPnet librispeech 960 監督訓練訓練出來是 96.96 應該是 3.04%,這意味著 Facebook 不用 860 的資料,只 100 的 label 就可以做到 2.7%/5.2%。

最後介紹整個 improved NIPL 的最終效果。目前在截止我們投稿 interspeech 2022 來看,在 Librispeech 100+860 上比我們強的目前是兩家,第一家就是三菱 MPL 的 conformer 是 3.8%/8.2%。但若控制變數為同樣使用 transformer,三菱只有 4.8%/10.1%,而我們是 3.93%/9.59%。另一家就是 Facebook 的 simIPL,它的 36 層 transformer 可以做到 3.8%/7.5%,而且不需要任何語言模型,如果加上語言模型和 rescore 可以做到 2.7%/5.2%。這個效果已經屬於超出我們認知的效果了。因為我們訓過 960 的資料,ESPnet librispeech 960 監督訓練訓練出來是 96.96 應該是 3.04%,這意味著 Facebook 不用 860 的資料,只 100 的 label 就可以做到 2.7%/5.2%。

05 問答環節

1、對比 WER 效果如何?

我們的 test clean 是 3.93,test other 是 9.59,但是我們後來又繼續進行了NIPL訓練第七輪和第八輪,test other 還能再降低。雖然test clean 依舊維持在 3.93,但 test other 到今天為止已經降低到了約 9.3。三菱的 conformer 是 3.8%/ 8.2%,比我們的3.93 低,但它們的 transformer 是 4.8%/10.1%。Facebook 的 simIPL 是 3.8%/7.5%,對於 Facebook simIPL 我們表示有點不太相信,效果有點恐怖。這麼來看我們應該是全球第三,比 Google 在 2020 年發表的那篇 NST 還要好一點。

2、介紹一下 CTC 的使用

CTC 在剛出現的時候,由於其訓練優化的難度比較高,對於資料量的要求也比較苛刻,所以當時對 CTC 的使用都是些奇技淫巧。諸如上文所述 ESSEN,把 CTC 用於訓練音素,然後依然跟大家一樣去接 WFST。由於音素的個數相對於 word 來說小很多,大幅降低了 CTC 的訓練難度,使之能在部分領域上同 MMI,LFMMI 等方案效果不分伯仲。直接裸上 CTC 端到端 ASR 資料成本會非常高昂。

如果你在 2020 年問這個問題,在新業務上會推薦你試一下 ESSEN 專案。但現在是 2022 年了,CTC 的工業界的使用中已經發生了很大的變化。Watanabi 那篇論文告訴大家,CTC 和 LAS hybrid 這套體系能夠有非常好的效果,並且資料質量也不會像原先 CTC 那樣要求那麼高,因為 LAS 體系有非常多的優化技巧可以用於幫助訓練。所以 CTC LAS 是目前相對來說比較標準的使用方案。如果你沒有自己的 ASR 訓練平臺的話,我建議你嘗試 ESPnet/Wenet,如果流式識別是核心業務訴求的話,Wenet 可以作為第一選擇。

活動預告

「RTC Dev Meetup - 杭州站」,我們將聚焦大前端技術,邀請來自聲網、螞蟻集團和海康威視的技術專家,為我們分享大前端時代在實時互動領域的業務架構和跨端實踐。

心動不如行動,趕快掃描二維碼或者點選此處報名吧!

相關文章