丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給楊曉凡
發(fā)送

0

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

本文作者: 楊曉凡 2017-10-24 09:58
導(dǎo)語(yǔ):“Hey Siri”看似簡(jiǎn)單的功能背后原來(lái)有這么復(fù)雜的設(shè)計(jì)

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

雷鋒網(wǎng) AI 科技評(píng)論按:蘋果的新一期機(jī)器學(xué)習(xí)開發(fā)日記來(lái)了~ 這次蘋果介紹了通過(guò)講話就能喚醒Siri的“Hey Siri”功能是如何從技術(shù)上實(shí)現(xiàn)的,同時(shí)也介紹了為了從用戶體驗(yàn)角度改善“Hey Siri”的表現(xiàn),蘋果的工程師們都做了哪些取舍和調(diào)整。與之前的文章一樣,蘋果的產(chǎn)品開發(fā)中并沒有令人震驚的新技術(shù),但嚴(yán)謹(jǐn)、細(xì)致、以用戶為中心打磨產(chǎn)品的態(tài)度是自始至終的。雷鋒網(wǎng) AI 科技評(píng)論全文編譯如下。

iOS設(shè)備上的“Hey Siri”功能可以讓用戶無(wú)需接觸設(shè)備就喚醒Siri。在iOS設(shè)備上,有一個(gè)非常小的語(yǔ)音識(shí)別器一直在運(yùn)行著,就等著聽這兩個(gè)詞。當(dāng)它檢測(cè)到用戶說(shuō)“Hey Siri”后,Siri 其它的部分就會(huì)把接下來(lái)的語(yǔ)音分解成一個(gè)控制指令或者一次查詢?!癏ey Siri”檢測(cè)器中使用了一個(gè)深度神經(jīng)網(wǎng)絡(luò)(DNN),每時(shí)每刻把你的語(yǔ)音模式轉(zhuǎn)換成一個(gè)不同講話聲音的概率分布。它使用了一個(gè)時(shí)間積分的過(guò)程對(duì)聽到的語(yǔ)音計(jì)算一個(gè)置信度分?jǐn)?shù),判斷你說(shuō)的詞語(yǔ)是不是“Hey Siri”。如果這個(gè)分?jǐn)?shù)足夠高,Siri 就會(huì)醒來(lái)。這篇文章就簡(jiǎn)單介紹了其中蘊(yùn)含的技術(shù),它的主要目標(biāo)讀者是對(duì)機(jī)器學(xué)習(xí)有一些了解但是對(duì)語(yǔ)音識(shí)別了解不多的研究者們。

無(wú)需觸碰就與Siri互動(dòng)

如果要讓 Siri 做什么,只需說(shuō):“Hey Siri”。當(dāng)說(shuō)出“Hey Siri”時(shí)不需要按設(shè)備上的任何一個(gè)按鈕,這使得 Siri 無(wú)需觸碰就可以操作。這件事看起來(lái)簡(jiǎn)單,但是在幕后有許多的故事才能讓 Siri 喚醒得又快又高效。硬件、軟件和網(wǎng)絡(luò)服務(wù)無(wú)縫共同合作,提供了出色的用戶體驗(yàn)。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖1, Hey Siri 功能在 iPhone上的工作流程

在做飯或者開車這種雙手很忙的時(shí)候,能夠不按按鈕就使用 Siri 顯得尤其的有用,使用 Apple Watch時(shí)也是這樣。如圖1所示,整個(gè)系統(tǒng)包含許多組件。Siri 的大多數(shù)功能都是在云端實(shí)現(xiàn)的,包括主要的自動(dòng)語(yǔ)音識(shí)別、自然語(yǔ)言轉(zhuǎn)述以及各種豐富的信息服務(wù)。也有一些服務(wù)器會(huì)給手機(jī)中的檢測(cè)器提供聲學(xué)模型的更新。這篇文章重點(diǎn)介紹系統(tǒng)中運(yùn)行在本地設(shè)備上的部分(比如iPhone或者Apple Watch上)。這篇文章尤其關(guān)注了檢測(cè)器:一個(gè)專用的語(yǔ)音識(shí)別器,它始終在聆聽,而且僅僅聽它的喚醒短語(yǔ)(在較為近期的iPhone上,并開啟了“Hey Siri”功能時(shí))。

