Yann LeCun開懟谷歌研究:目標(biāo)傳播早就有了,你們創(chuàng)新在哪里?
?日前,學(xué)術(shù)圈圖靈獎(jiǎng)得主Yann LeCun對(duì)谷歌的一項(xiàng)研究發(fā)起了質(zhì)疑。
前段時(shí)間,谷歌 AI在其新研究《LocoProp: Enhancing BackProp via Local Loss Optimization》中提出了一種用于多層神經(jīng)網(wǎng)絡(luò)的通用層級(jí)損失構(gòu)造框架LocoProp,該框架在僅使用一階優(yōu)化器的同時(shí)實(shí)現(xiàn)了接近二階方法的性能。
更具體來(lái)講,該框架將一個(gè)神經(jīng)網(wǎng)絡(luò)重新構(gòu)想為多層的模塊化組合,其中每個(gè)層都使用自己的權(quán)重正則化器、目標(biāo)輸出和損失函數(shù),最終同時(shí)實(shí)現(xiàn)了性能和效率。
谷歌在基準(zhǔn)模型和數(shù)據(jù)集上實(shí)驗(yàn)驗(yàn)證了其方法的有效性,縮小了一階和二階優(yōu)化器之間的差距。此外,谷歌研究者表示他們的局部損失構(gòu)造方法是首次將平方損失用作局部損失。
圖源:@Google AI
對(duì)于谷歌的這項(xiàng)研究,一些人的評(píng)價(jià)是棒極了、有趣。不過(guò),也有一些人表達(dá)出了不同的看法,其中包括圖靈獎(jiǎng)得主Yann LeCun。
他認(rèn)為,我們現(xiàn)在稱為目標(biāo)傳播(target prop)的版本有很多,有些可以追溯至1986年。所以,谷歌的這個(gè)LocoProp與它們有什么區(qū)別呢?
圖源:@Yann LeCun
對(duì)于LeCun的這種疑問(wèn),即將成為UIUC助理教授的Haohan Wang表示贊同。他表示,有時(shí)真的驚訝為什么有些作者認(rèn)為這么簡(jiǎn)單的想法是歷史首創(chuàng)?;蛟S他們做出了一些與眾不同的事情,但宣傳團(tuán)隊(duì)卻迫不及待地出來(lái)聲稱一切……
圖源:@HaohanWang
不過(guò),有人對(duì) LeCun「不感冒」,認(rèn)為他是出于競(jìng)爭(zhēng)的考慮提出疑問(wèn),甚至「引戰(zhàn)」。LeCun 對(duì)此進(jìn)行了回復(fù),聲稱自已的疑問(wèn)無(wú)關(guān)競(jìng)爭(zhēng),并舉例自己實(shí)驗(yàn)室的前成員Marc'Aurelio Ranzato、Karol Gregor、koray kavukcuoglu等都曾使用過(guò)一些版本的目標(biāo)傳播,如今他們都在谷歌DeepMind工作。
圖源:@Gabriel Jimenez@Yann LeCun
更有人調(diào)侃起了Yann LeCun,「當(dāng)無(wú)法擊敗Jürgen Schmidhuber,就成為他吧?!?/p>
Yann LeCun到底說(shuō)的對(duì)不對(duì)呢?我們先來(lái)看谷歌這項(xiàng)研究到底講了啥,有沒(méi)有突出創(chuàng)新呢?
谷歌LocoProp:用局部損失優(yōu)化增強(qiáng)反向傳播
這項(xiàng)研究由來(lái)自谷歌的 Ehsan Amid 、 Rohan Anil、 Manfred K. Warmuth 三位研究者合作完成。
論文地址:https://proceedings.mlr.press/v151/amid22a/amid22a.pdf
本文認(rèn)為,深度神經(jīng)網(wǎng)絡(luò)(DNN)成功的關(guān)鍵因素有兩個(gè):模型設(shè)計(jì)和訓(xùn)練數(shù)據(jù),但很少有研究者討論更新模型參數(shù)的優(yōu)化方法。我們?cè)谟?xùn)練訓(xùn)練DNN時(shí)涉及最小化損失函數(shù),該函數(shù)用來(lái)預(yù)測(cè)真實(shí)值和模型預(yù)測(cè)值之間的差異,并用反向傳播進(jìn)行參數(shù)更新。
最簡(jiǎn)單的權(quán)值更新方法是隨機(jī)梯度下降,即在每一個(gè)step中,權(quán)值相對(duì)于梯度負(fù)方向移動(dòng)。此外,還有高級(jí)的優(yōu)化方法,如動(dòng)量?jī)?yōu)化器、AdaGrad等。這些優(yōu)化器通常被稱為一階方法,因?yàn)樗鼈兺ǔV皇褂靡浑A導(dǎo)數(shù)的信息來(lái)修改更新方向。
還有更高級(jí)的優(yōu)化方法如Shampoo 、K-FAC等已被證明可以提高收斂性,減少迭代次數(shù),這些方法能夠捕獲梯度的變化。利用這些額外的信息,高階優(yōu)化器可以通過(guò)考慮不同參數(shù)組之間的相關(guān)性來(lái)發(fā)現(xiàn)訓(xùn)練模型更有效的更新方向。缺點(diǎn)是,計(jì)算高階更新方向比一階更新在計(jì)算上更昂貴。
谷歌在論文中引入了一個(gè)訓(xùn)練DNN模型的框架:LocoProp,其將神經(jīng)網(wǎng)絡(luò)構(gòu)想為層的模塊化組合。一般來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)的每一層對(duì)輸入進(jìn)行線性變換,然后是非線性的激活函數(shù)。在該研究中,網(wǎng)絡(luò)每一層被分配了自己的權(quán)重正則化器、輸出目標(biāo)和損失函數(shù)。每一層的損失函數(shù)被設(shè)計(jì)成與該層的激活函數(shù)相匹配。使用這種形式,訓(xùn)練給定的小batch局部損失可以降到最低,在各層之間迭代并行地進(jìn)行。
谷歌使用這種一階優(yōu)化器進(jìn)行參數(shù)更新,從而避免了高階優(yōu)化器所需的計(jì)算成本。
研究表明 LocoProp 在深度自動(dòng)編碼器基準(zhǔn)測(cè)試中優(yōu)于一階方法,并且在沒(méi)有高內(nèi)存和計(jì)算要求的情況下與高階優(yōu)化器(如 Shampoo 和 K-FAC)性能相當(dāng)。
LocoProp:通過(guò)局部損失優(yōu)化增強(qiáng)反向傳播
通常神經(jīng)網(wǎng)絡(luò)被視為復(fù)合函數(shù),其將每一層的輸入轉(zhuǎn)換為輸出表示。LocoProp 在將網(wǎng)絡(luò)分解為層時(shí)采用了這種觀點(diǎn)。特別是,LocoProp 不是更新層的權(quán)重以最小化輸出的損失函數(shù),而是應(yīng)用特定于每一層的預(yù)定義局部損失函數(shù)。對(duì)于給定的層,選擇損失函數(shù)以匹配激活函數(shù),例如,將為具有 tanh 激活的層選擇 tanh 損失。此外,正則化項(xiàng)確保更新后的權(quán)重不會(huì)偏離當(dāng)前值太遠(yuǎn)。
與反向傳播類似,LocoProp應(yīng)用前向傳遞來(lái)計(jì)算激活。在反向傳遞中,LocoProp為每一層的的神經(jīng)元設(shè)置目標(biāo)。最后,LocoProp將模型訓(xùn)練分解為跨層的獨(dú)立問(wèn)題,其中多個(gè)局部更新可以并行應(yīng)用于每層的權(quán)值。
谷歌在深度自動(dòng)編碼器模型中進(jìn)行了實(shí)驗(yàn),這是評(píng)估優(yōu)化算法性能的常用基準(zhǔn)。他們對(duì)多個(gè)常用的一階優(yōu)化器進(jìn)行廣泛的優(yōu)化,包括 SGD、具有動(dòng)量的SGD 、AdaGrad、RMSProp、Adam,以及高階優(yōu)化器,包括Shampoo 、K-FAC,并將結(jié)果與LocoProp比較。研究結(jié)果表明,LocoProp方法的性能明顯優(yōu)于一階優(yōu)化器,與高階優(yōu)化器相當(dāng),同時(shí)在單個(gè)GPU上運(yùn)行時(shí)速度明顯更快。