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