檢測(cè)器:等待聆聽“Hey Siri”

iPhone或者Apple Watch上的麥克風(fēng)會(huì)把你的聲音轉(zhuǎn)化成一組短時(shí)的波形采樣流,采樣速率是每秒16000次。一個(gè)頻譜分析階段會(huì)把波形采樣留轉(zhuǎn)換成一組音頻幀,每一個(gè)幀都描述了大概0.01秒的聲音頻譜。每次會(huì)有大約20個(gè)這樣的幀(0.2秒長(zhǎng)的音頻)送入聲學(xué)模型,這是一個(gè)深度神經(jīng)網(wǎng)絡(luò),把音頻樣本中的每一個(gè)都轉(zhuǎn)換成一組語(yǔ)言聲音類別的概率分布:“Hey Siri”短語(yǔ)中用到的聲音,或者靜音和其它語(yǔ)音,加起來(lái)一共大約20個(gè)聲音類別。詳見圖2。

這個(gè)深度神經(jīng)網(wǎng)絡(luò)主要由矩陣乘法和邏輯非線性組成。每一個(gè)隱含層的內(nèi)容都是DNN經(jīng)過(guò)訓(xùn)練后發(fā)掘出的中間層表征,最終把過(guò)濾器中每個(gè)頻道的輸入轉(zhuǎn)換為不同的聲音類別。最終的非線性階段本質(zhì)上是一個(gè)Softmax函數(shù)(也就是一個(gè)一般邏輯或者正則化指數(shù)函數(shù)),不過(guò)由于蘋果的工程師們想要的是對(duì)數(shù)概率,所以實(shí)際的數(shù)學(xué)計(jì)算會(huì)比這個(gè)簡(jiǎn)單一點(diǎn)。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖2,用來(lái)檢測(cè)“Hey Siri”的深度神經(jīng)網(wǎng)絡(luò)。其中的隱含層是全連接的。頂層進(jìn)行的是一個(gè)時(shí)間集成的過(guò)程。實(shí)際的深度神經(jīng)網(wǎng)絡(luò)是圖中虛線框圈出的部分。

不同的設(shè)備上運(yùn)行“Hey Siri”時(shí)有不同的運(yùn)算資源,蘋果的工程師們據(jù)此為隱含層中的神經(jīng)元設(shè)定不同的數(shù)目。蘋果用的網(wǎng)絡(luò)一般含有五個(gè)隱含層,每層都有同樣的神經(jīng)元數(shù)目,根據(jù)設(shè)備的內(nèi)存和能源限制,數(shù)目為32、128或者192個(gè)。在iPhone上,蘋果設(shè)計(jì)了兩個(gè)網(wǎng)絡(luò),一個(gè)用于初始檢測(cè),另一個(gè)用于第二步檢測(cè)。初始檢測(cè)中的神經(jīng)元數(shù)目比第二步檢測(cè)中的少。

這個(gè)聲學(xué)模型的輸出是為每一幀計(jì)算語(yǔ)音類別的概率分布。一個(gè)語(yǔ)音類別可以是“前有一個(gè)舌位較高的前元音、后面有一個(gè)前元音的/s/發(fā)音的第一部分”這樣的東西。

為了檢測(cè)“Hey Siri”,這個(gè)目標(biāo)短語(yǔ)的讀音經(jīng)過(guò)聲學(xué)模型之后的輸出應(yīng)當(dāng)在輸出序列中靠前的位置上。為了給每一幀計(jì)算單獨(dú)的分?jǐn)?shù),蘋果工程師們按照時(shí)間順序把這些局部的值累計(jì)在一個(gè)序列中。這部分就是圖2中最終層(頂層)的部分,一個(gè)循環(huán)網(wǎng)絡(luò)中帶有到同一個(gè)神經(jīng)元和下一個(gè)神經(jīng)元的連接。在每個(gè)神經(jīng)元中都有一個(gè)取最大值操作和一個(gè)加法操作。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

