新人工智能技術(shù)“向前向前”算法是什么?
在 2022上發(fā)表的一篇新論文中,介紹了“向前向前算法,“一種新的人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,靈感來自我們對大腦中神經(jīng)激活的了解。盡管仍處于早期試驗(yàn)階段,前向-前向有可能在未來取代反向傳播。該論文還提出了一個新的“死亡計(jì)算”模型,它使我們更接近大腦的節(jié)能機(jī)制,并支持向前向前算法。
反向傳播的問題是
當(dāng)深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時,它經(jīng)歷兩個階段。首先是正向傳遞,其中輸入要素穿過模型的各層,并通過權(quán)重、激活函數(shù)和其他變換進(jìn)行修改以創(chuàng)建預(yù)測。然后將預(yù)測值與地面真實(shí)值進(jìn)行比較,并計(jì)算誤差。
在第二階段,反向傳播,誤差以相反的順序通過各層傳播,人工神經(jīng)元的權(quán)重被校正。反向傳播使用偏導(dǎo)數(shù)和鏈規(guī)則來計(jì)算梯度,并基于每個人工神經(jīng)元對誤差的貢獻(xiàn)來調(diào)整每個人工神經(jīng)元。
雖然反向傳播非常有用,但它與我們對大腦的了解非常不同。
作為皮層如何學(xué)習(xí)的模型,反向傳播仍然令人難以置信,盡管人們付出了相當(dāng)大的努力來發(fā)明可以由真實(shí)神經(jīng)元實(shí)現(xiàn)的方法。沒有令人信服的證據(jù)表明,皮層明確傳播誤差導(dǎo)數(shù)或存儲神經(jīng)活動,以供隨后的反向傳遞使用。
例如,在視覺系統(tǒng)中,不同皮層區(qū)域之間的連接并不反映基于反向傳播的深度學(xué)習(xí)模型的自下而上的連接。相反,它們是循環(huán)的,其中神經(jīng)信號穿過幾個皮層,然后返回到更早的區(qū)域。
反向傳播的主要限制之一是學(xué)習(xí)和推理的分離。若要調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重,訓(xùn)練算法必須停止推理以執(zhí)行反向傳播。在現(xiàn)實(shí)世界中,大腦接收不斷的信息流,感知系統(tǒng)需要實(shí)時進(jìn)行推理和學(xué)習(xí),而不是停下來進(jìn)行反向傳播。
如果前向傳遞中完成的計(jì)算不可微,反向傳播也不起作用。如果我們將一個黑盒插入到正向傳遞中,就不可能再進(jìn)行反向傳播,除非我們知道了黑盒的一個可微分模型。
在不可能反向傳播的情況下,強(qiáng)化學(xué)習(xí)可以作為訓(xùn)練神經(jīng)網(wǎng)絡(luò)的替代算法。但當(dāng)神經(jīng)網(wǎng)絡(luò)包含數(shù)百萬或數(shù)十億個參數(shù)時,強(qiáng)化學(xué)習(xí)在計(jì)算上是昂貴的、緩慢的和不穩(wěn)定的。
向前向前算法
在視覺皮層(右),信息向幾個方向移動。在神經(jīng)網(wǎng)絡(luò)(左)中,信息是單向移動的。
前向-前向算法背后的思想是用兩次前向傳遞代替反向傳播的前向和后向傳遞。這兩個過程是相似的,但是它們處理不同的數(shù)據(jù)并且具有相反的目標(biāo)。
“正向傳遞”對真實(shí)數(shù)據(jù)進(jìn)行操作,并調(diào)整網(wǎng)絡(luò)的權(quán)重,以增加每一層的“良好度”。“負(fù)傳遞”對負(fù)數(shù)據(jù)進(jìn)行操作,并調(diào)整權(quán)重以降低優(yōu)度。
在論文中,用神經(jīng)活動的平方之和以及活動平方的負(fù)和來衡量善。學(xué)習(xí)的目的是調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重,使其對于真實(shí)的例子高于某個閾值,而對于負(fù)面數(shù)據(jù)低于閾值。
在訓(xùn)練期間,樣本和它們的標(biāo)簽被合并到單個向量中,以創(chuàng)建正數(shù)據(jù)。為了創(chuàng)建負(fù)數(shù)據(jù),使用了相同的過程,稍微不同的是在示例上附加了錯誤的標(biāo)簽。在數(shù)據(jù)通過神經(jīng)網(wǎng)絡(luò)之后,調(diào)整權(quán)重以增加正面示例的良好度(例如,激活的平方和),并減少負(fù)面示例的良好度。不需要反向傳播。
這個過程對于具有單個隱藏層的神經(jīng)網(wǎng)絡(luò)來說非常有效。對于多層深度學(xué)習(xí)模型,每個隱藏層的輸出在被傳遞到下一層之前被歸一化。
FF算法也可以受益于某種形式的自我監(jiān)督學(xué)習(xí)這可以使神經(jīng)網(wǎng)絡(luò)更加健壯,同時減少手動標(biāo)記樣本的需要。在論文中,展示了簡單的掩蔽技術(shù)如何創(chuàng)建負(fù)樣本來訓(xùn)練模型。
與反向傳播不同,如果FF算法包含黑盒模塊,它也可以工作。由于該算法不需要可微函數(shù),它仍然可以調(diào)整其可訓(xùn)練參數(shù),而無需知道模型中每一層的內(nèi)部工作原理。
前向-前向算法(FF)在速度上與反向傳播相當(dāng),但它的優(yōu)勢在于,當(dāng)正向計(jì)算的精確細(xì)節(jié)未知時,可以使用它。
測試轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)算法
在由四個完全連接的層組成的神經(jīng)網(wǎng)絡(luò)上測試了FF算法,每個層包含2000個神經(jīng)元和ReLU激活。該網(wǎng)絡(luò)在MNIST數(shù)據(jù)集上訓(xùn)練60個時期,達(dá)到1.36%的錯誤率。相比之下,反向傳播需要20個時期才能達(dá)到類似的結(jié)果。通過將學(xué)習(xí)率提高一倍,能夠在40個時期內(nèi)達(dá)到1.40%的錯誤率。
前向-前向算法不能很好地概括本文研究的幾個玩具問題,因此它不太可能取代后向傳播,用于功率不是問題的應(yīng)用。
根據(jù)說法,前向-前向算法可能優(yōu)于反向傳播的兩個領(lǐng)域是“皮層中的學(xué)習(xí)模型”和“在不求助于強(qiáng)化學(xué)習(xí)的情況下利用非常低功率的模擬硬件的方法。”
與此同時,南加州大學(xué)計(jì)算機(jī)科學(xué)副教授Saty Raghavachary指出,雖然FF似乎是backprop的替代方案,但它需要進(jìn)一步研究。
“與BP相比,F(xiàn)F在生物學(xué)上更合理。但從更大的角度來看,它只是一種從捕獲的數(shù)據(jù)中學(xué)習(xí)現(xiàn)有模式的替代方式,本身不會導(dǎo)致類似人類的智能——因?yàn)樗惶幚砣祟惿傻?、人類?biāo)記的數(shù)據(jù)(學(xué)習(xí)模式),”Raghavachary說。
凡人電腦
在論文中,挑戰(zhàn)了現(xiàn)有的計(jì)算范式,并提出了一個新的方向。
“通用數(shù)字計(jì)算機(jī)被設(shè)計(jì)成忠實(shí)地遵循指令,因?yàn)槿藗冋J(rèn)為讓通用計(jì)算機(jī)執(zhí)行特定任務(wù)的唯一方法是編寫一個程序,以極其詳細(xì)的細(xì)節(jié)準(zhǔn)確地指定要做什么。“這不再是真的,但研究界對深度學(xué)習(xí)對計(jì)算機(jī)制造方式的長期影響理解緩慢。”
特別挑戰(zhàn)了將軟件和硬件分開的想法。雖然這種分離有很多好處,包括將相同的軟件復(fù)制到數(shù)百萬臺計(jì)算機(jī)上,但它也有局限性。
如果……我們愿意放棄永生,應(yīng)該有可能在執(zhí)行計(jì)算所需的能源和制造執(zhí)行計(jì)算的硬件的成本方面實(shí)現(xiàn)巨大的節(jié)約。我們可以允許旨在執(zhí)行相同任務(wù)的不同硬件實(shí)例的連接性和非線性存在較大且未知的變化,并依靠學(xué)習(xí)過程來發(fā)現(xiàn)有效利用硬件的每個特定實(shí)例的未知屬性的參數(shù)值。
基本上,這意味著軟件是逐漸建立在每個硬件實(shí)例上的,并且只對那個實(shí)例有用。相應(yīng)地,軟件變成了“凡人”,這意味著它和硬件一起死去。即一臺普通的計(jì)算機(jī)如何通過訓(xùn)練將其知識轉(zhuǎn)移到另一個硬件實(shí)例。根據(jù)辛頓的說法,盡管有缺點(diǎn),人類計(jì)算也有明顯的優(yōu)勢。
如果你希望你的萬億參數(shù)神經(jīng)網(wǎng)絡(luò)只消耗幾瓦,人類計(jì)算可能是唯一的選擇,盡管他也斷言,它的可行性將取決于找到一種可以在精確細(xì)節(jié)未知的硬件中有效運(yùn)行的學(xué)習(xí)程序。
前向-前向算法是一個有前途的候選算法,盡管它在大型神經(jīng)網(wǎng)絡(luò)中的應(yīng)用還有待觀察。
我認(rèn)為數(shù)字計(jì)算機(jī)和大腦之間的(錯誤)類比適得其反地促進(jìn)了突觸可能類似于晶體管(二進(jìn)制開關(guān))的想法,而事實(shí)上,突觸要復(fù)雜得多。一旦人們意識到FF模型可以做什么,這可能會導(dǎo)致一些關(guān)于皮層計(jì)算的構(gòu)建模塊的新想法,包括大腦中的反饋(自上而下)連接。鑒于大腦中充滿了循環(huán)和并行連接,F(xiàn)F似乎非常有可能在大腦中實(shí)現(xiàn)。
然而,Raghavachary認(rèn)為,類似生物的智能需要一種架構(gòu),它可以通過直接、物理、交互和持續(xù)(DPIC)與世界接觸來了解世界,以便非象征性地體驗(yàn)世界。
在足夠復(fù)雜的架構(gòu)中,符號處理(如語言習(xí)得)可能會發(fā)生,這將通過潛在的和互補(bǔ)的非符號體驗(yàn)來“扎根”。FF似乎是進(jìn)行符號處理的另一種方式,這很有用,但在我看來,一個成熟的AGI建筑需要直接的經(jīng)驗(yàn),非符號的,對應(yīng)的,只有體現(xiàn)才能提供。
生物學(xué)習(xí)
它在連通。它存在于每個單獨(dú)突觸連接的分子組成中,這不僅僅是一個“突觸重量”。這一切都是通過學(xué)習(xí)之前的基因編碼發(fā)展而來的——至少在生物學(xué)上是這樣說。
根據(jù)說法,基因編碼發(fā)展解決了提出的兩個問題。首先,它決定了如何讓“萬億參數(shù)”進(jìn)入網(wǎng)絡(luò)。第二,作為發(fā)展基礎(chǔ)的基因組進(jìn)化編程是一個“學(xué)習(xí)過程”,它有效地“運(yùn)行”在硬件中,而硬件的精確細(xì)節(jié)是未知的。
事實(shí)上,一個'可以在不知道其精確細(xì)節(jié)的硬件中有效運(yùn)行的過程'回到辛頓質(zhì)疑的問題:程序(軟件)與硬件的分離在生物學(xué)中,硬件的精確細(xì)節(jié)是一個漫長的信息編碼過程的結(jié)果,通過生長過程進(jìn)化編程和展開。
生物學(xué)習(xí)的效率在于這種漸進(jìn)的信息編碼過程:硬件的開發(fā)永無止境,學(xué)習(xí)程序的運(yùn)行永無止境。相反,網(wǎng)絡(luò)中的信息編碼,包括亞細(xì)胞和分子,首先在沒有神經(jīng)元活動的情況下連續(xù)發(fā)生,后來隨著神經(jīng)元活動發(fā)生。
在處理環(huán)境信息之前,神經(jīng)元和突觸水平的學(xué)習(xí)已經(jīng)作為一個純粹的基因編碼過程發(fā)生了。“沒有‘接通’開關(guān),只有逐漸增加的信息編碼,才能形成一個網(wǎng)絡(luò)其具體細(xì)節(jié)不得而知僅從學(xué)習(xí)的角度來看,忽略了在將數(shù)據(jù)輸入網(wǎng)絡(luò)之前編碼的信息。
生物硬件給定狀態(tài)的精確細(xì)節(jié)很難知道,因?yàn)槊枋鲞@一切需要太多的信息。對于什么是相關(guān)的,也沒有一致的意見。
在當(dāng)前的人工智能中,除了突觸重量,什么都不重要。但是,如果沒有及時的屬性、動力學(xué)和功能,突觸功能的許多方面都無法模擬,無數(shù)的單個分子使突觸以一種通過梯度下降上調(diào)或下調(diào)突觸重量的方式做出反應(yīng)。
