Nikko Strom揭秘語音識別技術(shù):Alexa是怎樣煉成的?
Nikko Strom,現(xiàn)任亞馬遜首席科學(xué)家,是 Echo 和 Alexa 項(xiàng)目的創(chuàng)始成員,在語音識別技術(shù)相關(guān)領(lǐng)域有著資深的研究及從業(yè)經(jīng)驗(yàn):
本文引用地址:http://m.butianyuan.cn/article/201703/345967.htm● 1997 年于瑞典皇家理工學(xué)院語音通信實(shí)驗(yàn)室獲得博士學(xué)位,后擔(dān)任MIT計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室研究員;
● 2000 年加入語音技術(shù)初創(chuàng)公司 Tellme Networks;
● 2007 年隨著 Tellme Networks 被微軟收購,加入微軟,推進(jìn)商業(yè)語音識別技術(shù)的前沿研究;
● 2011 年加入亞馬遜,擔(dān)任首席科學(xué)家,領(lǐng)導(dǎo)語音識別及相關(guān)領(lǐng)域的深度學(xué)習(xí)項(xiàng)目。
以下是 Nikko Strom 在本次大會上的演講。
先簡單介紹下我們的產(chǎn)品。如果你買了 Amazon Echo,意味著你可以通過 Alexa 語音識別系統(tǒng)控制它,并與它對話,而且不需要拿遙控器。左邊(下圖)是 Holiday Season,是我們新加入的白色Echo和Dot,相信在座應(yīng)該有很多人比較偏愛白色的電子產(chǎn)品。
Echo 還可以與沒有內(nèi)置 Alexa 系統(tǒng)的家電進(jìn)行連接,如燈具、咖啡機(jī)、恒溫器等,只需要喚醒Alexa,就可以讓這些家電設(shè)備執(zhí)行一些命令。此外,開發(fā)者還可以通過工具包 Alexa Skills Kit,打造個(gè)性化的功能。
現(xiàn)如今,Echo已經(jīng)進(jìn)入了數(shù)百萬用戶的家中,每天它都在被大量地使用著,也讓我們得到了無法想象的數(shù)據(jù)量。
深度學(xué)習(xí)基礎(chǔ)框架
事實(shí)上,人耳并非每時(shí)每刻都在搜集語音信息,真正在“聽”的時(shí)間大約只占 10%,所以一個(gè)人成長到 16歲時(shí),他/她所聽到的語音訓(xùn)練時(shí)間大概有 14016 個(gè)小時(shí)。
回到 Alexa,我們把數(shù)千個(gè)小時(shí)的真實(shí)語音訓(xùn)練數(shù)據(jù)存儲到 S3 中,使用 EC2 云上的分布式 GPU 集群來訓(xùn)練深度學(xué)習(xí)模型。
訓(xùn)練模型的過程中發(fā)現(xiàn),用 MapReduce 的方法效果并不理想,因?yàn)楣?jié)點(diǎn)之間需要頻繁地保持同步更新,不能再通過增加更多的節(jié)點(diǎn)來加速運(yùn)算。也可以這樣理解,就是GPU集群更新模型的計(jì)算速度非常之快,每秒都會更新幾次,每次的更新大約是模型本身的大小。也就是說,每一個(gè)線程(Worker)都要跟其它線程同步更新幾百兆的量,而這在一秒鐘的時(shí)間里要發(fā)生很多次。所以,MapReduce的方法效果并不是很好。
我們在 Alexa 里的解決方法就是,使用幾個(gè)逼近算法(Approximations)來減少更新規(guī)模,將其壓縮 3個(gè)量級。這里是我們一篇 2015 年論文里的圖表,可以看到,隨著GPU線程的增加,訓(xùn)練速度加快。到 40 個(gè) GUP 線程時(shí),幾乎成直線上升,然后增速有點(diǎn)放緩。80 GPU 線程對應(yīng)著大約 55 萬幀/秒的速度,每一秒的語音大約包含 100 幀,也就是說這時(shí)的一秒鐘可以處理大約90分鐘的語音。前面我提到一個(gè)人要花 16 年的時(shí)間來學(xué)習(xí) 1.4 萬小時(shí)的語音,而用我們的系統(tǒng),大約 3 個(gè)小時(shí)就可以學(xué)習(xí)完成。
這就是 Alexa 大致的深度學(xué)習(xí)基礎(chǔ)架構(gòu)。
聲學(xué)模型
大家都知道,語音識別系統(tǒng)框架主要包括四大塊:信號處理、聲學(xué)模型、解碼器和后處理。
首先我們會將從麥克風(fēng)收集來的聲音,進(jìn)行一些信號處理,將語音信號轉(zhuǎn)化到頻域,從每 10 毫秒的語音中提出一個(gè)特征向量,提供給后面的聲學(xué)模型。聲學(xué)模型負(fù)責(zé)把音頻分類成不同的音素。接下來就是解碼器,可以得出概率最高一串詞串,最后一步是后處理,就是把單詞組合成容易讀取的文本。
在這幾個(gè)步驟中,或多或少都會用到機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的方法。我今天主要講一下聲學(xué)模型的部分。
評論