其中:

  • Fi,t是模型中狀態(tài)i的累計(jì)分?jǐn)?shù)

  • qi,t是聲學(xué)模型的輸出。這個(gè)輸出是語(yǔ)音類別的對(duì)數(shù)分?jǐn)?shù),它與時(shí)間t附近給定語(yǔ)音模式的第i個(gè)狀態(tài)有關(guān)

  • si是和留在狀態(tài)i相關(guān)的開銷

  • mi是從狀態(tài)i繼續(xù)向后移動(dòng)的開銷

其中si和mi都是基于訓(xùn)練數(shù)據(jù)中語(yǔ)音分割時(shí)長(zhǎng)和相關(guān)標(biāo)簽的分析得到的。(這個(gè)過(guò)程中應(yīng)用了動(dòng)態(tài)編程,而且可以由隱馬爾可夫模型HMMs的思路得到)

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖3,方程的可視化描述

每一個(gè)累計(jì)分?jǐn)?shù)Fi,t都和前一幀帶有狀態(tài)的標(biāo)簽有關(guān),正如一系列最大化操作結(jié)果中展示的那樣。每一幀的最終分?jǐn)?shù)是Fi,t,這個(gè)語(yǔ)音段落的最后一個(gè)狀態(tài)是狀態(tài)i,在幀序列中一共通過(guò)N幀得到了這個(gè)結(jié)果。(N可以通過(guò)回溯最大化操作的序列得到,但實(shí)際上的做法是向前傳播幀的數(shù)目,因?yàn)檫@條路徑進(jìn)入的是語(yǔ)音段落的第一個(gè)狀態(tài))

“Hey Siri”檢測(cè)器的計(jì)算幾乎都是在這個(gè)聲學(xué)模型中完成的。這個(gè)時(shí)間積分計(jì)算的代價(jià)還比較低,所以在評(píng)估模型大小或者計(jì)算資源的時(shí)候都不需要考慮它。

看看下面的圖4,你應(yīng)該能更好地理解這個(gè)檢測(cè)器是如何工作的。其中在假設(shè)使用了最小的深度神經(jīng)網(wǎng)絡(luò)的情況下,不同階段中聲學(xué)信號(hào)是什么樣的。在最下面是麥克風(fēng)采集到的聲音的頻譜圖。在這個(gè)例子中,有人在說(shuō)“Hey Siri what”,其中較亮的部分是語(yǔ)音段落中最響亮的部分?!癏ey Siri”聲音的模式就是兩條垂直線之間的部分。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖4,音頻樣本經(jīng)過(guò)檢測(cè)器之后的樣子

倒數(shù)第二個(gè)橫向圖中是把同一段語(yǔ)音用Mel濾波器組分析后的結(jié)果,其中根據(jù)感知測(cè)量的結(jié)果給不同的頻率賦予了權(quán)重。這個(gè)轉(zhuǎn)換同時(shí)也讓頻譜圖中能看到的細(xì)節(jié)變得更平滑,這是由于人聲中激活特性的精細(xì)結(jié)構(gòu),要么是隨機(jī)的,比如/s/中這樣,或者是持續(xù)性的,體現(xiàn)為圖中的豎向條紋。

圖4中標(biāo)注為H1到H5的綠色和藍(lán)色的橫條是5個(gè)隱含層中每個(gè)神經(jīng)元的數(shù)值(激活狀況)。這張圖中每一層32個(gè)神經(jīng)元經(jīng)過(guò)了重新排列,讓具有類似輸出的神經(jīng)元距離更近一些。

再網(wǎng)上的一個(gè)橫條(帶有黃色信號(hào)的)展示的是聲學(xué)模型的輸出。在每一幀中,語(yǔ)音段落中的每一個(gè)狀態(tài)都會(huì)有一個(gè)輸出,另外還有其它對(duì)應(yīng)著靜音或者其它語(yǔ)音聲音的輸出。最終的評(píng)分顯示在最上方,是按照公式1,沿著發(fā)光的信號(hào)把每個(gè)局部的分?jǐn)?shù)積分起來(lái)得到的。值得注意的是,一旦整個(gè)語(yǔ)音段落都輸入了系統(tǒng),這個(gè)最終評(píng)分就會(huì)達(dá)到最高點(diǎn)。

