今年 3 月,雷軍在兩會的媒體溝通會上表示,“去年年初,小米設立了探索實驗室,不久將有重磅級的人工智慧產品釋出。”
昨日(7 月 26 日)下午,傳聞已久小米人工智慧產品——小米 AI 音響終於現身。在釋出會上,王川特意提到了小米腦王剛博士帶領的 NLP 團隊,也就是說小米已經用上了自己的 NLP 技術。但是語音識別方面,小米 AI 音響仍然採用了第三方的技術。
不過,AI科技大本營發現,就在幾天前,小米在 arXiv 上首次提交了一篇端對端的語音識別論文。這篇論文實際上是西工大計算機學院和小米共同完成,四位作者分別是單長浩、張俊博、王育軍、謝磊。其中單長浩是西工大在小米的實習生,謝磊是西工大教授,而王育軍、張俊博則是小米的工程師。
張俊博在自己的專欄中提到,小米這篇論文采用的是近年來比較火熱的 Attention-based sequence-to-sequence 方法:
基於注意力機制的端對端方法在英文資料集上已經有了很好的結果。但中文漢字要遠比英文字母複雜,在中文資料集上,一直沒有看到較好的結果。William Chan 等在 Interspeech 2016上報告的該方法在中文資料集上的字錯誤率是 59.3%。
現在,小米的智慧語音團隊,經過無數實驗,在小米電視測試資料上成功獲得了 2.81% 的字錯誤率。這是基於注意力機制的端對端語音識別方法首次在中文上達到可用水平。
相比 BAT 的高調,小米在 AI 領域的聲音要小得多。目前外界知道基本只有小米大腦王剛博士帶領的 NLP 團隊,以及張波博士帶領的計算機視覺團隊。那麼這篇論文到底是哪個團隊完成的?第一次公開發表 AI 相關的論文又意味著什麼?
AI科技大本營聯絡到了王育軍和張俊博兩位論文作者,發現他們同屬於小米半年前剛剛成立小米雲平臺語音組。顯然,除了 NLP 之外,小米未來很可能會用上自己語音識別技術。
以下是AI科技大本營對王育軍和張俊博的採訪:
問:你們屬於小米的哪個團隊?
答:我們屬於小米雲平臺語音組。
問:這個團隊是什麼時候成立的?主要負責什麼?
答:團隊是 2017 年 1 月成立。主要負責探索最前沿的語音技術,不斷觸碰甚至打破語音技術的天花板;同時協助合作伙伴的語音團隊,提升他們在小米產品中的效能。
問:和小米大腦、小米深度學習組有什麼關係?
答:語音組、深度學習組都是小米大腦的元件。
問:為什麼現在要自己做自己做語音識別?
答:語音是小米提升使用者價值最自然的手段之一。小米是一個非常開放的硬體和軟體平臺。小米從來不排斥合作伙伴把各自最優秀的語音技術整合到這個平臺上來提升總體使用者體驗,這個模式的優勢從小米釋出的產品中都已經得到了驗證。小米自己的語音技術也和其他合作伙伴一樣,被整合到電視或者音響的平臺中。小米自己來做語音,一個重要的出發點是自己更瞭解產品的需求,會花更多的時間去分析產品的資料。我們開發小米識別引擎的同時,也一直在分享一些技術模組,訓練和測試資料給合作伙伴的語音團隊,大家可以在這個平臺下一起進步。最終受益的是小米使用者。
問:今天剛剛推出的智慧音響為什麼不用小米自己的語音識別的技術,而只用了自己的 NLP 技術?
答:應該說小米語音參與了智慧音響專案,輸出了技術模組,在雲端也提供了識別服務。小米 NLU 的成熟度較高,在與合作伙伴的開發工作中佔主導。我們的團隊成立的時間還不長,從技術成熟度上講,我們還有很長的路要走。即使未來我們的技術達到了一個相當成熟的水平,我們仍然會積極地配合合作伙伴的開發工作,因為小米語音的職責,是以提升使用者體驗為最高目標。希望在未來的小米產品中,小米語音能為合作伙伴提供越來越多的技術模組。
問:為什麼要這個時候公開發表這篇論文?未來的論文也都會公開嗎?
答:因為我們剛好完成了論文提交,也希望讓參與這個工作的同事有些成就感,特別是西工大謝磊老師推薦的實習生。未來我們會持續釋出最新的工作成果,包括但不限於學術論文。
問:為什麼會和西北工業大學合作?是怎樣的合作形式?
答:西北工業大學在語音技術方面很超前,向語音學術界和工業界輸出了大量人才。目前我們一起從事一些語音識別的專案,西工大的實驗室會派出學生來小米交流實習。謝磊老師的學生單長浩在小米實習期間為該工作做出了主要貢獻。非常感謝謝磊老師和單長浩同學。
問:你們使用的 Attention-based sequence-to-sequence 的端對端的語音識別技術相對於傳統的技術有什麼區別和聯絡?你們採用的方法的先進性體現在哪?
答:傳統語音識別技術的流程非常繁瑣,而端對端方法只需要一個神經網路就可以直接預測出漢字序列,框架十分簡潔。端對端方法的另一個優勢在於它不做 frame-independence 假設,這使得它可以更好地學習到幀之間隱含的知識。當然 attention 方法存在很多不足,比如難以訓練收斂、訓練速度慢、無法給出音素切分點等。目前學術圈對 attention 方法是否會在未來成為主流還存在著爭議,但它即使不夠成熟,也代表著一種趨勢,有潛力孕育出更好的方法。
問:相對與市場上的主流水平,你們在語音識別上的準確率上有什麼優勢?
答:小米實際線上採用的技術方案和市場上的主流方案並沒有本質區別,應該說大家上線的都是很先進很實用的方案。從識別率上看,小米並不謀求通用領域極致的識別率,但謀求某些垂域極致的識別率,比如小米電視。語音識別率從來都是訓練和測試資料匹配的問題。我們現在已經在小米電視資料集上取得了非常高的識別率,這除了端對端技術抑制了監督錯誤傳播,資料的匹配功不可沒。小米不認同識別率橫向對比,因為識別任務在不同測試集上沒有可比性,測試集上超高的識別率也不代表每一個使用者的真實體驗。同一個領域任務上的優勢,就是我們的訓練資料質量高、投入的精力多。
問:你們的 CER 和 SER 兩個結果分別是怎樣得出來的?
答:CER 和 SER 分別是字錯誤率和句錯誤率,這些指標是和人工標註的結果對比統計出來的。在學術界,一般用“錯誤率”而不是“正確率”作為評估語音識別效能的指標。
問:這種技術在智慧音響、手機等終端裝置上的優勢體現在哪?
答:目前這項技術還停留在演算法驗證階段。優勢就是這項技術本身的優點決定的:即它摒棄了傳統離散序列模型的一些不準確假設,抑制了模型訓練中間過程的監督資訊的錯誤傳播。這個技術還有一個重大優勢就是降低了語音識別的開發門檻,減少了開發人員對專業知識和專業語言資源的依賴。只要有海量文字和對應語音,即使沒有語音識別研發經驗的人也都可以開發出語音識別系統。
問:未來研究方向的規劃?
答:我們的團隊始終保持對技術的敏感性,凡是我們認為是前沿的、有前景的論文,我們都會去跟蹤,也已經在一些實驗上獲得了非常理想的結果。在產品化方面,我們在追求高識別率的同時,也要優化計算速度。同時,我們要探求我們的技術如何才能更好地幫助提高使用者體驗,而不是隻盯著識別率提升了零點幾個百分點。我們也希望通過分享我們的工作,讓業界越來越重視類似技術,縱向和橫向研究殊途同歸:深度學習研究者的和語音技術的研究者應該聯手推動類似技術實用化。
以下是完整的論文翻譯:
翻譯 | 周翔、尚巖奇、姜沂、周科
摘要
近來端對端語音識別越來越受到關注,這種技術可以不進行預定義校準(predefined alignments),直接將語音轉換為文字。在本文中,我們探究瞭如何使用基於注意力機制普通話語音識別編碼器—解碼器模型,並在業界得出了首個令人滿意的結果。通過跳幀和正則化權重,我們減小了源序列的長度,從而使模型獲得了更好的泛化和收斂能力。
接著,我們研究了不同注意力機制(卷積注意力機制和注意力平滑化(attention smoothing)機制)的影響,以及模型效能與集束搜尋(beam search)間的相關性。我們使用MiTV收集的資料集進行測試,在不使用任何詞典或語言模型的情況下,我們實現了 3.58% 的字元錯誤率(CER)以及 7.43% 的語句錯誤率(SER)。加上三元語言模型(trigram language model)之後,我們的模型可以達到2.81% 的 CER 和 5.77% 的SER。
關鍵詞:自動語音識別、序列到序列(sequence-to-sequence)模型、基於注意力機制的語音識別
1. 引言
目前深度神經網路(DNN)研究已獲得了巨大的成功,並被廣泛應用於語音識別技術中,而且通常與隱馬爾可夫模型(HMM)[1, 2, 3, 4, 5]結合在一起。這些系統基於一個由聲學模型、語音模型和語言模型等單獨組元構成的複雜混合體。據我們瞭解,這些組元進行單獨的訓練,訓練目也各不相同。最近,端對端神經網路自動語音識別(ASR)系統的研究開始湧現,如 CTC(Connectionist Temporal Classification) [6, 7, 8]和基於注意力機制的編碼器—解碼器模型[9, 10, 11, 12, 13, 14, 15, 16, 17]等。
這些方案都得出了相當理想的結果。CTC 的核心原理是允許標籤重複和空標籤的出現,而且在每一幀都對標籤進行預測。另一種方案——基於注意力機制的編碼器—解碼器模型則是直接學習聲音到字元序列的對映。
基於注意力機制的編碼器—解碼器模型在處理複雜序列到系列任務時得出了令人滿意的結果,這些任務包括機器翻譯[18, 19, 20]、文字總結[21]、圖片說明[22]、句法分析[23]以及語音識別等。現在,在機器翻譯任務中應用這種模型可以取得最高的翻譯水準[20]。這種模型可以將長度可變的輸入序列對映到長度可變的輸出序列。在基於注意力機制的編碼器—解碼器的方案中,首先編碼器將輸入序列編碼為一個隱藏表徵(hidden representation),然後解碼器對這個表徵進行解碼並輸出目標序列。
這種方法中的注意力機制用於選擇或加權輸入序列,以生成輸出序列。訓練可以直接將獲得基於期望目標輸出的機率最大化。通常,我們會使用字元級別的交叉熵標準來訓練這種模型。
在本研究中,我們探討了基於注意力機制的編碼器—解碼器模型在普通話語音識別上的應用。鑑於這種模型進行英語語音識別時的表現非常好,我們提出了很多方案來對其進行優化,例如深度卷積神經網路[14]和不同的注意力機制。[13]探究瞭如何使用基於注意力機制的模型實現普通話語音識別,結果發現這種模型很難與普通話資料進行銜接。
為了解決這個問題,我們使用了 L2 正則化方法和高斯權重噪音,來改善模型的泛化和收斂能力[24, 25]。而且,我們還將嵌入漢字字元作為解碼器的輸入,試驗證明這種方法可以大大優化模型的收斂能力。[10]證明了長語音(long utterances)會對ASR系統造成負面影響。為了解決這個問題,我們使用幀數亞取樣(frame sub-sampling)的方法減小了語音的長度,並對訓練和收斂進行了加速。同時,我們還研究了卷積注意力機制[10]和一種平滑處理方法。
總的來說,我們完成了以下工作:
- 在基於注意力機制的端對端普通話語音識別上首次取得理想結果;
- 通過跳幀減小了輸入序列長度;
- 用多種正則化方法增強了模型的泛化和收斂能力;
- 探究了不同注意力機制的影響。
本文其餘內容的結構如下:
- 第 2 節詳細介紹基於注意力機制的模型。
- 第 3 節介紹了基於注意力機制的端對端普通話自動語音識別)ASR)系統。
- 第 4 節描述了本實驗的具體細節。
- 第 5 節闡述結論並概述我們接下來的工作。
2. 基於注意力機制的模型
2.1 傾聽-注意-拼寫(Listen, Attend and Spell)
許多具有挑戰性的任務都需要處理可變長度的序列。比如,機器翻譯和語音識別, 輸入和輸出時都會遇到需要處理的可變長度序列;再比如,文字總結時也有很多可變長度序列。LAS(Listen, Attend and Spell)[12]是一個基於注意力機制的編碼器-解碼器網路,通常用於處理可變長度的輸入和輸出序列。編碼器 (傾聽模組) 從可變長度的輸入語句中提取可變長度序列的表徵。然後注意機制 (注意模組) 產生一個固定長度的上下文向量,解碼器 (拼寫模組)通過使用編碼器提取的表徵,產生一個可變長度序列的目標翻譯結果。
在圖 1 中, 編碼器是一個基於雙向長短期記憶型的遞迴神經網路RNN (BLSTM),輸入 x,它可以從中生成一個輸出序列 h = (h1,..., ht)。這裡的解碼器通常屬於長短期記憶網路(LSTM), 它使用 h 和 y<i 來生成輸出序列 y = (y1,..., yL)。在這項工作中, 輸出 y 是漢字序列, 輸入 x = (x1,..., xT) 是從音訊的幀率中提取序列的特徵向量:
(3) 式中的 si 是感測器狀態(transducer state),其中 yi−1 是 previously emitted token,ci-1 是 previous attention context,si-1是 previous transducer state。
(4)式中,通過基於多層感知器 (mlp) 注意力網路,函式 AttentionContext 可以生成 ci。
(5)式中的 CharacterDistribution 函式是用 softmax 函式計算出的。
訓練中採用了幀數亞取樣的方法。
2.2 注意機制
注意機制通過選擇或加權輸入幀的方法來生成下一個輸出元素。最近所謂的 "神經機器翻譯模型" [18] 中也採用了類似的注意機制方法。在這種情況下, 為了生成每個目標詞, 網路會計算出一個分數, 將輸出 RNN 的隱藏狀態與輸入序列的每個位置相匹配。對於一個輸入序列, 分數均被標準化並加總,處理後的分數可以被解釋為每個輸入位置的概率,並與當前生成的目標詞對齊:
Score 函式是一個多層感知器(MLP)網路, 可以由以下等式描述:
這是在 [18] 中提出的基於內容的注意機制方法。
3. 方法
3.1 卷積注意機制
我們建議, 原模型 [18] 中的卷積注意機制在考慮前一步產生的對齊後[10],應該是位置感知的。這是通過以下等式實現的:
3.2 注意力平滑 (Attention Smoothing)
當輸入序列 h 屬於長序列時, αi 分佈通常在收斂上非常陡峭,因而只集中在 h 的其中幾幀上。為了使模型具備多樣性, 我們將 softmax 用 σ(logistic sigmoid)代替:
這部分提到的注意平滑可以平滑注意力機制所發現的焦點。
3.3 跳幀(skipping frames)
隨著語句逐漸變長,傾聽-注意-拼寫(LAS)模型的效能會迅速降低。這大概是因為注意-拼寫模組很難從大量輸入的時間步長(input time steps )中提取相關資訊。[11, 12]用金字塔型 BLSTM 解決這個問題,金字塔型 BLSTM 將每個 BLSTM 層數上的時間解析度減少了 1/2。本文采用框架取樣思想 [26,27] 進行快速訓練和收斂。在解碼過程中, 我們使用所有幀來生成語境 h。
3.4 正則化(Regularization)
在許多工中, 模型會過度擬合資料,對新資料進行的泛化較差。為了避免這種過度擬合, 我們需要減少權重[24, 25]中的資訊。本文中採用的兩個主要的方法是: L2 正則化和高斯加權噪聲。
L2 正則化的思路是在 cost function 中增加一個額外的項。將高斯加權噪聲新增到所有權重中,我們獲得了較好的泛化能力, 以及較好的收斂能力。減少引數資訊量的意義,在於簡化神經網路。
3.5 語言模型 (Language Model)
在每個時步上, 解碼器每生成一個字元都依賴於之前生成的字元。然而, 學習一個複雜的語言模型 [11] 是遠遠不夠的, 因此我們建立一個字元級的語言模型, :一個字級語言模型 G 和一個簡單地拼寫出每個單詞字元的詞典 L。更具體地說, 我們建立了一個有限狀態感測器 (FST) T = min(det(L ◦ G)) 來計算字元序列的對數概率。在解碼過程中, 我們將加權 T 新增到編碼器輸出的損失中:
在解碼過程中, 我們會結合基於注意力機制的模型(AM)和語言模式 (LM)以及可調引數 γ,將損失 C 最小化。
3.6 優化 (Optimization)
我們優化模型的引數, 以最大化正確的漢字序列的對數似然值:
傳統上, 該模型是使用字元級熵標準進行訓練的。基於此, 損失函式定義如下:
其中是第 k 個字元標籤在時間 i 的參考標準(ground truth)。
3.7 解碼(Decoding)
在解碼過程中,一種簡單的從左向右的波束搜尋演算法表現良好。我們從 start-of-sentence <sos> 標記開始, 保留 n 個最佳候選假設列表。對每一個時步 t,波束中的每一個假設都與可能的字元一起拓寬了, 只有 n 個最有可能的波束被保留。end-of-sequence <eos> 標記發出時, 將停止波束搜尋。我們發現波束越寬,好處越少。
4. 實驗
4.1 資料
在實驗中,我們使用的資料集包含了大概 400 萬條 MiTV 搜尋語音資料(大概3000個小時)。作為測試資料集和交叉驗證資料集,我們分別隨機挑選了 3000 條搜尋語音資料。作為輸入特徵,我們使用 80 Mel(嘜耳,音調單位)濾波器組係數,針對每一位說話者,每 10ms 計算一次 Δa 和 ΔΔa, 以及均值和方差標準化。對於解碼模型,我們使用了 6925 個標籤:6922個常見的中文字,一個未知標記,兩個已知標記。
4.2 訓練
我們構建了一個常見的基於注意力的 ASR 模型。模型的編碼器函式是一個 3 層的 BLSTM,每個方向有 256 個 LSTM 單元(或者說,總共有 512 個計算單元)。解碼器是擁有 256 個 LSTM 單元的單層 LSTM。所有權重矩陣用歸一化初始化進行初始化[28],偏置向量初始化為 0。梯度範數的限幅為 1,然後加上高斯加權噪聲, L2 權重衰減 1e-5。
我們使用了 ADAM 以及預設引數,但是,當模型收斂過後,我們把學習速率從 1e-3 衰減到1e-4。模型損失結合了 softmax 的輸出和交叉熵損失。
4.3 結果
表1表明在中文 ASR 方面,我們的模型表現優異。基於上下文的注意力模型的 CER 為 4.05%,SET 為9.1%。通過使用注意力平滑模型,我們把 CER 提升到了 3.58%,或者說相對於基於上下文的注意力模型效能提升了 11.6%。我們還觀察到,基於注意力的模型經常輸出非常陡峭的預測。Sigmoid 函式保證了模型的多樣化,平滑了注意力機制的關注點。卷積注意力模型的效能也非常好,其 CER 為 3.82%, SER 為 8.17%。
此外,我們也分析了波束搜尋寬度對於解碼準確度的重要性。圖 3 給出了,在測試資料集上解碼波束寬度對於 WER/SER 的影響。在波束寬度為 30 的時候,CER 為 4.78%,這之後我們再也沒有觀察到任何明顯的提升。注意力平滑模型也有相似的結果。我們觀察到較窄的波束寬度可以獲得更好的效能表現(波束設為 30 已經足夠了)。
同時,我們還觀察了 Softmax 函式溫度超引數的影響。我們發現,溫度超引數可以用來平滑文字概率分佈。我們通過溫度超引數 t 來改變文字概率分佈:
圖4
圖4表明,t=2 時效能最佳。當我們不斷增加溫度超引數時,並沒有獲得額外的效能提升。
與此同時,我們研究了語言模型的影響。在解碼部分,我們使用了擴充三元語言模型,並獲得了一個更好的結果。並且,在 r=0.1 時,注意力平滑取得了最好的效能。
5. 總結
基於注意力的編碼器-解碼器模型的端對端中文語音識別,我們已取得第一個佳績。對於語音搜尋任務,我們的模型 CER 為 3.58%,SER 為 7.43%。為了加速訓練和收斂過程,我們採用了亞取樣的方法。與此同時,使用 L2 正則化和高斯加權噪音以獲得更好的泛化和收斂能力。此外,我們也探索了上下文注意力(content attention)和卷積注意力(convolutional attention)標準化的問題。
研究表明,基於注意力的編碼-解碼模型在中文 ASR 效能優越。通過結合本文提出的模型和一些現有的技術,比如深度卷積神經網路,效能有望得到進一步的提升。這將是我們將來的研究方向。
6. 致謝
在這裡,我們要感謝張羽以及李健的建議和技術支援。此外,還要感謝小米雲平臺運維團隊,和小米深度學習組,他們提供了深度學習平臺。
論文地址
https://arxiv.org/pdf/1707.07167.pdf
在AI科技大本營微信公眾號(rgznai100)會話回覆“CCAI”,打包下載本次大會嘉賓的演講PPT。
CCAI 2017更多精彩內容,請關注微信公眾號“AI科技大本營”,一次掌握“現場微信群”、“圖文報導”、“PPT下載”以及“大會期刊”所有入口!
CCAI 2017 精彩回顧
CCAI 2017 | 中國工程院院士李德毅:L3的挑戰與量產
CCAI 2017 | 漆遠:螞蟻金服 AI 技術大揭祕, 開放“模型服務平臺”
CCAI 2017 | 香港科技大學計算機系主任楊強:論深度學習的遷移模型
CCAI 2017 | AAAI 執委 Toby Walsh: AI 是中性技術,如何用它更好地為人類服務
CCAI 2017 | 日本理化學研究所杉山將:弱監督機器學習的研究進展
CCAI 2017 | Hans Uszkoreit:如何用機器學習和知識圖譜來實現商業智慧化?
CCAI | FDT-AI聯合創始人兼CEO柳崎峰:金融機構的市場機遇與實踐
CCAI | 北航空航天大學計算機學院副院長王蘊紅:人工智慧科學與藝術的鑑賞創作
CCAI | 如何能既便宜又快速地獲取大資料?這位微軟研究員設計了兩個模型,幫你省錢省時間
CCAI | 清華大學計算機系教授史元春:科幻與創新
CCAI 2017 | 王堅博士致辭:人工智慧是推動科技發展的動力
CCAI 2017 | 李德毅院士大會致辭:中國人工智慧步入新階段
CCAI 2017 | 譚鐵牛院士致辭:人工智慧新熱潮下要保持清醒頭腦,設定科學的目標