我思考的這個(gè)問(wèn)題,源于不久前我收到的一封來(lái)自某大公司產(chǎn)品經(jīng)理的郵件。
我喜歡將私人通訊郵件公開于眾,所以我將郵件內(nèi)容摘在下面:
來(lái)自:M.
你好 Ali, ...
你如何訓(xùn)練團(tuán)隊(duì)里的年輕成員,使得他們有更好的直覺和預(yù)判?我團(tuán)隊(duì)里的工程師經(jīng)常從其他科研員那「借鑒」超參數(shù)的值,但他們太擔(dān)心要自己去調(diào)整參數(shù)了。...
我對(duì)著這封郵件思考了數(shù)日,卻沒有辦法找到一個(gè)有條理的答案。
如果說(shuō)應(yīng)該有正確答案的話,我想回復(fù)說(shuō):也許她的工程師應(yīng)該要有這種擔(dān)心。
如果你是個(gè)工程師,你拿到了這個(gè)神經(jīng)網(wǎng)絡(luò),然后你被要求去改進(jìn)這個(gè)網(wǎng)絡(luò)在某個(gè)數(shù)據(jù)集上的表現(xiàn)。你也許會(huì)假設(shè)這每層都是有它自己的作用和功能,但在深度學(xué)習(xí)領(lǐng)域,我們目前還沒有統(tǒng)的語(yǔ)言和詞匯去描述這些功效。我們教授深度學(xué)習(xí)的方法和我們教授其他科學(xué)學(xué)科的方法很不同。
幾年前我迷上了光學(xué)。在光學(xué)領(lǐng)域,你會(huì)堆疊好幾層不同的組件以處理輸?shù)墓庠?。例如下圖,就是相機(jī)的鏡頭:
要設(shè)計(jì)這樣的系統(tǒng),你從最簡(jiǎn)單的組件開始堆疊,這些組件往往以知名的發(fā)明者命名。然后通過(guò)仿真,你可 以判斷你的設(shè)計(jì)是否符合你的要求,然后再添加不同的組件去修正先前設(shè)計(jì)的缺陷。
緊接著你會(huì)各種數(shù)學(xué)優(yōu)化過(guò)程去調(diào)整這些組件的參數(shù),例如鏡面的形狀、位置和傾斜角度等等,去最大程度實(shí)現(xiàn)你的設(shè)計(jì)目標(biāo)。你就重復(fù)如此仿真、修改、調(diào)優(yōu)的過(guò)程。
這很像我們?cè)O(shè)計(jì)深度網(wǎng)絡(luò)的過(guò)程。
上圖里所有的 36 個(gè)元素都是故意加?這個(gè)堆疊的系統(tǒng),以用于修正某項(xiàng)具體的偏差的。這樣的設(shè)計(jì)需要非常精確的解釋模型去描述什么樣的元素能夠?qū)ν高^(guò)它的光有什么樣的效應(yīng)。這個(gè)模型往往是關(guān)于這個(gè)元素的作用的,例如說(shuō)折射、反射、衍射、散射和波前校正。
?們不害怕這樣的設(shè)計(jì)過(guò)程。每年,美國(guó)培養(yǎng)的許多?程師都能設(shè)計(jì)出有的鏡頭,他們并不為這樣的作感到擔(dān)心害怕。
這并不是因?yàn)楣鈱W(xué)很容易,而是因?yàn)槲覀儗?duì)光學(xué)的模型了然在心。
現(xiàn)代光學(xué)是通過(guò)抽象出不同層級(jí)的知識(shí)內(nèi)容去教授的。
在最頂級(jí),也是最容易的層級(jí),是幾何光學(xué)。幾何光學(xué)是對(duì)波光學(xué)的抽象,光射線于于表達(dá)簡(jiǎn)單的矢量波光 學(xué)的波前矢量。而波光學(xué)?是對(duì)麥克斯韋方程的進(jìn)?步簡(jiǎn)化。麥克斯韋方程 由能由量子力學(xué)推導(dǎo)而出,量子力學(xué)則超出了我的理解范圍。
每一個(gè)層級(jí)都是通過(guò)作出?些簡(jiǎn)化的假定由緊鄰的下?個(gè)層級(jí)推導(dǎo)?出,所以每?個(gè)層級(jí)能夠比上一個(gè)層級(jí)解釋更為復(fù)雜的現(xiàn)象。
我花了不少時(shí)間在頂四層抽象里設(shè)計(jì)系統(tǒng)。
這就是當(dāng)今我們教授光學(xué)的方法。但相關(guān)理論并非總是如此按層級(jí)來(lái)組織。在百年前,這些理論還是在?個(gè) 相互矛盾的狀態(tài)中共存。實(shí)踐家們只能依賴于近乎道聽途說(shuō)的光學(xué)理論。
但這并沒有阻止伽利略打造性能不錯(cuò)的望遠(yuǎn)鏡,而且是在牛頓形式化幾何光學(xué)前近?個(gè)世紀(jì)的時(shí)間點(diǎn)上。因 為伽利略對(duì)于如何造出能夠放大數(shù)?倍的望遠(yuǎn)鏡有足夠好的解釋模型。但他對(duì)光學(xué)的理解,卻不足以讓他的望遠(yuǎn)鏡能夠修正色差或者獲得廣視角。
在這些光學(xué)理論被抽象總結(jié)出來(lái)之前,每?項(xiàng)理論都需要從光的最基本概念出發(fā)。這就牽涉到要作出?套涵蓋許多也許不切實(shí)際的假設(shè)。牛頓的幾何光學(xué)把光假定作?束束可以被吸引、排斥的固體粒??;莞箘t? 由「以太」作為介質(zhì)的縱波去描述光,也就是說(shuō)用類似聲波的方式去構(gòu)建光。麥克斯韋也假設(shè)光經(jīng)由以太傳播。你從麥克斯韋方程的系數(shù)的名字也能窺得這種思路的??。
愚蠢的模型,確實(shí)。但它們可量化且有預(yù)測(cè)的能力。
這些假設(shè),我們今天聽來(lái)也許覺得很愚蠢,但它們可量化而且有預(yù)測(cè)的能力。你可以隨意代入數(shù)字于其中并得到精準(zhǔn)的量化預(yù)測(cè)。這對(duì)于工程師而言極其有用。
尋找用于描述每層深度學(xué)習(xí)網(wǎng)絡(luò)作用的模塊化語(yǔ)言
如果我們能夠像討論光纖穿越每?層鏡頭元素的作用那樣去討論神經(jīng)網(wǎng)絡(luò)每?層的作用,那么設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)將會(huì)變得更容易。
我們說(shuō)卷積層就像在輸?上滑動(dòng)相應(yīng)濾波器,然后說(shuō)池化是處理了對(duì)應(yīng)的非線性。但這只是非常低層次的描述,就像用麥克斯韋方程去解釋鏡頭的作用。
也許我們應(yīng)該依賴于更高級(jí)抽象描述,具體表達(dá)某個(gè)量被神經(jīng)網(wǎng)絡(luò)的層級(jí)如何改變了,好比我們用鏡頭的具 體作用去解釋它如何彎曲光線那樣。
如果這種抽象也能夠量化,使得你只需要代?具體數(shù)值到某個(gè)公式里,它就能告訴你?個(gè)大概的量化分析,這樣你就能更好地設(shè)計(jì)你的網(wǎng)絡(luò)了。
我們離這樣的語(yǔ)言還很遠(yuǎn)。我們先從簡(jiǎn)單點(diǎn)的開始
上?也許只是我被自己的幻想帶跑了。
我們從簡(jiǎn)單點(diǎn)的開始。我們對(duì)深度學(xué)習(xí)的運(yùn)作方式有很多解釋模型。下?我會(huì)羅列?系列值得解釋的現(xiàn)象,然后我們看看?些現(xiàn)有的模型對(duì)這些現(xiàn)象解釋的能力有多強(qiáng)。
在開始之前,我得承認(rèn)這種努力也許最后是徒勞的。光學(xué)花了 300 年在打磨自己的模型之上,而我只花了? 個(gè)周六下午,所以這只能算是博客上的?些個(gè)?觀點(diǎn)和想法。
現(xiàn)象:隨機(jī)梯度下降 (SGD) 的隨機(jī)初始化足夠好了。但細(xì)微的數(shù)字錯(cuò)誤或者步長(zhǎng)會(huì)使 SGD 失效。
很多?在實(shí)踐中發(fā)現(xiàn),對(duì)于如何累積梯度的細(xì)微調(diào)整,可以導(dǎo)致對(duì)整個(gè)測(cè)試集表現(xiàn)的巨大變化。例如說(shuō)你只用GPU而不是 CPU 去訓(xùn)練,結(jié)果可能會(huì)截然不同。
現(xiàn)象:淺的局部最優(yōu)值意味著比深的局部最優(yōu)值更好的泛化能力。
這種說(shuō)法很時(shí)髦。有些?認(rèn)為它是真的。有些?則用實(shí)際數(shù)據(jù)反駁。另外也有?給出了這個(gè)現(xiàn)象的變種 。眾說(shuō)紛紜,爭(zhēng)議目前不斷。
這個(gè)現(xiàn)象也許有爭(zhēng)議性,但我還是先放在這里。
現(xiàn)象:批標(biāo)準(zhǔn)化層 (Batch Norm) 可以給 SGD 提速。
這個(gè)基本無(wú)爭(zhēng)議,我只能提供?個(gè)小例外。
現(xiàn)象:即使有很多局部最優(yōu)和鞍點(diǎn),SGD 也表現(xiàn)卓越。
這個(gè)說(shuō)法也包含了幾個(gè)小的點(diǎn)。經(jīng)常有人聲稱深度學(xué)習(xí)的損失表面充斥著鞍點(diǎn)和局部最優(yōu)。也有不同的 說(shuō)法,要不就認(rèn)為梯度下降可以遍歷這些區(qū)域,要不就認(rèn)為梯度下降可以不遍歷這些區(qū)域,但都能給出泛化能力不錯(cuò)的答案。也有說(shuō)損失表面其實(shí)也沒那么不堪。
現(xiàn)象:Dropout 勝于其他隨機(jī)化策略。
我不知道如何正確分類類似 Dropout 的做法,所以我就稱之為「隨機(jī)化策略」了。
現(xiàn)象:深度網(wǎng)絡(luò)能夠記憶隨機(jī)標(biāo)簽,但它們能泛化。
證據(jù)很直白,我的朋友們親自見證并主張這種說(shuō)法。
對(duì)這些現(xiàn)象的解釋
對(duì)應(yīng)上面列舉的這些現(xiàn)象,我在下面列舉我覺得最能解釋這些現(xiàn)象的理論,這些理論均來(lái)自我上面引用的論文。
先別激動(dòng),原因如下:
1. 我們嘗試解釋的這些現(xiàn)象部分有爭(zhēng)議。
2. 我沒辦法把這些解釋按照抽象層級(jí)組織好。光學(xué)好教學(xué)的特性也沒辦法在這?重現(xiàn)。
3. 我懷疑部分我引用的理論不正確。
我想說(shuō)的是
有很多人正在加?這個(gè)領(lǐng)域,然而我們能夠給他們傳授的不過(guò)是近乎道聽途說(shuō)的經(jīng)驗(yàn)和?些預(yù)訓(xùn)練好的深度網(wǎng)絡(luò),然后就叫他們?nèi)ダ^續(xù)創(chuàng)新。我們甚?都不能認(rèn)同我們要解釋的這些現(xiàn)象。所以我認(rèn)為我們離能夠在高中教授這些內(nèi)容還有很遠(yuǎn)的距離。
那我們?nèi)绾尾拍茈x這?步近點(diǎn)?
最好的不過(guò)是我們能夠就每?層深度網(wǎng)絡(luò)的功能作用,按照不同層級(jí)的抽象,給出對(duì)應(yīng)的解釋模型。例如 說(shuō),神經(jīng)網(wǎng)絡(luò)里的折射、散射和衍射會(huì)是怎么樣的?也許你早就用具體的功能去思考神經(jīng)網(wǎng)絡(luò),但我們就這些概念還沒有統(tǒng)?的語(yǔ)言。
我們應(yīng)該把?系列確認(rèn)的現(xiàn)象組織起來(lái),然后才來(lái)進(jìn)行理論上的解釋。例如說(shuō)神經(jīng)網(wǎng)絡(luò)里的牛頓環(huán)、磁光克 爾效應(yīng)和法拉第現(xiàn)象會(huì)是怎樣的?
我和一小批同事已經(jīng)開始了?項(xiàng)重大的實(shí)踐工作,嘗試去分類構(gòu)建適合我們領(lǐng)域的解釋模型,去形式化它 們,并且用實(shí)驗(yàn)去驗(yàn)證它們。這項(xiàng)工作是巨大的,我認(rèn)為第?步應(yīng)該是構(gòu)建?個(gè)分層級(jí)的深度學(xué)習(xí)解釋模 型,以用于高中的教學(xué)。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4787瀏覽量
101361 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5523瀏覽量
121709
原文標(biāo)題:解釋深度學(xué)習(xí)的新角度,來(lái)自光學(xué)的啟發(fā)
文章出處:【微信號(hào):gh_ecbcc3b6eabf,微信公眾號(hào):人工智能和機(jī)器人研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
NPU在深度學(xué)習(xí)中的應(yīng)用
使用NVIDIA Jetson打造機(jī)器人導(dǎo)盲犬
使用機(jī)器學(xué)習(xí)和NVIDIA Jetson邊緣AI和機(jī)器人平臺(tái)打造機(jī)器人導(dǎo)盲犬
GPU深度學(xué)習(xí)應(yīng)用案例
AI大模型與深度學(xué)習(xí)的關(guān)系
FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?
AMD贊助多支FIRST機(jī)器人競(jìng)賽團(tuán)隊(duì)
深度學(xué)習(xí)中的時(shí)間序列分類方法
深度學(xué)習(xí)與nlp的區(qū)別在哪
深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用
深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)的對(duì)比
深度學(xué)習(xí)在自動(dòng)駕駛中的關(guān)鍵技術(shù)
深度解析深度學(xué)習(xí)下的語(yǔ)義SLAM

FPGA在深度學(xué)習(xí)應(yīng)用中或?qū)⑷〈鶪PU
為什么深度學(xué)習(xí)的效果更好?

評(píng)論