蘋果的工程師們?yōu)樽罱K評(píng)分設(shè)立了兩個(gè)閾值來(lái)決定是否要激活Siri。實(shí)際上,閾值并不是固定的數(shù)值。蘋果工程師們?cè)O(shè)定了一定的靈活性,在嘈雜的環(huán)境下更容易激活Siri,同時(shí)也不會(huì)顯著增加誤激活的次數(shù)。兩個(gè)閾值中一個(gè)是主閾值,或者是普通閾值,還有一個(gè)較低的閾值,達(dá)到這個(gè)較低閾值并不會(huì)像正常那樣啟動(dòng)Siri。如果最終評(píng)分達(dá)到了較低的閾值但是沒有達(dá)到普通閾值,有可能確實(shí)是設(shè)備沒有識(shí)別出用戶說(shuō)的“Hey Siri”。當(dāng)評(píng)分在這個(gè)范圍時(shí),系統(tǒng)會(huì)進(jìn)入一個(gè)更敏感的狀態(tài)并保持幾秒鐘,這樣如果用戶重新說(shuō)這句話,即便他沒有說(shuō)得更大聲更清晰,Siri也會(huì)被喚醒。這種“二次機(jī)會(huì)”機(jī)制極大地提升了系統(tǒng)的可用性,同時(shí)還沒有讓誤喚醒率提升多少,因?yàn)樵O(shè)備也只會(huì)在這個(gè)非常敏感的時(shí)間保持很短的時(shí)間(下文會(huì)更多地討論準(zhǔn)確率的測(cè)試和調(diào)節(jié))

平衡響應(yīng)性和電量消耗:兩步檢測(cè)

“Hey Siri”檢測(cè)器不僅需要檢測(cè)結(jié)果準(zhǔn)確,還要在達(dá)到高識(shí)別速度的同時(shí)不造成明顯的電量消耗。同時(shí)還需要盡量降低對(duì)內(nèi)存和處理器的需求,尤其是對(duì)于處理器需求峰值。

為了避免讓iPhone的主處理器全天運(yùn)行就為了等待聽到激活短語(yǔ),iPhone 6S以及之后的iPhone上都搭載了一個(gè) Always On Processor (持續(xù)工作處理器,AOP) ,這是一個(gè)小體積、低功耗的協(xié)處理器,也就是iPhone上內(nèi)置的型號(hào)M開頭的運(yùn)動(dòng)協(xié)處理器。它能夠獲取麥克風(fēng)采集的信號(hào)。蘋果的工程師們拿出了AOP中有限的計(jì)算資源的一小部分來(lái)運(yùn)行一個(gè)“Hey Siri”檢測(cè)器中的深度神經(jīng)網(wǎng)絡(luò)的縮小版本。當(dāng)評(píng)分達(dá)到了一個(gè)閾值之后,運(yùn)動(dòng)協(xié)處理器會(huì)喚醒主處理器,主處理器就會(huì)用一個(gè)更大的深度神經(jīng)網(wǎng)絡(luò)分析聲音信號(hào)。在第一個(gè)帶有AOP支持的“Hey Siri”檢測(cè)器版本中,前一個(gè)協(xié)處理器中的檢測(cè)器中的5個(gè)隱含層每個(gè)隱含層有32個(gè)神經(jīng)元,第二個(gè)主處理器中的檢測(cè)器中的5個(gè)隱含層每個(gè)隱含層有192個(gè)神經(jīng)元。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖5,兩步檢測(cè)

