0
本文作者: AI科技評(píng)論 | 2016-06-07 21:53 |
今天,全世界最不可能被盜號(hào)的人被盜號(hào)了,他就是世界最大社交網(wǎng)站Facebook的CEO扎克伯格。不僅如此,扎克伯格的密碼還簡(jiǎn)單得讓人大跌眼鏡——“dadada”。這個(gè)沒(méi)有任何大小寫(xiě)區(qū)分、沒(méi)有數(shù)字和其他符號(hào)的密碼,黑客只要不到25秒就能破解。
笑談之余,這個(gè)新聞讓人們?cè)俅嗡伎迹磥?lái)更加安全的網(wǎng)絡(luò)身份驗(yàn)證技術(shù)是什么?也許,正如未來(lái)人工智能語(yǔ)音交互將代替現(xiàn)在的APP交互,身份驗(yàn)證也會(huì)采用人工智能語(yǔ)音驗(yàn)證。谷歌的研究讓我們看到,未來(lái)登錄社交網(wǎng)站,也許只要說(shuō)一句:“OK Google!”
谷歌Brain的研究人員們?cè)谝黄麨椤抖说蕉嘶谖谋镜恼Z(yǔ)音驗(yàn)證》的論文中,介紹了一種神經(jīng)網(wǎng)絡(luò)架構(gòu),能為高精度、容易維護(hù)的小型大數(shù)據(jù)應(yīng)用(例如谷歌的應(yīng)用),提供用戶語(yǔ)音驗(yàn)證。這篇論文發(fā)表于 IEEE 2016 聲學(xué)、語(yǔ)音和信號(hào)處理國(guó)際大會(huì)(ICASSP)上。
今年8月,谷歌DeepMind CEO Demis Hassabis也將參加雷鋒網(wǎng)舉辦的人工智能與機(jī)器人創(chuàng)新大會(huì)。在此,雷鋒網(wǎng)分享論文全文內(nèi)容。
論文作者簡(jiǎn)介
George Heigold 在加入谷歌前,在德國(guó)亞琛工業(yè)大學(xué)計(jì)算機(jī)學(xué)院任教,2010年成為谷歌研究科學(xué)家,研究領(lǐng)域包括自動(dòng)語(yǔ)音識(shí)別、語(yǔ)音識(shí)別中的區(qū)分性訓(xùn)練和對(duì)數(shù)線性模型等。
Samy Bengio 2007年加入谷歌擔(dān)任研究科學(xué)家,之前在瑞士IDIAP研究院擔(dān)任高級(jí)研究員并培養(yǎng)PhD博士生及博士后研究員。同時(shí),他還是《機(jī)器學(xué)習(xí)研究期刊》編輯、IEEE信號(hào)處理神經(jīng)網(wǎng)絡(luò)工作室項(xiàng)目主席以及IJCAI等知名學(xué)術(shù)期刊的項(xiàng)目委員。他的研究領(lǐng)域覆蓋機(jī)器學(xué)習(xí)的許多方面。
Noam Shazeer 畢業(yè)于杜克大學(xué),一直在谷歌擔(dān)任研究科學(xué)家。研究領(lǐng)域包括語(yǔ)音學(xué)、自然語(yǔ)言處理和計(jì)算機(jī)科學(xué)。
Ignacio Lopez-Moreno 是谷歌軟件工程師,正在攻讀博士學(xué)位,曾獲IBM研究最佳論文等獎(jiǎng)項(xiàng)。他的研究領(lǐng)域包括語(yǔ)音識(shí)別、模式識(shí)別等。
論文摘要
這篇論文中我們將呈現(xiàn)一種數(shù)據(jù)驅(qū)動(dòng)的整合方法,來(lái)解決用戶語(yǔ)音驗(yàn)證問(wèn)題。我們將一個(gè)測(cè)試發(fā)音與幾個(gè)參考發(fā)音進(jìn)行比較,直接生成一個(gè)配對(duì)分?jǐn)?shù)進(jìn)行驗(yàn)證,并在測(cè)試時(shí)使用相同的評(píng)估協(xié)議和維度來(lái)優(yōu)化系統(tǒng)部件。這樣的方法可以創(chuàng)造簡(jiǎn)單、高效的系統(tǒng),不需要了解領(lǐng)域特定的語(yǔ)言,也不需要進(jìn)行模型假設(shè)。我們將概念落地,將問(wèn)題表達(dá)為一個(gè)單個(gè)神經(jīng)網(wǎng)絡(luò)架構(gòu),包括只用幾個(gè)發(fā)音來(lái)評(píng)估一個(gè)語(yǔ)音模型,并且用我們內(nèi)部的“OK Google”基準(zhǔn)來(lái)評(píng)估基于文本的語(yǔ)音驗(yàn)證。對(duì)于類似谷歌這樣要求高精度、系統(tǒng)容易維護(hù)的小型大數(shù)據(jù)應(yīng)用來(lái)說(shuō),我們提出的方法非常有效。
1、簡(jiǎn)介
語(yǔ)音驗(yàn)證指的是基于已知的用戶發(fā)音,來(lái)驗(yàn)證一個(gè)發(fā)音是否屬于該用戶的驗(yàn)證過(guò)程。當(dāng)在所有用戶中,發(fā)音中的詞匯僅限于一個(gè)單詞或詞組,這個(gè)過(guò)程稱為基于文本的通用密碼語(yǔ)音驗(yàn)證。通過(guò)限制詞匯,基于文本的語(yǔ)音驗(yàn)證可以彌補(bǔ)發(fā)音的不同變化,發(fā)音是語(yǔ)音驗(yàn)證中的一個(gè)重大挑戰(zhàn)。在谷歌,我們想用這個(gè)通用密碼“OK Google”來(lái)研究基于文本的語(yǔ)音驗(yàn)證。之所以選擇這個(gè)特別短、大約費(fèi)時(shí)0.6秒的通用密碼,是與谷歌關(guān)鍵字辨認(rèn)系統(tǒng)和谷歌語(yǔ)音搜索有關(guān),能夠幫助我們把這幾個(gè)系統(tǒng)結(jié)合起來(lái)。
這篇論文中,我們提出直接將一個(gè)測(cè)試發(fā)音和幾個(gè)發(fā)音匹配,建立用戶的模型,用一個(gè)分?jǐn)?shù)來(lái)進(jìn)行驗(yàn)證。所有部件是遵循標(biāo)準(zhǔn)語(yǔ)音驗(yàn)證協(xié)議,進(jìn)行聯(lián)合優(yōu)化。與現(xiàn)有的辦法相比,這樣一種端到端的辦法有幾個(gè)優(yōu)勢(shì),包括發(fā)音的直接建模,這樣可以理解更大的語(yǔ)境、減少?gòu)?fù)雜度(每次發(fā)音是一個(gè)或多個(gè)幀的評(píng)估),以及直接且聯(lián)合的預(yù)估,能夠創(chuàng)建更好、更簡(jiǎn)潔的模型。而且,這種方法創(chuàng)建的系統(tǒng)經(jīng)常要間接得多,所需的概念和方法都更少。
更具體地來(lái)說(shuō),這篇論文的貢獻(xiàn)主要包括:
建立了一個(gè)端到端語(yǔ)音認(rèn)證架構(gòu),包括基于若干個(gè)發(fā)音預(yù)估用戶模型(第4部分);
端到端語(yǔ)音驗(yàn)證的實(shí)證評(píng)估,包括幀(i-矢量與d-矢量)和發(fā)音層面表征的比較(第5.2部分),以及端到端損失的分析(第5.3部分)。
前饋控制和循環(huán)神經(jīng)網(wǎng)絡(luò)之間的實(shí)證比較(第5.4部分)。
這篇論文集中討論基于文本語(yǔ)音驗(yàn)證在小型系統(tǒng)上的應(yīng)用。但是這種方法可以普遍應(yīng)用,也可以用在無(wú)關(guān)文本的語(yǔ)音驗(yàn)證上。
在之前的研究中,驗(yàn)證問(wèn)題被分解為更容易處理的子問(wèn)題,但是子問(wèn)題之間關(guān)聯(lián)較為松散。舉個(gè)例子,在無(wú)關(guān)文本的語(yǔ)音驗(yàn)證和基于文本的語(yǔ)音驗(yàn)證中,i-矢量和概率線性判別分析(PLDA)的結(jié)合一直都是主流方法。另外,也有研究證明混合方法(包括基于深度學(xué)習(xí)的部件)有助于無(wú)關(guān)文本的語(yǔ)音識(shí)別。然而,對(duì)于小型系統(tǒng)來(lái)說(shuō),一個(gè)更直接的深度學(xué)習(xí)模型可能更好。據(jù)我們所知,循環(huán)神經(jīng)網(wǎng)絡(luò)在其他相關(guān)問(wèn)題上已經(jīng)有了應(yīng)用,例如語(yǔ)音識(shí)別和語(yǔ)言識(shí)別,但是還未曾用于語(yǔ)音驗(yàn)證任務(wù)。我們提出的神經(jīng)網(wǎng)絡(luò)架構(gòu)可以看作是一個(gè)生成模型-判別模型混合體的聯(lián)合優(yōu)化,與適應(yīng)的深度展開(kāi)類似。
這篇論文其余部分的結(jié)構(gòu)如下:第2部分提供了語(yǔ)音驗(yàn)證的簡(jiǎn)短綜述。第3部分描述了d-矢量方法。第4部分介紹了我們提出的端到端語(yǔ)音驗(yàn)證方法。第5部分你可以看到實(shí)驗(yàn)評(píng)估和分析。第6部分是論文的總結(jié)。
2、語(yǔ)音驗(yàn)證協(xié)議
標(biāo)準(zhǔn)語(yǔ)音驗(yàn)證協(xié)議可以被分為三個(gè)步驟:訓(xùn)練、注冊(cè)和評(píng)估,我們接下來(lái)會(huì)詳細(xì)介紹。
訓(xùn)練:
在訓(xùn)練階段,我們從發(fā)音中找到一個(gè)合適的內(nèi)部語(yǔ)音表征,這樣能有一個(gè)簡(jiǎn)單的打分功能??偟膩?lái)說(shuō),這種表征取決于模型的類型(例如,子空間高斯混合模型或者深度神經(jīng)網(wǎng)絡(luò))、表征層級(jí)(幀或發(fā)音)以及模型訓(xùn)練損失(例如,最大可能性或者softmax)。最好的表征是幀層級(jí)信息的總結(jié),例如i-矢量和d-矢量(第3部分)。
注冊(cè):
在注冊(cè)階段,用戶提供了若干個(gè)發(fā)音(見(jiàn)表格1),用來(lái)預(yù)估用戶模型。常見(jiàn)的辦法是取這些發(fā)音中i-矢量或者d-矢量的平均值。
評(píng)估:
在評(píng)估階段,我們進(jìn)行驗(yàn)證任務(wù),系統(tǒng)也進(jìn)行評(píng)估。為了驗(yàn)證,發(fā)音 X 的打分函數(shù)值和測(cè)試用戶 spk, S(X, spk),與一個(gè)預(yù)先定義的閾值進(jìn)行比較。如果分?jǐn)?shù)超過(guò)閾值我們就接受,也就是說(shuō),判斷發(fā)音 X 來(lái)自用戶 spk,反之,如果沒(méi)有超過(guò)閾值我們就拒絕,判斷發(fā)音 X 不來(lái)自于用戶 spk 。在這個(gè)設(shè)定中可能會(huì)出現(xiàn)兩種類型的錯(cuò)誤:錯(cuò)誤拒絕和錯(cuò)誤接受。顯然,錯(cuò)誤拒絕率和錯(cuò)誤接受率取決于閾值。當(dāng)這兩項(xiàng)比率相同時(shí),這項(xiàng)值稱為相等錯(cuò)誤率(EER)。
一個(gè)簡(jiǎn)單的打分函數(shù),是發(fā)音 X 評(píng)估結(jié)果的用戶表征 f(X),與用戶模型 mspk 之間的余弦相似度。
S(X, spk) = [ f(X)T mspk ] / [ ||f(X)|| ||mspk|| ]
我們提出 PLDA 作為一種更加精確、數(shù)據(jù)驅(qū)動(dòng)的打分方法。
3、D-向量基準(zhǔn)方法
D-向量是從一個(gè)深度神經(jīng)網(wǎng)絡(luò)(DNN)中而來(lái)的,作為一個(gè)發(fā)音的用戶表征。一個(gè)DNN包括了若干個(gè)非線性函數(shù)的連續(xù)應(yīng)用,從而將用戶發(fā)音轉(zhuǎn)化為矢量,這樣可以輕松進(jìn)行決策。下面的圖表1描繪了我們基準(zhǔn)DNN的拓?fù)鋵W(xué)。它包括一個(gè)本地聯(lián)接的層,以及若干個(gè)完全聯(lián)接的層。所有層都使用 ReLU 啟動(dòng),除了最后一個(gè)線性層。在訓(xùn)練階段,DNN的參數(shù)使用 softmax 來(lái)最優(yōu)化,為了方便起見(jiàn),我們的定義包含一個(gè)線性轉(zhuǎn)化,有一個(gè)權(quán)重矢量 wspk 和偏差 bspk,后面加上一個(gè) softmax 函數(shù)和叉熵?fù)p失函數(shù):
最后一個(gè)隱藏層的啟動(dòng)矢量標(biāo)記為 y,正確用戶標(biāo)記為 spk。
訓(xùn)練階段完成后,DNN的參數(shù)就確定了。發(fā)音d-矢量的獲取方法是,發(fā)音所有幀的最后一個(gè)隱藏層的啟動(dòng)矢量的平均值。每個(gè)發(fā)音生成一個(gè)d-矢量。為了進(jìn)行注冊(cè),對(duì)注冊(cè)發(fā)音的d-矢量進(jìn)行平均,就獲得了用戶模型。最后,在評(píng)估階段,打分函數(shù)是用戶模型d-矢量和測(cè)試發(fā)音d-矢量之間的余弦相似度。
圖表1
圖表2
對(duì)這項(xiàng)基準(zhǔn)方法有一些批評(píng),包括從幀而來(lái)的d-矢量的情景局限以及損失的類型。softmax 損失函數(shù)有望從所有用戶中區(qū)分出真正的用戶,但是在第2部分沒(méi)有遵守標(biāo)準(zhǔn)驗(yàn)證協(xié)議。這樣的結(jié)果是,必須要有方法和評(píng)分標(biāo)準(zhǔn)化技術(shù)來(lái)彌補(bǔ)不一致性。而且,softmax 損失函數(shù)沒(méi)法很好地?cái)U(kuò)大化,因?yàn)橛?jì)算復(fù)雜度是線性的,每個(gè)用戶必須有最少量的數(shù)據(jù)來(lái)評(píng)估具體用戶的權(quán)重和偏差??梢杂煤蜻x人取樣方法來(lái)減輕復(fù)雜度問(wèn)題(而非預(yù)估問(wèn)題)。
對(duì)于其他的語(yǔ)音驗(yàn)證方法我們也可以指出同樣的問(wèn)題,其中一些部件塊要不是聯(lián)系松散,要不就是沒(méi)有遵循語(yǔ)音驗(yàn)證協(xié)議直接優(yōu)化。舉個(gè)例子,GMM-UBM 或者 i-矢量模型沒(méi)有直接優(yōu)化驗(yàn)證問(wèn)題?;蛘弑容^長(zhǎng)的情景特征可能被基于幀的 GMM-UBM 模型忽視。
4、端到端用戶驗(yàn)證
在這個(gè)部分,我們將用戶驗(yàn)證協(xié)議的各個(gè)步驟整合為一個(gè)單一的網(wǎng)絡(luò)(見(jiàn)圖表2)。這個(gè)網(wǎng)絡(luò)的輸入由一個(gè)“評(píng)估”發(fā)音和一小組“注冊(cè)”發(fā)音組成。輸出是一個(gè)單一的節(jié),指明是接受還是拒絕。我們使用DistBelief 來(lái)聯(lián)合優(yōu)化這個(gè)端到端架構(gòu),它是 TensorFlow 的一個(gè)早期版本。用這兩種工具,復(fù)雜的計(jì)算圖表(例如我們端到端拓?fù)鋵W(xué)定義的那個(gè)圖標(biāo))可以分解為一系列操作,具有簡(jiǎn)單的梯度,例如總和、分區(qū)和矢量的交叉產(chǎn)品。在訓(xùn)練步驟之后,所有網(wǎng)絡(luò)權(quán)重保持不變,除了一維邏輯回歸的偏差(圖表2)是根據(jù)注冊(cè)數(shù)據(jù)手動(dòng)調(diào)試的。除此以外,注冊(cè)步驟什么也沒(méi)有做,因?yàn)橛脩裟P皖A(yù)估是網(wǎng)絡(luò)的一部分。在測(cè)試的時(shí)候,我們?cè)诰W(wǎng)絡(luò)中輸入一個(gè)評(píng)估發(fā)音和要測(cè)試的用戶的注冊(cè)發(fā)音,網(wǎng)絡(luò)直接輸出判斷結(jié)果。
圖表3
我們使用神經(jīng)網(wǎng)絡(luò)來(lái)獲取發(fā)音的用戶表征。我們?cè)谘芯恐惺褂玫膬煞N網(wǎng)絡(luò)類型,在圖表1和圖表3中:一個(gè)深度神經(jīng)網(wǎng)絡(luò)(DNN),帶有本地聯(lián)接和完全聯(lián)接的層作為我們第3部分的基準(zhǔn)DNN,以及一個(gè)長(zhǎng)短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM),和一個(gè)單一輸出。DNN假設(shè)輸入長(zhǎng)度固定。為了符合這項(xiàng)限制,我們將一個(gè)固定長(zhǎng)度、足夠時(shí)長(zhǎng)的幀疊加到發(fā)音上,作為輸入。對(duì)LSTM就不需要這招了,但是我們?yōu)榱烁玫目杀刃?,使用同樣的幀時(shí)長(zhǎng)。與具有多個(gè)輸出的LSTM不同,我們只連接最后一個(gè)輸入到損失函數(shù),來(lái)獲得單一的、發(fā)音層級(jí)的用戶表征。
用戶模型是一些“注冊(cè)”表征的平均。我們使用相同的網(wǎng)絡(luò)來(lái)計(jì)算“測(cè)試”發(fā)音和用戶模型發(fā)音的內(nèi)部表征。通常,實(shí)際的每個(gè)用戶發(fā)音數(shù)量(幾百個(gè)或更多)比在注冊(cè)階段(十個(gè)以內(nèi))多得多。為了避免錯(cuò)誤配對(duì),每一個(gè)訓(xùn)練發(fā)音,我們只從同一個(gè)用戶獲取幾個(gè)樣本發(fā)音,來(lái)在訓(xùn)練階段創(chuàng)建用戶模型。總體來(lái)說(shuō),我們沒(méi)法假設(shè)每個(gè)用戶有N個(gè)發(fā)音。為實(shí)現(xiàn)可變的發(fā)音數(shù)量,我們?cè)诎l(fā)音上加入權(quán)重來(lái)指明是否要使用這個(gè)發(fā)音。
最終,我們計(jì)算出用戶表征和用戶模型 S ( X, spk)之間的余弦相似度,把它輸入一個(gè)包括有偏差線性層的邏輯回歸。架構(gòu)是使用端到端損失函數(shù) le2e = ? log p(target) 來(lái)最優(yōu)化,其中二維變量target ∈ {accept, reject}, p(accept) = (1+exp(?wS(X, spk)?b))?1,以及p(reject) = 1?p(accept)。-b/w 的值相當(dāng)于驗(yàn)證閾值。
端到端架構(gòu)的輸入是 1+N 個(gè)發(fā)音,例如,一個(gè)要測(cè)試的發(fā)音,和最多N個(gè)不同的用戶發(fā)音,來(lái)預(yù)估用戶模型。為了實(shí)現(xiàn)數(shù)據(jù)處理和內(nèi)存之間的平衡,輸入層維護(hù)一個(gè)發(fā)音庫(kù)來(lái)為每一個(gè)訓(xùn)練步驟獲取1+N個(gè)發(fā)音樣本,并經(jīng)常更新以實(shí)現(xiàn)更好的數(shù)據(jù)處理。由于用戶模型需要同一個(gè)用戶特定數(shù)量的發(fā)音,數(shù)據(jù)的呈現(xiàn)方式是同一個(gè)用戶的一小組發(fā)音。
5、實(shí)驗(yàn)評(píng)估
我們使用內(nèi)部的“OK Google”基準(zhǔn)來(lái)評(píng)估我們提出的端到端方法。
5.1. 數(shù)據(jù)組合基本設(shè)定
我們用一組從匿名的語(yǔ)音搜索記錄中收集來(lái)的“OK Google”發(fā)音,來(lái)測(cè)試我們提出的端到端方法。我們實(shí)行了多種風(fēng)格的訓(xùn)練,來(lái)提升噪音強(qiáng)度。我們?nèi)斯ぜ尤肓似嚭筒蛷d噪音來(lái)增強(qiáng)數(shù)據(jù),并模擬用戶發(fā)言時(shí)與麥克風(fēng)的不同距離。注冊(cè)和評(píng)估數(shù)據(jù)只包括真實(shí)數(shù)據(jù)。表格1展示了一些數(shù)據(jù)組的統(tǒng)計(jì)數(shù)據(jù)。
表格1
發(fā)音強(qiáng)制統(tǒng)一起來(lái),從而獲取“OK Google”的片段。這些片段的平均長(zhǎng)度大約是80幀,幀率是100Hz?;谶@項(xiàng)觀察結(jié)果,我們從每一個(gè)片段抽取最后的80幀,有可能在片段的最初和最后增減了一些幀。每一幀由40個(gè)濾波器組日志組成。
對(duì)DNN來(lái)說(shuō),我們將80輸入幀連接起來(lái),這樣有了一個(gè) 80x40 維度的特征矢量。除非另外說(shuō)明,DNN由4個(gè)隱藏層組成。DNN里所有隱藏層有504個(gè)節(jié),使用 ReLU 啟動(dòng),除了最后一個(gè)線性層。DNN中本地連接層的區(qū)塊大小是 10x10。對(duì) LSTM,我們將40維度的特征矢量一幀一幀地輸入。我們使用一個(gè)有504個(gè)節(jié)的單個(gè) LSTM 層,沒(méi)有投影層。所有試驗(yàn)中的批量大小都是32。
結(jié)果是按相等錯(cuò)誤率(ERR)來(lái)匯報(bào)的,包括沒(méi)有及有t分?jǐn)?shù)標(biāo)準(zhǔn)化的兩個(gè)類別。
5.2. 幀層面 vs 發(fā)音層面的表征
表格2
首先,我們比較幀層面和發(fā)音層面的用戶表征(見(jiàn)表格2)。這里,我們使用了一個(gè)圖表1中所描述的DNN 和一個(gè) softmax 層,使用 train_2M (見(jiàn)表格1)來(lái)進(jìn)行訓(xùn)練,在線性層面有50%的丟失。發(fā)音層面的方法比幀層面的方法更好,超出30%。在每一種方法中,分?jǐn)?shù)標(biāo)準(zhǔn)化技術(shù)帶來(lái)了重大的運(yùn)行提升(相對(duì)提升了20%)。為了比較,這里展示了兩個(gè)i-矢量基準(zhǔn)。第一個(gè)基準(zhǔn)是基于表格2中的6,使用13 PLP以及一階和二階導(dǎo)數(shù)、1024高斯和300維度的i-矢量。第二個(gè)基準(zhǔn)是基于表格2中的27,有150個(gè)本征音。i-矢量+PLDA基準(zhǔn)應(yīng)該還得打些折扣,因?yàn)?PLDA 模型的訓(xùn)練只使用了 2M_train 數(shù)據(jù)庫(kù)的一個(gè)子集(4k用戶、每個(gè)用戶50個(gè)發(fā)音),這是因?yàn)槲覀兡壳皩?shí)施方面的局限(不過(guò),這與每個(gè)用戶只用30個(gè)發(fā)音訓(xùn)練的結(jié)果幾乎是一樣的)。另外,這個(gè)基準(zhǔn)沒(méi)有包括其他的改善技術(shù),例如“不確定性測(cè)試”,這項(xiàng)測(cè)試已經(jīng)證實(shí)在特定情況下可以給出很多額外增量。我們已經(jīng)大大提升了我們的d-矢量。
5.3 Softmax函數(shù) vs 端到端損失函數(shù)
接下來(lái),為了訓(xùn)練發(fā)音層級(jí)的用戶表征,我們比較了 softmax 損失函數(shù)(第2部分)和端到端損失函數(shù)(第4部分)。表格3顯示了圖表1中的 DNN 的同等錯(cuò)誤率。它用了一個(gè)小訓(xùn)練庫(kù)來(lái)訓(xùn)練(train_2M),原始分?jǐn)?shù)的錯(cuò)誤了可以和不同的損失函數(shù)相比。雖然損失讓 softmax 函數(shù)獲得了1%的絕對(duì)增益,對(duì)于端到端損失函數(shù)我們沒(méi)有觀察到損失帶來(lái)任何增益。類似的,t標(biāo)準(zhǔn)化對(duì) softmanx 函數(shù)有20%的幫助,但是對(duì)端到端損失函數(shù)沒(méi)有任何幫助。這項(xiàng)結(jié)果符合訓(xùn)練損失和評(píng)估維度之間的一致度。尤其是端到端方法在訓(xùn)練中假設(shè)了一個(gè)通用閾值,可以不經(jīng)意地學(xué)會(huì)標(biāo)準(zhǔn)化分?jǐn)?shù),標(biāo)準(zhǔn)化分?jǐn)?shù)在不同的噪音情況下維持不變、讓分?jǐn)?shù)標(biāo)準(zhǔn)顯得多余。當(dāng)我們?yōu)閱?dòng)端到端訓(xùn)練而使用 softmax DNN,錯(cuò)誤率從 2.86% 減少到了2.25%,意味著存在預(yù)估問(wèn)題。
如果用更大的訓(xùn)練組(train_22M)來(lái)訓(xùn)練,端到端損失函數(shù)明顯比 softmax 函數(shù)更好,見(jiàn)表格3。為了合理地將 softmax 層擴(kuò)大到80k個(gè)用戶標(biāo)簽,我們使用了候選人取樣方法。這次,t標(biāo)準(zhǔn)化也為 softmax函數(shù)帶來(lái)了20%的幫助,softmax 可以跟得上其他損失函數(shù),它們從t標(biāo)準(zhǔn)化中沒(méi)有什么獲益。端到端訓(xùn)練的啟動(dòng)(隨機(jī) vs “預(yù)先訓(xùn)練”的softmax DNN)在這種情況下沒(méi)有什么影響。
雖然用了候選人取樣,端到端方法的步驟時(shí)間比 softmax 方法更長(zhǎng),因?yàn)橛脩裟P褪沁\(yùn)行中計(jì)算出來(lái)的,總體收斂時(shí)間還是相當(dāng)?shù)摹?/p>
表格3
訓(xùn)練中預(yù)估用戶模型的發(fā)音數(shù)量被稱為用戶模型大小,最佳的選擇要看注冊(cè)發(fā)音的(平均)數(shù)量。但是,實(shí)際上更小的用戶模型大小反而可能更好,更能縮短訓(xùn)練時(shí)間、并讓訓(xùn)練更難。圖表4展現(xiàn)了測(cè)試同等錯(cuò)誤率對(duì)用戶模型大小的依賴性。最適宜范圍相對(duì)較寬,模型大小大約為5,同等錯(cuò)誤率為2.04%,相比之下,模型大小為1時(shí)有2.25%的同等錯(cuò)誤率。這個(gè)模型大小近似于真實(shí)的平均模型大小,對(duì)我們的注冊(cè)組來(lái)說(shuō)大小是6。這篇論文中的其他配置(未展示)也看到了類似的趨勢(shì)。這意味著,我們提出的訓(xùn)練算法與驗(yàn)證協(xié)議之間有一致性,意味著針對(duì)具體任務(wù)的訓(xùn)練會(huì)更好。
5.4. 前饋控制 vs 循環(huán)神經(jīng)網(wǎng)絡(luò)
圖表4
目前為止,我們集中討論圖表1中的“小型”DNN,帶有一個(gè)本地聯(lián)接層和三個(gè)完全聯(lián)接的隱藏層。接下來(lái),我們探索更大的、不同的網(wǎng)絡(luò)架構(gòu),與它們的大小和計(jì)算復(fù)雜度無(wú)關(guān)。結(jié)果總結(jié)在圖表4中。與小型DNN相比,“最好”的DNN使用一個(gè)額外的隱藏層,有10%的相對(duì)增益。圖表3中的 LSTM 在最佳DNN的基礎(chǔ)上又增加了30%的增益。參數(shù)數(shù)量與DNN的相似,但是 LSTM 多了10倍的乘法和加法。更多的超級(jí)參數(shù)調(diào)試有望降低計(jì)算復(fù)雜度,增加可用性。使用 softmax 損失函數(shù)(運(yùn)用t標(biāo)準(zhǔn)化、候選人取樣以及可能提早暫停,這些技術(shù)在端到端方法中都是不需要的)。在 train_2M 中,我們觀察到錯(cuò)誤率在相應(yīng)的DNN基準(zhǔn)上有相似的相對(duì)增益。
表格4
6、總結(jié)
我們提出了一個(gè)新的端到端方法,來(lái)解決用戶的語(yǔ)音驗(yàn)證問(wèn)題,直接將發(fā)音配對(duì)打分,并用訓(xùn)練和評(píng)估相同的損失函數(shù)來(lái)聯(lián)合優(yōu)化內(nèi)在的用戶表征和用戶模型。假如有足夠的訓(xùn)練數(shù)據(jù),使用我們的內(nèi)部基準(zhǔn)“OK Google”,我們提出的方法可以將小型DNN基準(zhǔn)的錯(cuò)誤率從3%改善為2%。大部分增益來(lái)源于發(fā)音層級(jí) vs 幀層級(jí)建模。與其他損失函數(shù)相比,端到端損失函數(shù)使用了更少的額外概念,卻實(shí)現(xiàn)了同樣的、或者略微更好的結(jié)果。例如在 softmax 的情況中,我們只有在運(yùn)行中使用分?jǐn)?shù)標(biāo)準(zhǔn)化、候選人取樣讓訓(xùn)練變得可行,才能獲得同等的錯(cuò)誤率。而且,我們展示了使用循環(huán)神經(jīng)網(wǎng)絡(luò)而非一個(gè)簡(jiǎn)單的深度神經(jīng)網(wǎng)絡(luò),可以進(jìn)一步將錯(cuò)誤率減少到1.4%,雖然計(jì)算運(yùn)行時(shí)間成本更高了。相比之下,一個(gè)合理但不是最佳的 i-矢量/PLDA系統(tǒng)的錯(cuò)誤率是4.7%。顯然,我們還需要更多的比較研究。不過(guò),我們相信我們的方法為大數(shù)據(jù)驗(yàn)證應(yīng)用,展現(xiàn)了一種大有前途的新方向。
via Google Research
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。