文/CSDN周翔
今年 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) 是從音頻的幀率中提取序列的特徵向量:
在圖2中:注意-拼寫模塊是一個基於注意力機制的傳感器, 每次生成一個字符 yi:
(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 函數計算出的。
圖1:編碼器模型屬於從輸入的 x 中提取變量 h 的雙向長短時間記憶型BLSTM。
訓練中採用了幀數亞採樣的方法。
2.2 注意機制
注意機制經過選擇或加權輸入幀的方法來生成下一個輸出元素。最近所謂的 "神經機器翻譯模型" [18] 中也採用了相似的注意機制方法。在這種狀況下, 爲了生成每一個目標詞, 網絡會計算出一個分數, 將輸出 RNN 的隱藏狀態與輸入序列的每一個位置相匹配。對於一個輸入序列, 分數均被標準化並加總,處理後的分數能夠被解釋爲每一個輸入位置的機率,並與當前生成的目標詞對齊:
Score 函數是一個多層感知器(MLP)網絡, 能夠由如下等式描述:
這是在 [18] 中提出的基於內容的注意機制方法。
3. 方法
3.1 卷積注意機制
咱們建議, 原模型 [18] 中的卷積注意機制在考慮前一步產生的對齊後[10],應該是位置感知的。這是經過如下等式實現的:
圖2:由多層感知器 mlp (注意力機制) 和長短時記憶型LSTM (解碼器模型) 組成的注意-拼寫模型。對於每一個時間步長 t, 語境向量 ct 都是由 mlp 結合隱藏狀態變量 st−1 和輸入序列 h 計算得出的,而後生成新的隱藏狀態變量 st 和標記 yt。
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> 標記發出時, 將中止波束搜索。咱們發現波束越寬,好處越少。
表1:光束大小爲 30, τ = 2 ,γ = 0.1時,咱們獲得的基於注意力機制的模型結果。
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
此外,咱們也分析了波束搜索寬度對於解碼準確度的重要性。圖 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 | 譚鐵牛院士致辭:人工智能新熱潮下要保持清醒頭腦,設定科學的目標