在Apple Watch上實(shí)現(xiàn)“Hey Siri”檢測(cè)器的時(shí)候蘋果工程師們遇到了更大的困難,因?yàn)樗碾姵匾〉枚?。Apple Watch用的是一個(gè)一步檢測(cè)的檢測(cè)器,其中的聲學(xué)模型大小介于剛才說(shuō)到的其它iOS設(shè)備中第一步檢測(cè)和第二步檢測(cè)的模型大小之間。這個(gè)“Hey Siri”檢測(cè)器只有當(dāng)手表中的運(yùn)動(dòng)協(xié)處理器檢測(cè)到手腕抬起動(dòng)作的時(shí)候才開始工作,同時(shí)也會(huì)亮起屏幕。這時(shí)WatchOS其實(shí)要做許多的事情,喚醒電源、準(zhǔn)備屏幕等等,整個(gè)系統(tǒng)只會(huì)在本來(lái)就非常有限的計(jì)算資源中分配給“Hey Siri”檢測(cè)器很小的一部分(大概5%)。及時(shí)啟動(dòng)音頻采集抓住激活詞語(yǔ)是一項(xiàng)挑戰(zhàn),所以蘋果也在檢測(cè)器的初始化過(guò)程中預(yù)留了一些空間,允許出現(xiàn)一些斷續(xù)。

個(gè)人定制化的“Hey Siri”

一直開著的“Hey Siri”檢測(cè)器可以對(duì)附近任何人說(shuō)的激活短語(yǔ)做出響應(yīng),蘋果的工程師們最初是這樣設(shè)計(jì)的。為了減少誤激活帶來(lái)的麻煩,在iOS設(shè)備上打開“Hey Siri”功能后,用戶需要進(jìn)行一個(gè)簡(jiǎn)短的注冊(cè)環(huán)節(jié)。在注冊(cè)環(huán)節(jié)中,用戶需要說(shuō)五個(gè)以“Hey Siri”開頭的短語(yǔ),然后這些語(yǔ)音樣本會(huì)被保存在設(shè)備上。

未來(lái)設(shè)備上錄制到的任何“Hey Siri”語(yǔ)音都會(huì)和存儲(chǔ)的樣本做對(duì)比。(第二步)檢測(cè)器會(huì)產(chǎn)生時(shí)間信息,可以把語(yǔ)音樣本轉(zhuǎn)換成一個(gè)固定長(zhǎng)度的向量,這個(gè)過(guò)程中會(huì)把每一幀對(duì)齊到每個(gè)狀態(tài)之后取平均。另外一個(gè)單獨(dú)的、專門訓(xùn)練過(guò)的深度神經(jīng)網(wǎng)絡(luò)會(huì)把這個(gè)向量轉(zhuǎn)換到一個(gè)“講話者空間”中去。這個(gè)設(shè)計(jì)的想法是,同一個(gè)講話者的語(yǔ)音樣本會(huì)較為接近,不同講話者之間的語(yǔ)音樣本就會(huì)離得比較遠(yuǎn)。識(shí)別時(shí),會(huì)把新語(yǔ)音和之前注冊(cè)時(shí)錄制的語(yǔ)音之間的距離和一個(gè)閾值進(jìn)行對(duì)比,判斷觸發(fā)了檢測(cè)器的這個(gè)聲音有多大可能是來(lái)自注冊(cè)過(guò)的用戶的。

這個(gè)過(guò)程不僅降低了另一個(gè)用戶說(shuō)的“Hey Siri”會(huì)激活iPhone的可能,同時(shí)也降低了其它聽起來(lái)接近的詞語(yǔ)激活Siri的可能。

進(jìn)一步確認(rèn)

在通過(guò)iPhone上的層層識(shí)別階段之后,這段語(yǔ)音會(huì)被傳到Siri服務(wù)器上去。如果服務(wù)器上的主語(yǔ)音識(shí)別器認(rèn)為說(shuō)的內(nèi)容并不是“Hey Siri”(比如其實(shí)說(shuō)的是 “Hey Seriously”),服務(wù)器就會(huì)給手機(jī)發(fā)回一個(gè)取消信號(hào),讓它重新進(jìn)入睡眠狀態(tài)(圖1中所示)。在有些系統(tǒng)中,蘋果也會(huì)在本地設(shè)備上設(shè)置一個(gè)縮減版本的主語(yǔ)音識(shí)別器,在更早的時(shí)候提供多一步檢查。

聲學(xué)模型:訓(xùn)練

