- 相關(guān)推薦
楊銘深度學(xué)習發(fā)展的新趨勢演講稿
地平線(xiàn)機器人聯(lián)合創(chuàng )始人 地平線(xiàn)機器人技術(shù)軟件副總裁
大家好,我是楊銘。非常榮幸有這樣的機會(huì )跟大家分享我們對深度學(xué)習研究發(fā)展新趨勢的一些思考和總結,我們將這些新發(fā)展的首字母縮寫(xiě)成一個(gè)單詞MARS。這是和我的同事黃暢博士共同的一些討論。
簡(jiǎn)單介紹一下,我是去年夏天加入地平線(xiàn)的,負責軟件工程。在此之前我在Facebook人工智能實(shí)驗室負責人臉識別算法研究和后端系統開(kāi)發(fā),也曾在NEC美國實(shí)驗室和徐偉一起工作,學(xué)到很多東西。
在談?wù)撋疃葘W(xué)習的新趨勢之前,我們應該首先明確一下深度學(xué)習的定義和它現在的發(fā)展狀態(tài)。非常幸運,學(xué)術(shù)圈對于深度學(xué)習的定義有比較清楚的共識。深度學(xué)習是指從原始的數據通過(guò)不斷地學(xué)習、不斷地抽象,得到這些數據的表達或描述。所以簡(jiǎn)單地說(shuō),深度學(xué)習是從原始數據(raw data)學(xué)習其表達(learning representations)。這些原始數據可能是圖像數據,可能是語(yǔ)音,也可能是文字;這種表達就是一些簡(jiǎn)潔的數字化的表達。深度學(xué)習的關(guān)鍵就是怎么去學(xué)這個(gè)表達。這個(gè)表達是通過(guò)多層的非線(xiàn)性的復雜的結構學(xué)習的,而這個(gè)結構可能是神經(jīng)網(wǎng)絡(luò ),也可能其他的結構。關(guān)鍵是希望通過(guò)端到端的訓練,從數據直接學(xué)習到到表達。
如果談到深度學(xué)習的起源還是要回到1957年,從一個(gè)非常簡(jiǎn)單的結構單元——“感知機(perception)”開(kāi)始。一些輸入信號被權重加權后,和一個(gè)閾值比較得到輸出。為什么說(shuō)這是深度學(xué)習的起源?因為這些權重不是由規則預先設計的,而是訓練學(xué)習得到的。最開(kāi)始的“感知機”是硬件設計,這些連接就是物理連線(xiàn),這些權重可能是通過(guò)調節電阻實(shí)現的。當時(shí)媒體就預測,這是一個(gè)智能計算機的雛形,能很快學(xué)會(huì )走路、說(shuō)話(huà)、看圖、寫(xiě)作,甚至自我復制或者有自我意識。那么過(guò)了60年,目前進(jìn)展到看圖和寫(xiě)作中間的階段,希望至少再需要至60年能學(xué)會(huì )自我復制。
深度學(xué)習從出現之后,大體上經(jīng)過(guò)了兩個(gè)落起。一開(kāi)始大家非常樂(lè )觀(guān),但很快發(fā)現有一些非常簡(jiǎn)單的問(wèn)題它解決不了。從2006年開(kāi)始,在Hinton/LeCun/Bengio/Ng等幾位教授的推動(dòng)下,深度學(xué)習得到了一種爆發(fā)式的發(fā)展,在圖像識別、語(yǔ)音識別、語(yǔ)義理解,和廣告推薦等問(wèn)題上,有一些突破性的提高。最新的進(jìn)展就是今年3月的AlphaGo圍棋比賽,以一種很直觀(guān)的方式讓社會(huì )大眾感受到了深度學(xué)習進(jìn)展。我們希望再過(guò)五年,深度學(xué)習的技術(shù)能夠真正用到千家萬(wàn)戶(hù)的日常生活中去,讓每個(gè)設備都可以運行深度學(xué)習的模塊。
在這幾次起落中,深度學(xué)習基本的學(xué)習方式和網(wǎng)絡(luò )結構其實(shí)沒(méi)有本質(zhì)性的變化,還是一種多級的人工神經(jīng)網(wǎng)絡(luò )的結構。像這幅圖中看到的,輸入層是一些原始數據,并且有標注。無(wú)論希望學(xué)到什么內容,只要有個(gè)評價(jià)誤差的函數(cost function),評價(jià)神經(jīng)網(wǎng)絡(luò )的誤差是多少,那么有了這個(gè)輸入輸出之后,深度學(xué)習或者深度神經(jīng)網(wǎng)絡(luò )就可以作為一個(gè)黑盒子學(xué)習這個(gè)目標。人工神經(jīng)網(wǎng)絡(luò )從結構上講就是多層的神經(jīng)元和它們之間的連接,組合成很多層。開(kāi)始時(shí)可能有一個(gè)輸入和一個(gè)目標,比如你希望從人臉圖像識別出這個(gè)人是誰(shuí)。這時(shí)候神經(jīng)網(wǎng)絡(luò )肯定識別不出來(lái),因為它從來(lái)沒(méi)有見(jiàn)過(guò)。我們會(huì )給神經(jīng)網(wǎng)絡(luò )隨機設一些值,讓它預測這個(gè)識別結果,開(kāi)始最后輸出層幾乎肯定會(huì )是一個(gè)錯誤的識別結果。這也沒(méi)有關(guān)系,我們把這個(gè)輸出層的誤差慢慢地反向傳播回去,一點(diǎn)點(diǎn)的修改這些神經(jīng)元的內部參數和他們之間的連接。通過(guò)這種一點(diǎn)點(diǎn)地修改,慢慢通過(guò)大量的數據,這個(gè)網(wǎng)絡(luò )就學(xué)會(huì )了一個(gè)非常復雜的函數功能。從八十年代到目前,這30年間,這個(gè)基本的結構和學(xué)習算法是沒(méi)有變化。
從2006年開(kāi)始,深度學(xué)習有爆發(fā)式增長(cháng),歸結于下面幾個(gè)理由。首先是利用了海量的數據,這些大數據的使用使得原來(lái)這種深度神經(jīng)網(wǎng)絡(luò )一些問(wèn)題,比如對噪聲數據敏感,容易在一個(gè)小的數據集性能很好,但無(wú)法泛化到大的數據集,這些問(wèn)題都不再是問(wèn)題了。能夠使用這些大數據學(xué)習,需要很高的并行運算的能力。當然,也有算法上的改進(jìn),比如dropout、batch normalization、residual networks等,能避免過(guò)擬合梯度消失這些問(wèn)題。但本質(zhì)上這次深度學(xué)習的爆發(fā)發(fā)展還是通過(guò)大數據和計算能力實(shí)現的。之前說(shuō)神經(jīng)網(wǎng)絡(luò )本身像黑盒子,結構設定沒(méi)有很好的指導意見(jiàn),這個(gè)目前還是這個(gè)現狀。
深度學(xué)習為什么這幾年能得到這么大的關(guān)注?關(guān)鍵原因是性能準確度是隨著(zhù)數據的增長(cháng)而增加的。其他的機器學(xué)習的方法可能隨著(zhù)數據的增加,性能提高到某一個(gè)點(diǎn)就飽和了。但目前為止對于深度學(xué)習我們還沒(méi)有觀(guān)察到這點(diǎn),這可能是它最值得關(guān)注的一點(diǎn)。目前深度學(xué)習也取得很多成功,比如如何做好圖像分類(lèi)的問(wèn)題。對于一個(gè)1000類(lèi)圖像分類(lèi)測試,經(jīng)過(guò)大概不到五年的時(shí)間,錯誤率從25%降到3.5%的水平,已經(jīng)比人類(lèi)的識別準確率還要高。這就是我們目前深度學(xué)習或者深度神經(jīng)網(wǎng)絡(luò )取得的主要的成功點(diǎn),即學(xué)會(huì )了如何識別、如何分類(lèi)。
回到我們的正題,目前深度學(xué)習研究的新趨勢?我們總結了四個(gè)方向。首先是學(xué)習如何記憶(memory networks);第二是學(xué)習如何關(guān)注與取舍(attention model),把注意力集中到需要關(guān)心的細節上;第三個(gè)是增強學(xué)習(reinforcement learning),學(xué)習如何控制主動(dòng)行動(dòng);第四個(gè)整體學(xué)習任務(wù)結構上的新趨勢,就是序列化(Sequentialization)。我們取首字母,縮寫(xiě)成MARS。
第一個(gè)是學(xué)習然如何記憶。常規的前向神經(jīng)網(wǎng)絡(luò )有一個(gè)特點(diǎn):你每次輸入和輸出是確定的關(guān)系,對于一副圖像,無(wú)論何時(shí)輸入進(jìn)神經(jīng)網(wǎng)絡(luò ),我們一層一層計算后就會(huì )得到一個(gè)確定的結果,這是跟上下文不相關(guān)的。我們如何把記憶的能力引入到神經(jīng)網(wǎng)絡(luò )中去?最簡(jiǎn)單的一個(gè)思路是,在神經(jīng)網(wǎng)絡(luò )中加入一些狀態(tài),讓它能記住一點(diǎn)事情。它的輸出不僅取決于它的輸入,也取決于它本身的狀態(tài)。這是一個(gè)最基本的遞歸神經(jīng)網(wǎng)絡(luò )的思路。輸出取決于本身的狀態(tài),我們也可以將其展開(kāi)成一個(gè)時(shí)序系列的結構,就是說(shuō)當前狀態(tài)的輸入不僅包括現在輸入,也包含上一時(shí)刻的輸出,這樣就會(huì )構成一個(gè)非常深的網(wǎng)絡(luò )。這種辦法可以讓神經(jīng)網(wǎng)絡(luò )記住一些之前的狀態(tài)。那么輸出就取決于在這些狀態(tài)和現在的輸入的結合。但是這個(gè)方法有一個(gè)局限:這些記憶不會(huì )很長(cháng)久,很快就會(huì )被后面的數據沖掉了。之后的深度學(xué)習的發(fā)展就是長(cháng)時(shí)短時(shí)記憶,提出了一個(gè)記憶單元(memory cell)的概念,這個(gè)單元中加入了三個(gè)個(gè)門(mén),一個(gè)輸入門(mén),一個(gè)輸出門(mén),一個(gè)遺忘門(mén)。輸入門(mén)可以控制你的輸入是否影響你的記憶當中的內容。輸出門(mén)是影響你的記憶是否被輸出出來(lái)影響將來(lái)。遺忘門(mén)是來(lái)看你的記憶是否自我更新保持下去。這種方式使你的記憶得到靈活的保持,而控制記憶如何保持的這些門(mén)本身是通過(guò)學(xué)習得到的,通過(guò)不同的任務(wù)學(xué)習如何去控制這些門(mén)。這個(gè)長(cháng)短時(shí)記憶單元是1999年提出的,近幾年又有一些新的改進(jìn)如Gated Recurrent Unit,簡(jiǎn)化成只有兩個(gè)門(mén),一個(gè)是更新門(mén),一個(gè)重置們,控制記憶內容是否能繼續保存下去。
這些方法其實(shí)可以把記憶保存得更長(cháng)一點(diǎn),但實(shí)際上還是很有限。更新的一些研究方法提出了一種神經(jīng)圖靈機(Neural Turning Machine)的概念:有一個(gè)永久的的內存模塊,有一個(gè)控制模塊去控制如何根據輸入去讀取存儲這些內存,并轉換成輸出。這個(gè)控制模塊,可以用神經(jīng)網(wǎng)絡(luò )實(shí)現。舉個(gè)例子,比如做排序的工作,有一些亂序的數字,希望把它排成順序的序列。我們之前需要設計不同的排序算法,而這個(gè)神經(jīng)圖靈機的思路是我們給定這些輸入輸出,讓這個(gè)神經(jīng)網(wǎng)絡(luò )自己去學(xué)習如何把這些數字通過(guò)儲存和取出來(lái)排序。某種意義上,讓神經(jīng)網(wǎng)絡(luò )學(xué)習如何實(shí)現編程實(shí)現任務(wù)。這也是一個(gè)類(lèi)似的工作,記憶網(wǎng)絡(luò )(Memory Network),學(xué)習去管理這種長(cháng)時(shí)間的記憶,在應用于問(wèn)答系統后,可以學(xué)到一些推理的能力。
第二個(gè)方向是把注意力模型(Attention Model),動(dòng)態(tài)的將注意力集中到某些細節,提高識別性能。比如,看圖說(shuō)話(huà)圖像理解,你可以根據一幅圖生成一句話(huà),很可能是非常宏觀(guān)的。如果我們能夠把注意力聚焦在這個(gè)機制的從引入到識別的過(guò)程中,根據目前的識別結果,動(dòng)態(tài)一步一步調整聚焦到圖像的細節,那么可以生成一些更合理或者更精細的表達,比如在圖像中,關(guān)注一個(gè)飛碟,我們可以調整關(guān)注區域在圖像中把飛碟的找出來(lái),提取它的特征進(jìn)行識別,得到圖像的更準確的文字描述。
第三個(gè)就是增強學(xué)習(Reinforcement Learning)。在增強學(xué)習的框架中有兩個(gè)部分,一部分是自主控制的單元(agent),一部分是環(huán)境(environment)。自主控制單元是通過(guò)選擇不同的策略或者行為,希望能夠最大化自己的長(cháng)期預期收益,得到獎勵;而環(huán)境將接收策略行為,修改狀態(tài),反饋出獎勵。在這個(gè)增強學(xué)習的框架中有兩個(gè)部分,一個(gè)部分是如何選擇這些行為(policy function),另外一部分是如何評價(jià)評估自己可能取得的這些收益(value function)。這個(gè)增強學(xué)習框架本身已經(jīng)存在很多年了,和深度學(xué)習的結合就是指如何選擇策略行為的函數,以及如何評估預期獎勵的函數,由深度神經(jīng)網(wǎng)絡(luò )學(xué)習得到,例如AlphaGo圍棋中的走棋網(wǎng)絡(luò )(policy network)和評價(jià)網(wǎng)絡(luò )(value networks)。
總而言之,從研究角度,深度學(xué)習正從有監督的學(xué)習慢慢向這種互動(dòng)式的學(xué)習發(fā)展;網(wǎng)絡(luò )結構由先向網(wǎng)絡(luò )向有遞歸方式、考慮記憶、考慮時(shí)序的網(wǎng)絡(luò )發(fā);同時(shí)內容從靜態(tài)的輸入到動(dòng)態(tài)的輸入,在預測方式方面是從同時(shí)的預測慢慢變成一步一步序列化的預測。從2014年和2015年的發(fā)展情況來(lái)看,深度學(xué)習現在的非常簡(jiǎn)化的思路是,如果有個(gè)比較新的問(wèn)題,要做的事情首先是把問(wèn)題描述好,保證輸入到最終的目的這個(gè)過(guò)程每步是可微分的,然后把其中最難的部分插入深度神經(jīng)網(wǎng)絡(luò ),實(shí)現端對端的學(xué)習。之前提到的幾個(gè)新趨勢,大體上都是這種思路。
無(wú)論是社會(huì )大眾還是媒體,或者是研究人員自己,我們可能對深度學(xué)習還有一些不同角度的認識。我個(gè)人認為這是計算機科學(xué)領(lǐng)域非常純粹的計算問(wèn)題,探索如何把這些數據本質(zhì)的內容和結構抽象理解得更好。希望今天提到的一些深度學(xué)習的新趨勢,對大家有所幫助和借鑒。謝謝大家!
【楊銘深度學(xué)習發(fā)展的新趨勢演講稿】相關(guān)文章:
最新酒店業(yè)發(fā)展新趨勢教案06-16
陋室銘的文章學(xué)習06-16
《陋室銘》學(xué)習要點(diǎn)06-24
學(xué)習楊善洲事跡體會(huì )03-10
學(xué)習楊善洲精神作文06-06
陋室銘的銘06-10
《學(xué)歷案與深度學(xué)習》學(xué)習心得體會(huì )08-05
《鐵笛道人自傳》《楊廉夫維禎墓志銘》的對比閱讀及答案07-02
數學(xué)深度學(xué)習培訓心得(通用26篇)07-21
陋室銘中銘的翻譯05-06