2016年3月7日,Google首席科學(xué)家、MapReduce和BigTable等系統(tǒng)的創(chuàng)建者Jeff Dean應(yīng)邀在韓國(guó)大學(xué)就大規(guī)模深入學(xué)習(xí)這一主題發(fā)表演講,部分內(nèi)容來(lái)自高可伸縮性文本和作者的YouTube收聽。就在Alpha Go和李世石賽跑之前,觀眾問他關(guān)于他的預(yù)測(cè)。他只是說(shuō),一臺(tái)已經(jīng)訓(xùn)練了五個(gè)月的機(jī)器和一個(gè)頂尖的玩家之間的差距是很難說(shuō)的;有人問他喜歡的編程語(yǔ)言(C++愛恨交織在一起,像谷歌的簡(jiǎn)單性,Sawzall是真愛),以及谷歌的第一天是如何度過的。早餐好,到處逛逛,聊天,找到各個(gè)領(lǐng)域的專家來(lái)克服困難。這篇文章從WeChat在硅谷的公開演講董先生開始。
Google系統(tǒng)架構(gòu)組的學(xué)者Jeff Dean在用大規(guī)模深入學(xué)習(xí)構(gòu)建智能計(jì)算系統(tǒng)的講座上發(fā)表了演講,以及Google整合全球信息的使命,以便每個(gè)人都能夠訪問并從中受益。收集、清理、存儲(chǔ)、索引、報(bào)告和檢索數(shù)據(jù),當(dāng)Google完成這項(xiàng)任務(wù)時(shí),它承擔(dān)了下一個(gè)挑戰(zhàn)。
當(dāng)你看到這張照片時(shí),你馬上就知道孩子和泰迪熊在睡覺。當(dāng)我看到下一個(gè)街景時(shí),我立刻意識(shí)到紀(jì)念品店有打折。事實(shí)上,直到最近,計(jì)算機(jī)才能從照片中提取信息。
如果你想從圖像中解釋物理世界,計(jì)算機(jī)需要選擇感興趣的點(diǎn),閱讀文本,并且真正理解。
像下面要銷售的文本汽車零件一樣,傳統(tǒng)的Google通過關(guān)鍵詞匹配給出結(jié)果,但更好的匹配是第二個(gè)。這是一個(gè)深入了解需求的過程,不能停留在字面上,要做好搜索和語(yǔ)言理解的產(chǎn)品。
谷歌的深度神經(jīng)網(wǎng)絡(luò)歷史
與其他公司不同,Google在2011年啟動(dòng)了Brain項(xiàng)目,當(dāng)時(shí)它希望使用神經(jīng)網(wǎng)絡(luò)來(lái)改進(jìn)技術(shù),但是它不像大學(xué)里的象牙塔,而是結(jié)合了Android、Gmail和圖片來(lái)改進(jìn)產(chǎn)品以解決實(shí)際問題。其他公司將研究與員工工作結(jié)合起來(lái)。
神經(jīng)網(wǎng)絡(luò)的研究由來(lái)已久。它們產(chǎn)生于20世紀(jì)60年代,流行于20世紀(jì)80年代和90年代初,但是它們?cè)僖矝]有流行起來(lái)。谷歌和強(qiáng)大的基礎(chǔ)設(shè)施,谷歌創(chuàng)造了一個(gè)極好的溫床,人工智能與大量數(shù)據(jù)集。
深度學(xué)習(xí)從少量的產(chǎn)品組開始,一段時(shí)間后,響應(yīng)足夠好以解決之前不能完成的問題,更多的團(tuán)隊(duì)開始采用。使用深度學(xué)習(xí)的產(chǎn)品包括:Android、Apps、DrugDisco.、Gmail、圖片理解、地圖、自然語(yǔ)言、圖片、機(jī)器人、語(yǔ)音翻譯等。
深層學(xué)習(xí)可以應(yīng)用到很多領(lǐng)域,因?yàn)橥ㄓ玫哪K有:語(yǔ)音、文本、搜索詞、圖片、視頻、標(biāo)簽、實(shí)體、短語(yǔ)、音頻特征。去吧。
這個(gè)模型之所以很好,是因?yàn)樗⑷肓舜罅康脑紨?shù)據(jù)。您不需要教工程師很多特征點(diǎn),但是該模型的強(qiáng)大之處在于通過查看一些示例自動(dòng)識(shí)別數(shù)據(jù)中的有用信息。
神經(jīng)網(wǎng)絡(luò)是從數(shù)據(jù)中提取的復(fù)雜函數(shù)。從一個(gè)空間輸出到另一個(gè)空間。這里的函數(shù)不是正方形,而是一個(gè)真正復(fù)雜的函數(shù)。當(dāng)你給出一些原始像素,比如貓,輸出就是對(duì)象的類別。
深度學(xué)習(xí)是指神經(jīng)網(wǎng)絡(luò)的層數(shù),系統(tǒng)的優(yōu)良性質(zhì)是一組簡(jiǎn)單的數(shù)學(xué)函數(shù),可以訓(xùn)練,深層神經(jīng)網(wǎng)絡(luò)適用于多種機(jī)器學(xué)習(xí)方式。
例如,輸入貓的圖片,輸出是人工標(biāo)記的貓的圖片,這是監(jiān)督學(xué)習(xí)。你給系統(tǒng)許多監(jiān)督樣本,讓它學(xué)習(xí)近似函數(shù),正如從監(jiān)督樣本中觀察到的。
也有無(wú)監(jiān)督學(xué)習(xí)。給定一張圖片,你不知道里面是什么,系統(tǒng)可以學(xué)習(xí)尋找出現(xiàn)在許多圖片中的圖案。所以即使你不知道圖片,它也可以識(shí)別出所有圖片中都有一只貓。
深層網(wǎng)絡(luò)模型類似于大腦行為的原理,但它沒有具體地模擬神經(jīng)元如何工作。它是一個(gè)簡(jiǎn)單而抽象的神經(jīng)元版本。
神經(jīng)元有一組輸入。真實(shí)神經(jīng)元會(huì)有不同強(qiáng)度的輸入。在人工智能網(wǎng)絡(luò)中,我們?cè)噲D學(xué)習(xí)這些邊緣的權(quán)重,以加強(qiáng)不同輸入之間的連接。真實(shí)神經(jīng)元通過輸入和inte的組合來(lái)確定是否產(chǎn)生脈沖。大學(xué)。
人工神經(jīng)元不產(chǎn)生脈沖,但它們產(chǎn)生一個(gè)數(shù)值,神經(jīng)元的功能是通過非線性函數(shù)來(lái)計(jì)算權(quán)重之和。
典型的非線性函數(shù)是整數(shù)線性元素(max(0,x))。20世紀(jì)90年代,許多非線性函數(shù)是光滑的sigmoid()函數(shù)或tanh()函數(shù),但對(duì)于神經(jīng)元,其值更接近于0,這對(duì)優(yōu)化系統(tǒng)更有利。例如,如果神經(jīng)元有3個(gè)輸入X1、X1、X3,則權(quán)重分別為-0.21、0.3、0.7。
為了決定圖片是貓還是狗,這張圖片需要經(jīng)過很多層。這些神經(jīng)元根據(jù)輸入產(chǎn)生下一步。
最低級(jí)的神經(jīng)元觀察像素中的小像素。較高級(jí)的神經(jīng)元將看到較低級(jí)的神經(jīng)元的輸出,并決定是否產(chǎn)生。
這個(gè)模型也是錯(cuò)誤的,例如,這是一只貓,但事實(shí)上它是一只狗。作出錯(cuò)誤決策的信號(hào)然后被返回到系統(tǒng)進(jìn)行調(diào)整,以便剩余的模型在下一次看到圖片時(shí)更有可能輸出狗。這是神經(jīng)網(wǎng)絡(luò)的目標(biāo)。通過小步調(diào)整邊緣的權(quán)重,可以更方便地得到正確答案??梢跃奂袠颖?,降低錯(cuò)誤率。
反向傳播:積分的鏈?zhǔn)椒▌t決定了高級(jí)神經(jīng)網(wǎng)絡(luò)的使用,如果選擇是貓而不是狗,您必須找到方法來(lái)調(diào)整高級(jí)的權(quán)重,使其更適合于狗。
根據(jù)箭頭的方向和重量,它更像是一只狗。不要因?yàn)楸砻鎻?fù)雜而采取太大的步驟,微調(diào)一個(gè)小步驟使其更有可能下次給出狗的結(jié)果。通過多次迭代和查看示例,結(jié)果更有可能為b這個(gè)鏈?zhǔn)揭?guī)則用來(lái)理解底層參數(shù)的變化是如何影響輸出的。簡(jiǎn)言之,網(wǎng)絡(luò)變化循環(huán)被反饋到輸入端,使得整個(gè)模型更適合選擇狗。
重量微調(diào)
真正的神經(jīng)網(wǎng)絡(luò)通過1億個(gè)參數(shù)的水平來(lái)調(diào)整輸出網(wǎng)絡(luò)。Google現(xiàn)在有能力快速建立和訓(xùn)練這些海量數(shù)據(jù)模型以解決實(shí)際問題并部署生產(chǎn)模型(手機(jī)、傳感器、云,等等)。等等)在各種各樣的平臺(tái)上。
也就是說(shuō),神經(jīng)網(wǎng)絡(luò)可以應(yīng)用于許多不同的問題。
用戶行為:許多應(yīng)用程序產(chǎn)生數(shù)據(jù)。例如,搜索引擎查詢,用戶在電子郵件中標(biāo)記垃圾。這些可以學(xué)習(xí)和構(gòu)建智能系統(tǒng)。
如果更多的數(shù)據(jù)被吸收,模型越大,結(jié)果就越好。
如果輸入更多的數(shù)據(jù),但不要使模型變大,那么模型的能力會(huì)受到某些數(shù)據(jù)集中明顯特征的限制。通過增加模型的大小,不僅要記住顯而易見的特征,還要記住一些可能看起來(lái)很小的微妙特征。
隨著模型越來(lái)越大,數(shù)據(jù)越來(lái)越多,對(duì)計(jì)算的需求也越來(lái)越大。谷歌在如何增加計(jì)算量和訓(xùn)練更大的模型上花費(fèi)了大量的精力。
第一組部署深層神經(jīng)網(wǎng)絡(luò)。他們實(shí)現(xiàn)的新模型是基于神經(jīng)網(wǎng)絡(luò)而不是隱馬爾可夫模型。問題是從150毫秒的語(yǔ)音中預(yù)測(cè)10毫秒中的語(yǔ)音。例如,BA或KA的語(yǔ)音。你得到一個(gè)預(yù)測(cè)序列。然后使用語(yǔ)言模型來(lái)理解用戶所說(shuō)的內(nèi)容。
最初的版本降低了30%的識(shí)別錯(cuò)誤率,后來(lái)我們研究了一些復(fù)雜的模型來(lái)增強(qiáng)網(wǎng)絡(luò),進(jìn)一步降低錯(cuò)誤率。
ImageNet是6年前發(fā)布的,有100萬(wàn)張圖片,是計(jì)算機(jī)視覺領(lǐng)域最大的圖片。圖片有1000個(gè)不同的類別,每個(gè)類別有1000張圖片。有數(shù)千種不同的豹子、摩托車等等。問題不是所有的標(biāo)簽都是對(duì)的。
在使用神經(jīng)網(wǎng)絡(luò)之前,最好的錯(cuò)誤記錄是26%,谷歌的錯(cuò)誤率在2014年下降到6.66%,贏得冠軍,然后在2015年下降到3.46%。注意到Andrej的錯(cuò)誤率為5.1%(他仍然花了24小時(shí)訓(xùn)練)。
3)圖像類別識(shí)別
計(jì)算機(jī)在花卉識(shí)別方面是非常強(qiáng)大的,這是識(shí)別細(xì)微差別的一個(gè)很好的模型。
一般效果,如菜肴識(shí)別。
當(dāng)計(jì)算機(jī)出錯(cuò)時(shí),看一下錯(cuò)誤的敏感性,比如左邊的鼻涕是蛇,右邊的是鬼。
Google圖片團(tuán)隊(duì)了解了圖像中像素的威力,開發(fā)了一個(gè)功能,允許您搜索沒有標(biāo)簽的圖像。例如,您可以查找雕像、繪圖、水,并且不需要預(yù)先注釋。
如何識(shí)別街道場(chǎng)景中的文本。首先,我們需要找到文本部分。該模型能有效地預(yù)測(cè)像素中的熱點(diǎn)區(qū)域,這些像素包含文本,訓(xùn)練數(shù)據(jù)為包含文字分割的多邊形。
因?yàn)橛?xùn)練數(shù)據(jù)包括不同的字符集,所以在多語(yǔ)言環(huán)境中不成問題。還要考慮大小字體、距離和不同的顏色。訓(xùn)練模型相對(duì)簡(jiǎn)單,即卷積神經(jīng)網(wǎng)絡(luò)試圖預(yù)測(cè)每個(gè)像素是否包含文本。
RankBrain成立于2015年,在搜索排名中排名第三(前100名),其困難在于搜索排名需要理解模型,以及為什么需要做出決定。為什么當(dāng)系統(tǒng)出錯(cuò)時(shí)會(huì)發(fā)生這種情況
調(diào)試工具已經(jīng)準(zhǔn)備好,并且需要足夠的理解來(lái)嵌入模型以避免主觀性。一般來(lái)說(shuō),不希望手動(dòng)調(diào)整參數(shù)。您需要嘗試?yán)斫饽P椭械念A(yù)測(cè),理解訓(xùn)練數(shù)據(jù)是否相關(guān),是否與公共關(guān)系無(wú)關(guān)問題,以及您是否需要將訓(xùn)練數(shù)據(jù)應(yīng)用于其他事物。通過搜索查詢的分布,您可以每天得到更改,并且事件隨時(shí)發(fā)生。如果希望查看該分布是否穩(wěn)定,比如語(yǔ)音識(shí)別,那么一般人不會(huì)更改e音色。當(dāng)查詢和文檔的內(nèi)容頻繁變化時(shí),您必須確保模型是新的。我們需要構(gòu)建通用工具來(lái)理解神經(jīng)網(wǎng)絡(luò)內(nèi)部正在發(fā)生什么并解釋是什么導(dǎo)致了這種預(yù)測(cè)。
許多問題可以映射到一個(gè)序列到另一個(gè)序列。例如,語(yǔ)言翻譯,從英語(yǔ)到法語(yǔ),就是把英語(yǔ)序列詞翻譯成法語(yǔ)序列詞。
神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)復(fù)雜函數(shù)中特別有用。該模型學(xué)習(xí)從英語(yǔ)到法語(yǔ)的句子,句子以單詞為單位,以結(jié)尾為信號(hào),訓(xùn)練模型在滿足結(jié)尾符號(hào)時(shí)開始生成另一種語(yǔ)言的對(duì)應(yīng)句子,模型功能是使用語(yǔ)言中的語(yǔ)句對(duì)作為訓(xùn)練數(shù)據(jù)。
在每個(gè)步驟中都顯示了詞典中單詞生成的概率分布。推理是通過一些搜索完成的,如果最大化每個(gè)單詞的概率,則不會(huì)尋找最可能的句子。搜索直到找到最可能的句子。
該系統(tǒng)在公共翻譯系統(tǒng)中表現(xiàn)良好。大多數(shù)其他翻譯系統(tǒng)要求手動(dòng)編碼或機(jī)器學(xué)習(xí)模型僅以很小的一部分使用,而不是像這樣的整個(gè)端到端學(xué)習(xí)系統(tǒng)。
這些字段是可以被分組為序列類的方法。
智能恢復(fù)是順序類的另一個(gè)例子。如何快速回復(fù)電子郵件,厭倦打字。
Gmail群組已經(jīng)開發(fā)了一個(gè)預(yù)測(cè)郵件響應(yīng)的系統(tǒng)。第一步是訓(xùn)練小模型來(lái)預(yù)測(cè)如果消息是某個(gè)類如何做出短響應(yīng)。如果是一個(gè)更大、更計(jì)算的模型,則嘗試使用messa來(lái)預(yù)測(cè)序列的響應(yīng)語(yǔ)言。例如,對(duì)于一個(gè)節(jié)日邀請(qǐng),三個(gè)最有可能的答案是依靠我們。我們?nèi)?。?duì)不起,我們不能玩。
將先前開發(fā)的圖像模型與序列類模型相結(jié)合。圖像模型作為輸入。這不是讀英語(yǔ)句子,而是看圖片的像素。
接下來(lái)是生成字幕的訓(xùn)練。訓(xùn)練集有5個(gè)不同的人寫的字幕。總共有100萬(wàn)張圖片,70萬(wàn)句子。結(jié)果如下
這兩個(gè)模型是很好的譯文:1)一個(gè)小孩緊緊地抓著毛絨玩具。2)一個(gè)嬰兒在泰迪熊旁邊睡著了。
以上是一些有趣和錯(cuò)誤的陳述。你為什么錯(cuò)了
翻譯小組編寫了一個(gè)應(yīng)用程序,使用計(jì)算機(jī)視覺識(shí)別鏡頭中的漢字,將它們翻譯成文本,最后用圖片本身覆蓋翻譯后的文本。
直接在電話上運(yùn)行一些重要的方式。智能化將被轉(zhuǎn)移到設(shè)備端,這樣遠(yuǎn)程云的大腦就不會(huì)依賴于它。
Google非常關(guān)注研究效率。它需要快速訓(xùn)練模型,了解好壞,然后考慮下一步。模型應(yīng)該花費(fèi)幾分鐘或幾個(gè)小時(shí)而不是幾天或幾周。這樣每個(gè)人都可以更有效地進(jìn)行研究。
機(jī)器學(xué)習(xí)的發(fā)展會(huì)越來(lái)越好。杰夫說(shuō)機(jī)器學(xué)習(xí)社區(qū)發(fā)展很快。人們發(fā)表了一篇論文,一周內(nèi)許多團(tuán)隊(duì)會(huì)跟進(jìn)、下載、閱讀、理解和實(shí)現(xiàn)他們自己的擴(kuò)展。這與以前的計(jì)算完全不同。日志投稿,等六個(gè)月才知道是否收到,然后等三個(gè)月才發(fā)表期末報(bào)告。把時(shí)間從一年縮短到一周真可惜。
神經(jīng)網(wǎng)絡(luò)具有許多固有的并行性,并且所有不同的神經(jīng)元與其他神經(jīng)元保持獨(dú)立,尤其是局部地,僅接受一小部分下層神經(jīng)元作為輸入。
數(shù)據(jù)并行化
優(yōu)化的模型參數(shù)集不應(yīng)該位于一臺(tái)機(jī)器上或中央服務(wù)器上,而是應(yīng)該具有多個(gè)模型副本,以便協(xié)作區(qū)域優(yōu)化參數(shù)。
在訓(xùn)練過程中讀取數(shù)據(jù)的隨機(jī)部分。每個(gè)副本獲取模型中的當(dāng)前參數(shù)集,在當(dāng)前梯度下讀取少量數(shù)據(jù),找到所需的參數(shù)調(diào)整,并將其發(fā)送到中心參數(shù)服務(wù)器。該參數(shù)服務(wù)器調(diào)整參數(shù)。這個(gè)過程是重復(fù)的,而且這種重復(fù)也會(huì)發(fā)生在許多拷貝中。一些拷貝在500臺(tái)不同的機(jī)器上使用500個(gè)拷貝來(lái)快速優(yōu)化參數(shù)和處理大量的數(shù)據(jù)。
一種方式是異步的,每種方式都有自己的循環(huán),獲取參數(shù),計(jì)算梯度,發(fā)送它們,沒有任何控制和同步,但是壞處是當(dāng)梯度返回到參數(shù)時(shí),可以在計(jì)算之后刪除它。另一個(gè)是同步,控制器控制所有副本。
在過去的幾年中,我們建立了兩代用于訓(xùn)練和部署神經(jīng)網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng),并將它們用于解決傳統(tǒng)上計(jì)算機(jī)難以解決的許多問題。
第一代系統(tǒng)DistBeliet在可伸縮性方面表現(xiàn)良好,但是用于研究的靈活性比預(yù)期的要低。
這也是第二代系統(tǒng)發(fā)展的動(dòng)力,它采用了TysFROW來(lái)表示高級(jí)機(jī)器學(xué)習(xí)計(jì)算,它是C++語(yǔ)言的核心,冗余度較低。R語(yǔ)言不是問題。
計(jì)算可以通過數(shù)據(jù)流圖來(lái)理解。
張量(Zhang Liang)表示N維數(shù)組。一維是向量,二維是矩陣;圖像可以表示高維數(shù)據(jù)流,例如,圖像可以用三維張量(行、列、顏色)表示。
張量從圖像的一端流向另一端,稱為張量流。邊緣表示張亮(數(shù)據(jù)),節(jié)點(diǎn)表示算術(shù)運(yùn)算。
這是一個(gè)使用狀態(tài)計(jì)算的示意圖。
這是分布式計(jì)算的示意圖。
它可以在各種平臺(tái)上自動(dòng)運(yùn)行模型:一個(gè)由電話上的數(shù)百個(gè)GPU卡組成的分布式系統(tǒng),在一臺(tái)機(jī)器(CPU或GPU)上。
總結(jié)
如果你不想通過深度學(xué)習(xí)網(wǎng)絡(luò)解決你的數(shù)據(jù)問題,你必須快速考慮它。
當(dāng)Jeff Dean第一次采訪Google時(shí),他被問到P=NP能推斷出什么結(jié)論,Jeff回答:P=0或N=1。在采訪者笑完之前,Jeff檢查了Google的公鑰,并將私鑰寫在黑板上。