深度神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型是“Hey Siri”的核心所在。下面來(lái)詳細(xì)看看它是如何訓(xùn)練的。早在推出“Hey Siri”功能之前,就有一小部分用戶使用在Siri時(shí)在講命令之前先說(shuō)“Hey Siri”;這時(shí)候激活Siri都是靠按下按鈕的。蘋果的工程師們就使用了這些“Hey Siri”語(yǔ)音用作美國(guó)英語(yǔ)的檢測(cè)模型的初始訓(xùn)練集。他們同時(shí)還用了一些一般的語(yǔ)音樣本,就像訓(xùn)練主語(yǔ)音識(shí)別用到的那樣。在這兩種情況下,蘋果都使用了訓(xùn)練短語(yǔ)的自動(dòng)文本轉(zhuǎn)錄結(jié)果。Siri團(tuán)隊(duì)檢查了這些轉(zhuǎn)錄結(jié)果中的一部分,確認(rèn)正確率足夠。

蘋果為不同語(yǔ)言單獨(dú)設(shè)計(jì)了“Hey Siri”短語(yǔ)的語(yǔ)音特征。以美國(guó)英語(yǔ)為例,系統(tǒng)中設(shè)計(jì)了兩種變體,其中的“Siri”有兩種不同的首元音,一個(gè)像“serious”中那樣,另一個(gè)像“Syria”中那樣。他們還考慮了如何應(yīng)對(duì)這兩個(gè)詞中間的短暫間隔,尤其是這個(gè)短語(yǔ)書寫的時(shí)候都經(jīng)常會(huì)帶上一個(gè)逗號(hào)變成“Hey,Siri”。每個(gè)語(yǔ)音符號(hào)都會(huì)被分為三種語(yǔ)音類別(開頭,中部以及結(jié)尾),每一個(gè)在經(jīng)過(guò)聲學(xué)模型后都會(huì)得到各自的輸出。

蘋果使用了一個(gè)對(duì)話語(yǔ)料庫(kù)來(lái)訓(xùn)練這個(gè)檢測(cè)器的深度神經(jīng)網(wǎng)絡(luò),同時(shí)Siri的主語(yǔ)音識(shí)別器會(huì)給每一幀提供一個(gè)聲音類別標(biāo)簽。主聲音檢測(cè)器中有數(shù)千種聲音類別,不過(guò)只有大約20種是檢測(cè)“Hey Siri”的讀音時(shí)用得到的(包括一個(gè)初始聲音),然后把所有其它的聲音都?xì)w為一個(gè)大類就可以。訓(xùn)練過(guò)程的目標(biāo)是根據(jù)局部音頻樣本,讓DNN對(duì)標(biāo)識(shí)了相關(guān)的狀態(tài)和音素的幀輸出的判別結(jié)果盡量接近1。訓(xùn)練過(guò)程通過(guò)標(biāo)準(zhǔn)的反向傳播和隨機(jī)梯度下降調(diào)節(jié)連接權(quán)值。開發(fā)過(guò)程中,蘋果使用了許多種不同的神經(jīng)網(wǎng)絡(luò)訓(xùn)練工具包,包括Theano、Tensorflow 以及 Kaldi。

訓(xùn)練過(guò)程中根據(jù)給定的局部聲學(xué)樣本估計(jì)音素和狀態(tài)的概率,但是這些估計(jì)值中會(huì)包括音素在訓(xùn)練集中的出現(xiàn)概率(首選),它們的分布可能不均勻,而且也和檢測(cè)器的實(shí)際應(yīng)用場(chǎng)景關(guān)系不大,所以蘋果工程師們?cè)趹?yīng)用聲學(xué)模型之前先對(duì)這些首選做了補(bǔ)償。

訓(xùn)練一個(gè)模型通常需要花一天的時(shí)間,蘋果通常也會(huì)同步訓(xùn)練好幾個(gè)模型。一般一次會(huì)訓(xùn)練三個(gè)版本,一個(gè)小模型用在運(yùn)動(dòng)協(xié)處理器的第一步檢測(cè)上,一個(gè)大模型用在主處理器的第二步檢測(cè)上,以及一個(gè)中等大小的模型用于Apple Watch。

