自2010年Google的搜索引擎等服務(wù)退出中國之后,它也嘗試了多種途徑重返中國市場,比如推出中國版的Google Play應(yīng)用商店,卻沒有取得明顯的成功。即便是在目前中國已經(jīng)成為最大的Android智能手機市場的大勢下,也并沒有使用Google的服務(wù)。
而在7年之際,谷歌再次試圖重返中國,這次打出的“王牌”是它的人工智能系統(tǒng)開發(fā)框架TensorFlow。
雖然Google的云服務(wù)并未入駐中國市場,但中國卻有著亞洲增長最快的 TensorFlow開發(fā)者社區(qū)。目前谷歌正在中國積極推廣TensorFlow,希望借此重回龐大的中國AI市場。據(jù)了解,已有多名Google美國工程師出席了至少三個在北京和上海舉行的 TensorFlow開發(fā)者會議,其中兩場會議是閉門會議,出席者不允許拍照、記錄甚至寫博客。
TensorFlow最初由Google Brain團隊開發(fā)用于Google的研究和生產(chǎn),2015年11月9日在Apache 2.0開源許可證下發(fā)布。自發(fā)布至今,已經(jīng)被下載了超過790萬次。
今天,讓我們通過硅谷數(shù)據(jù)工程師Matthew Rubashkin和Matt Mollison所寫的TensorFlow RNN教程,來先了解一下如何借助TensorFlow框架訓(xùn)練語音識別的RNN;教程包含了全部代碼片段,你可以找到相應(yīng)的 GitHub 項目,該教程中使用的軟件就是源于現(xiàn)有的開源項目的代碼。
語音識別:音頻與副本(transcriptions)
2010年基于語音的方法成為語音識別模型的最新技術(shù),包括發(fā)音,聲學(xué)和語言模型的獨立組件。而從過去到現(xiàn)在的語音識別都依賴于使用傅立葉變換公式將聲波分解成頻率和振幅,并產(chǎn)生如下所示的頻譜圖:
為傳統(tǒng)語音識別流水線而訓(xùn)練隱馬爾可夫模型(HMM)的聲學(xué)模型,需要涉及語音、文本數(shù)據(jù),以及一個從單詞到音素的字典。HMM是用于順序數(shù)據(jù)生成的概率模型,多用于測量字符串中的差異的字符串度量,并且通常使用Levenshtein word error distance來評估。
這些模型可以通過與音素副本對應(yīng)的語音數(shù)據(jù)進行簡化和精準(zhǔn)化,但這是一個非常繁瑣的工作。因此,相較于音素級別的副本,詞級的副本更可能存在大量的語音數(shù)據(jù)集。
Connectionist Temporal Classification(CTC)損失函數(shù)
當(dāng)使用神經(jīng)網(wǎng)絡(luò)進行語音識別時,我們可以先拋開音素的概念,而使用允許預(yù)測字符級副本的基于神經(jīng)網(wǎng)絡(luò)的時序分類(CTC)的目標(biāo)函數(shù)。簡而言之,CTC能夠?qū)崿F(xiàn)多個序列概率的計算,這里的序列是指語音樣本的所有可能的字符級副本的集合。而網(wǎng)絡(luò)使用目標(biāo)函數(shù),則可以最大化字符序列的概率(即可以選擇可能性最大的副本),并且通過計算預(yù)測結(jié)果與實際副本之間的誤差從而更新訓(xùn)練期間的網(wǎng)絡(luò)權(quán)重。
值得注意的是,CTC損失函數(shù)使用的字符級誤差與傳統(tǒng)語音識別模型中經(jīng)常使用的Levenshtein word error distance不同。對于字符生成的RNN模型而言,字符和單詞之間的誤差與在諸如Esperonto和Croatian的語音語言中類似,不同的聲音會對應(yīng)于不同的字符。相反,對于非語音語言(如英語),字符與單詞之間的誤差就非常不同了。
為了進一步利用為傳統(tǒng)或深度學(xué)習(xí)語音識別模型而開發(fā)的算法,我們的團隊構(gòu)建了模塊化和快速原型的語音識別平臺:
數(shù)據(jù)的重要性
毫無疑問,創(chuàng)建一個將語音轉(zhuǎn)成文本的系統(tǒng),需要數(shù)字音頻文件和文字的副本。而由于該模型將適用于解碼任何新的語音樣本,因此,在系統(tǒng)中供我們進行訓(xùn)練的樣本越多,模型的表現(xiàn)也就越好。
對此,我們研究了可免費獲取的英語演講錄音,包括了LibriSpeech(1000小時),TED-LIUM(118小時)和VoxForge(130小時)等不同的樣本,以供訓(xùn)練使用。
下面的圖表展現(xiàn)了這些數(shù)據(jù)集的信息,包括總時長、采樣率和注釋:
為了方便地從任何數(shù)據(jù)源中訪問數(shù)據(jù),我們以扁平的格式存儲所有數(shù)據(jù),如.wav格式和.txt格式。
舉個例子,你可以在我們的GitHub repo中找到Librispeech訓(xùn)練數(shù)據(jù)集中的“211-122425-0059”數(shù)據(jù)所對應(yīng)的文件,例如211-122425-0059.wav和211-122425-0059.txt。這些數(shù)據(jù)文件名使用數(shù)據(jù)集對象類加載到TensorFlow圖中,這有助于TensorFlow有效地加載、預(yù)處理數(shù)據(jù),并將各批數(shù)據(jù)從CPU加載到GPU內(nèi)存中。以下是數(shù)據(jù)集對象中數(shù)據(jù)字段的示例:
特征表征(representation)
為了使機器更好地識別音頻數(shù)據(jù),數(shù)據(jù)必須先從時域轉(zhuǎn)換到頻域。這里有幾種方法可以創(chuàng)建用于提取機器學(xué)習(xí)特征的音頻數(shù)據(jù),包括通過任意頻率分級(如每100Hz),以及通過使用人耳能夠聽到的頻率波段分級。這種典型的以人為中心的語音數(shù)據(jù)轉(zhuǎn)換是計算13位或26位不同倒譜特征的梅爾頻率倒譜系數(shù)(MFCC)的,它可以作為模型的輸入。經(jīng)過轉(zhuǎn)換,數(shù)據(jù)將被存儲在一個頻率系數(shù)(行)隨時間(列)的矩陣中。
由于語音不會孤立地產(chǎn)生,并且沒有一對一映射到字符,所以我們可以通過在當(dāng)前的時間索引之前和之后捕獲聲音的重疊窗口(10s)上訓(xùn)練網(wǎng)絡(luò),從而捕獲共同作用的影響(通過影響一個聲音影響另一個發(fā)音)。
以下是如何獲取MFCC功能以及如何創(chuàng)建音頻數(shù)據(jù)的窗口的示例代碼:
對于RNN 示例來說,我們使用之前的9個時間片段和之后的9個時間片段,每個窗口總共包括了19個時間點。當(dāng)?shù)棺V系數(shù)為26的情況下,每25毫秒會有494個數(shù)據(jù)點。而根據(jù)數(shù)據(jù)的采樣率,我們建議對于16000Hz使用26個倒譜特征,對8000Hz使用13個倒譜特征。
以下是8,000 Hz數(shù)據(jù)的加載窗口示例:
語音的序列性建模
長短期記憶網(wǎng)絡(luò)(LSTM)層是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)架構(gòu),可用于對具有長期順序依賴性的數(shù)據(jù)進行建模。由于它們從根本上記住了當(dāng)前時間點的歷史信息,而這些信息會影響結(jié)果的輸出,因此它們對于時間序列數(shù)據(jù)非常重要。 而也正因這樣的時態(tài)特征,使得上下文具有了聯(lián)系性,這對于語音識別非常有效。
以下展示了深度語音啟發(fā)(DeepSpeech-inspired)的雙向神經(jīng)網(wǎng)絡(luò)(BiRNN)中 LSTM 層的示例代碼:
網(wǎng)絡(luò)訓(xùn)練與監(jiān)控
通過使用Tensorflow訓(xùn)練網(wǎng)絡(luò),我們花很少的精力就可以實現(xiàn)計算圖表的可視化,同時也可以使用TensorBoard從門戶網(wǎng)站上進行監(jiān)視訓(xùn)練、驗證以及性能測試。根據(jù)Dandelion Mane在2017年Tensorflow發(fā)展峰會上做演講中提到的技巧,我們使用tf.name_scope來增加節(jié)點和層名,并將總結(jié)寫到了文件中。
其結(jié)果是自動生成的,并且是可理解的計算圖表。以雙向神經(jīng)網(wǎng)絡(luò)(BiRNN)為例(如下圖),數(shù)據(jù)在左下方到右上方的不同操作間進行傳遞。為了更清楚地展現(xiàn),可以為不同的節(jié)點做標(biāo)注,并使用命名空間對節(jié)點進行著色。在這個例子中,青色的“fc”盒子對應(yīng)全連接層,而綠色 的'“b”和“h”盒子分別對應(yīng)偏移量和權(quán)重。
我們使用TensorFlow提供的tf.train.AdamOptimizer來控制學(xué)習(xí)率。 而AdamOptimizer則通過使用動量(參數(shù)的移動平均值)來改善傳統(tǒng)梯度下降,從而促進超參數(shù)的有效動態(tài)調(diào)整。此外,我們還可以通過創(chuàng)建標(biāo)簽錯誤率的摘要標(biāo)量來跟蹤丟失和錯誤率:
如何改進RNN
現(xiàn)在我們已經(jīng)建立了一個簡單的LSTM RNN網(wǎng)絡(luò),那么,如何降低其中的錯誤率呢?非常幸運的是,對于開源社區(qū)而言,許多大公司都已經(jīng)發(fā)布了他們表現(xiàn)最好的語音識別模型的背后的數(shù)學(xué)模型。早在2016年9月,微軟就發(fā)布了一篇文章,描述了他們?nèi)绾卧贜IST 200交換機數(shù)據(jù)上將錯誤率降到6.9%。他們在卷積+遞歸神經(jīng)網(wǎng)絡(luò)之上使用了幾種不同的聲學(xué)和語言模型。
微軟團隊和其他研究人員在過去4年中所做的幾項重大改進包括:
值得注意的是,在過去幾十年的傳統(tǒng)語音識別模型中率先開發(fā)的語言模型,在深度學(xué)習(xí)語音識別模型中再次被證明是有價值的。
改進來自:A Historical Perspective of Speech Recognition, Xuedong Huang, James Baker, Raj Reddy Communications of the ACM, Vol. 57 No. 1, Pages 94-103, 2014
訓(xùn)練你的第一個RNN
我們提供了一個 GitHub項目(GitHub repository),該項目的腳本提供了一個用RNNs和CTC損失函數(shù)(在TensorFlow中),訓(xùn)練端到端語音識別系統(tǒng)的簡單易行執(zhí)行方案。GitHub庫中包含了來自LibriVox 語料庫(LibriVox corpus )示例數(shù)據(jù),這些數(shù)據(jù)被分為如下幾個文件夾:
當(dāng)訓(xùn)練這幾個示例時,你會很快注意到訓(xùn)練數(shù)據(jù)會過度擬合(overfit),這使得錯詞率(WER)約為0%,而測試集和Dev數(shù)據(jù)集的WER大約能達到85%。測試錯誤率之所以不是100%,是因為機器需要在29個可能的字符間做選擇(a-z,省略號,空格鍵,空白),但網(wǎng)絡(luò)將很快學(xué)習(xí)到:
在GitHub庫中使用默認設(shè)置做訓(xùn)練,運行結(jié)果如下圖所示:
如果你想訓(xùn)練一個高性能的模型,還可以在文件夾中添加額外的.wav和.txt文件,或者創(chuàng)建一個新的文件夾,并用文件夾位置更新`configs / neural_network.ini`。需要注意的是,即使使用強大的GPU,在僅僅幾百個小時的音頻上做處理和訓(xùn)練也需要非常大的計算能力。
| 編譯:科技行者
| 來源:SVDS
好文章,需要你的鼓勵
這項研究提出了"高效探測"方法,解決了掩碼圖像建模AI難以有效評估的問題。通過創(chuàng)新的多查詢交叉注意力機制,該方法在減少90%參數(shù)的同時實現(xiàn)10倍速度提升,在七個基準(zhǔn)測試中均超越傳統(tǒng)方法。研究還發(fā)現(xiàn)注意力質(zhì)量與分類性能的強相關(guān)性,生成可解釋的注意力圖譜,展現(xiàn)出優(yōu)異的跨域適應(yīng)性。團隊承諾開源全部代碼,推動技術(shù)普及應(yīng)用。
伊利諾伊大學(xué)研究團隊開發(fā)了CLAIMSPECT系統(tǒng),通過層次化分解復(fù)雜爭議、智能檢索相關(guān)文獻、多角度收集觀點的方法,將傳統(tǒng)的"真假"判斷轉(zhuǎn)變?yōu)槎嗑S度分析。該系統(tǒng)能夠自動構(gòu)建爭議話題的分析框架,識別不同觀點及其支撐證據(jù),為科學(xué)和政治爭議提供更全面客觀的分析,已在生物醫(yī)學(xué)和國際關(guān)系領(lǐng)域驗證有效性。
清華大學(xué)研究團隊首次提出情感認知融合網(wǎng)絡(luò)(ECFN),讓AI能像人類一樣理解和表達情感。該系統(tǒng)通過多層次情感處理架構(gòu),在情感識別準(zhǔn)確率上比現(xiàn)有最佳系統(tǒng)提升32%,情感表達自然度提升45%。研究突破了傳統(tǒng)AI情感理解的局限,實現(xiàn)了跨模態(tài)情感融合、動態(tài)情感追蹤和個性化情感建模,為醫(yī)療、教育、客服等領(lǐng)域帶來革命性應(yīng)用前景。
哈佛大學(xué)研究團隊通過創(chuàng)新的多智能體強化學(xué)習(xí)方法,讓AI在戰(zhàn)略游戲中學(xué)會復(fù)雜推理。研究發(fā)現(xiàn)AI通過游戲競爭能發(fā)展出類人思維能力,在邏輯推理、創(chuàng)造性解決問題等方面表現(xiàn)顯著提升。這項突破性成果為未來AI在醫(yī)療、教育、城市管理等領(lǐng)域的應(yīng)用奠定基礎(chǔ),展現(xiàn)了通過模擬人類學(xué)習(xí)過程培養(yǎng)真正智能AI的新路徑。