“Hey Siri” 功能可以支持所有Siri支持的語(yǔ)言,不過(guò)讓Siri開始聆聽的指令不一定非要是“Hey Siri” 這兩個(gè)詞。比如,講法語(yǔ)的用戶需要說(shuō) “Dis Siri”,講韓語(yǔ)的用戶說(shuō)“Siri ?”(發(fā)音類似“Siri Ya.”)在俄羅斯,用戶要說(shuō)“привет Siri “ (聽起來(lái)像“Privet Siri”),在泰國(guó)就是“?????? Siri”.(聽起來(lái)像“Wadi Siri”)。

測(cè)試和調(diào)整

無(wú)論用戶在什么時(shí)候說(shuō)“Hey Siri”,一個(gè)理想的檢測(cè)器都應(yīng)該馬上啟動(dòng)起來(lái),同時(shí)不在其它的時(shí)候啟動(dòng)。蘋果用兩種不同的錯(cuò)誤描述檢測(cè)器的準(zhǔn)確率,一個(gè)是在錯(cuò)誤的時(shí)候啟動(dòng),一個(gè)是沒能在正確的時(shí)候啟動(dòng)。前者是錯(cuò)誤接受率(FAR或誤警率),是每小時(shí)平均誤啟動(dòng)的數(shù)目(或者是誤啟動(dòng)之間的平均間隔時(shí)間);后者錯(cuò)誤拒絕率(FRR)是嘗試激活Siri的動(dòng)作中失敗的比例。(值得注意的是,用來(lái)衡量FAR的單位和衡量FRR的不一樣,甚至測(cè)量的指標(biāo)都不一樣。所以不存在FAR和FRR相等的狀況)

對(duì)于一個(gè)給定的聲學(xué)模型,可以在兩種錯(cuò)誤率中做平衡取舍,改變激活的閾值就可以。圖6中表現(xiàn)的就是在兩個(gè)開發(fā)早期的模型基礎(chǔ)上做這種取舍的例子,做的操作就是沿著曲線改變閾值。

在開發(fā)過(guò)程中,蘋果的工程師們嘗試用一個(gè)很大的測(cè)試集估計(jì)系統(tǒng)的準(zhǔn)確率,這樣的測(cè)試集采集和準(zhǔn)備起來(lái)很花錢,但卻是必不可少的。測(cè)試集中有正例數(shù)據(jù)也有負(fù)例數(shù)據(jù)。正例數(shù)據(jù)中確實(shí)含有目標(biāo)激活詞語(yǔ)。你可能會(huì)想,用“Hey Siri”系統(tǒng)本來(lái)采集到的聲音來(lái)做測(cè)試不行嗎?但其實(shí)系統(tǒng)并沒有捕捉到?jīng)]能激活Siri的那些語(yǔ)音,而蘋果的目標(biāo)是提升系統(tǒng)表現(xiàn),盡量讓以前激活失敗的聲音在現(xiàn)在可以激活成功。

一開始蘋果使用了一些用戶在按下Home按鈕同時(shí)說(shuō)的“Hey Siri”語(yǔ)音,但是其實(shí)這些用戶并沒有試著讓Siri集中注意力聽他們說(shuō)什么(按下Home按鈕的動(dòng)作就已經(jīng)表達(dá)了這個(gè)意圖),而且同時(shí)麥克風(fēng)也一定是在用戶的一臂距離之內(nèi)。相比之下,蘋果希望“Hey Siri”可以在整個(gè)房間的范圍內(nèi)都有效。所以蘋果專門根據(jù)不同的環(huán)境錄制了很多語(yǔ)音,比如在廚房(遠(yuǎn)近都有)、車上、臥室、餐館;蘋果分別請(qǐng)了把各種語(yǔ)言做母語(yǔ)的人參與這項(xiàng)錄制。

負(fù)例數(shù)據(jù)是用來(lái)測(cè)試誤激活(以及誤喚醒)的。數(shù)據(jù)集中有不同來(lái)源的共數(shù)千小時(shí)錄音,包括語(yǔ)音博客和Siri收到的各種語(yǔ)言語(yǔ)音中不含有“Hey Siri”的那些,它們分別代表了背景聲音(尤其是人類對(duì)話)和用戶跟另一個(gè)人講話時(shí)容易出現(xiàn)的詞語(yǔ)。蘋果需要準(zhǔn)備大量的數(shù)據(jù),因?yàn)樗麄兊哪繕?biāo)誤激活率要低至每周一次(如果在標(biāo)識(shí)為負(fù)例的數(shù)據(jù)中確實(shí)出現(xiàn)了激活詞語(yǔ),這樣的情況就不算為出錯(cuò))

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

圖6,檢測(cè)器準(zhǔn)確率。較小和較大的深度神經(jīng)網(wǎng)絡(luò)中對(duì)檢出的閾值有不同取舍

系統(tǒng)的調(diào)節(jié)在很大程度上就是一個(gè)決定用什么閾值的過(guò)程。圖6中,較大的深度神經(jīng)網(wǎng)絡(luò)的那條較低的權(quán)衡曲線上的兩個(gè)點(diǎn),就是選出的正常閾值和“再說(shuō)一次”的閾值。較小的模型(一步檢測(cè))的工作點(diǎn)在最右側(cè)。圖中的曲線展示的僅僅是檢測(cè)器中兩個(gè)階段的檢出率曲線,并未包括之后的個(gè)性化階段或者后續(xù)檢查。

對(duì)于在測(cè)試集上表現(xiàn)較好的模型,蘋果的工程師們當(dāng)然有信心認(rèn)為它們確實(shí)更優(yōu)秀,但把離線測(cè)試的結(jié)果轉(zhuǎn)換成對(duì)用戶體驗(yàn)的靠譜的預(yù)測(cè)就是另一件事情了。所以除了剛剛介紹的離線測(cè)試之外,蘋果還從最新的iOS設(shè)備和Apple Watch上對(duì)生產(chǎn)數(shù)據(jù)(用戶真實(shí)使用狀況下的數(shù)據(jù))進(jìn)行了每周采樣,用來(lái)估計(jì)誤識(shí)別率(用戶沒有說(shuō)“Hey Siri”的時(shí)候Siri就啟動(dòng)了)和冒名接受率(檢測(cè)器已經(jīng)經(jīng)過(guò)了用戶語(yǔ)音的訓(xùn)練,但是另一個(gè)人說(shuō)“Hey Siri”的時(shí)候Siri也啟動(dòng)了)。這些數(shù)據(jù)中并不能得到拒絕率(用戶說(shuō)了“Hey Siri”但Siri并沒有應(yīng)答),但是這個(gè)指標(biāo)可以由系統(tǒng)開發(fā)人員從剛好高出閾值的真實(shí)激活動(dòng)作的比例,以及設(shè)備上記錄的剛好未達(dá)到閾值的事件次數(shù)中推測(cè)出來(lái)。

蘋果的工程師們用這篇文章中介紹的訓(xùn)練和測(cè)試方法以及它們的變種,不斷評(píng)估、改進(jìn)著“Hey Siri”功能以及在背后支持著功能的模型。訓(xùn)練中總是包含了各種不同的語(yǔ)言,測(cè)試中也總是考慮了各種變化的條件。

下次你再對(duì)手機(jī)說(shuō)出“Hey Siri”的時(shí)候,你可能會(huì)想起蘋果工程師們?yōu)榱四軕?yīng)答這個(gè)短語(yǔ)而做的所有這一切,但蘋果工程師更希望的是你能覺得“it just works"!

via Apple Machine Learning Journal,雷鋒網(wǎng) AI 科技評(píng)論編譯

相關(guān)文章:

蘋果的機(jī)器學(xué)習(xí)開發(fā)日記:如何設(shè)計(jì)能在Apple Watch上實(shí)時(shí)運(yùn)行的中文手寫識(shí)別系統(tǒng)

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

蘋果揭秘“Hey Siri”的開發(fā)細(xì)節(jié),原來(lái)不僅有兩步檢測(cè),還能辨別說(shuō)話人

分享:
相關(guān)文章

讀論文為生

日常笑點(diǎn)滴,學(xué)術(shù)死腦筋
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)