Hinton 最新研究:神經網路的未來是前向-前向演算法

PHPz
發布: 2023-04-11 18:55:03
轉載
1302 人瀏覽過

過去十年,深度學習取得了驚人的勝利,用大量參數和數據做隨機梯度下降的方法已經被證明是有效的。而梯度下降使用的通常是反向傳播演算法,所以一直以來,大腦是否遵循反向傳播、是否有其它方式獲得調整連接權重所需的梯度等問題都備受關注。

圖靈獎得主、深度學習先驅Geoffrey Hinton 作為反向傳播的提出者之一,在近年來已經多次提出,反向傳播並不能解釋大腦的運作方式。相反,他正在提出一種新的神經網路學習方法-前向-前向演算法(Forward‑Forward Algorithm,FF)。

在最近的NeurIPS 2022 大會上,Hinton 發表了題目為《The Forward-Forward Algorithm for Training Deep Neural Networks》的特邀演講,論述了前向演算法相比於反向演算法的優越性。論文的初稿《The Forward-Forward Algorithm: Some Preliminary Investigations》已經放在了其多倫多大學的主頁上:

Hinton 最新研究:神經網路的未來是前向-前向演算法

論文位址:https://www.cs.toronto.edu/~hinton/FFA13.pdf

#與反向傳播演算法使用一個前向傳遞一個反向傳遞不同,FF 演算法包含兩個前向傳遞,其中一個使用正(即真實)數據,另一個使用網路本身產生的負數據。

Hinton 認為,FF 演算法的優點在於:它能更好地解釋大腦的皮質學習,並且能以極低的功耗模擬硬體。

Hinton 提倡放棄軟硬體分離的電腦形態,未來的電腦應被設計為「非永生的」(mortal),從而大大節省計算資源,而FF 演算法正是能在這種硬體中高效運作的最佳學習方法。

這或許正是未來解決萬億參數等級的大模型算力掣肘的一個理想途徑。

1

FF 演算法比反向演算法

更能解釋大腦、更節能

在FF 演算法中,每一層都有自己的目標函數,即對正資料具有高優度,對負資料具有低優度。層中活動平方和可用作優度,此外還包括了許多其他的可能性,例如減去活動平方和等。

如果可以及時分離正負傳遞,則負傳遞可以離線完成,正傳遞的學習也會更加簡單,並且允許視訊透過網路傳輸,而無需儲存活動或終止傳播導數。

Hinton 認為,FF 演算法在兩個方面都優於反向傳播:

一,FF 是解釋大腦皮質學習的更優模型;

二,FF 更低耗能,它使用極低功耗模擬硬體而不必求助於強化學習。

沒有切實證據可以證明,皮質傳播錯誤導數或儲存神經活動是用於後續的反向傳播。從一個皮層區域到視覺通路中較早的區域自上而下的連接,並不能反映出在視覺系統中使用反向傳播時所預期的自下而上連接。相反,它們形成了循環,其中神經活動經過兩個區域、大約六個皮層,然後回到它開始的地方。

作為學習序列的方式之一,透過時間的反向傳播可信度並不高。為了在不頻繁暫停的情況下處理感覺輸入流,大腦需要透過感覺來處理的不同階段傳輸數據,還需要一個可以即時學習的過程。管道後期表徵可能會在後續時間裡提供影響管道早期階段表徵的自上而下的信息,但感知系統需要實時進行推理和學習,而不是停止進行反向傳播。

這當中,反向傳播的另一個嚴重限制在於,它需要完全了解前向傳播執行的計算才能推出正確的導數。如果我們在前向傳播中插入一個黑盒,除非學習黑盒的可微分模型,否則反向傳播無法執行。

黑盒子不會對 FF 演算法的學習過程造成影響,因為不需要透過它進行反向傳播。

當沒有完美的正向傳播模式時,我們可以從多種強化學習方式中著手。其中的一個想法是,對權重或神經活動進行隨機擾動,並將這些擾動與由此產生的收益函數變化相關聯。但由於強化學習中存在高方差問題:當其他變數同時受到擾動時,很難看到擾動單一變數的效果。為此,要平均掉由所有其他擾動引起的噪聲,學習率需要與被擾動的變量數量成反比,這意味著強化學習的擴展性很差,無法與包含數百萬或數十億大型網絡的反向傳播競爭參數。

而 Hinton 的觀點是,包含未知非線性的神經網路不需要求助於強化學習。

FF 演算法在速度上可與反向傳播相媲美,其優點是可以在前向計算精確細節未知的情況下進行使用,還可以在神經網絡對順序資料進行管道處理時進行學習,無需儲存神經活動或終止傳播誤差導數。

不過,在功率受限的應用中,FF 演算法還未能取代反向傳播,例如對於在超大資料集上訓練的超大模型,也還是以反向傳播為主。

前向-前向演算法

前向-前向演算法是一種貪婪的多層學習程序,其靈感來自玻爾茲曼機和噪音對比估計。

用兩個前向傳播取代反向傳播的前向 後向傳播,兩個前向傳播在不同資料和相反目標上,以完全相同的方式彼此操作。其中,正向通道對真實資料進行操作,並調整權重以增加每個隱藏層的好感度,反向通道調整 "負資料 "權重以減少每個隱藏層的好感度。

本文探討了兩種不同的測量標準-神經活動的平方總和,以及負活動的平方總和。

假設某層的優度函數是該層中經過整流的線性神經元活動的平方和,學習目的是使其優度遠高於真實資料的某個閾值、並遠低於負數據的閾值。也即是說,在輸入向量正確分類為正資料或負資料時,輸入向量為正(即真實)的機率,可透過將邏輯函數σ 應用於優度減去某個閾值θ:

Hinton 最新研究:神經網路的未來是前向-前向演算法

其中,Hinton 最新研究:神經網路的未來是前向-前向演算法是層歸一化前隱藏單元j 的活動。負數據可由神經網路自上而下連接進行預測,也可由外部提供。

使用逐層最佳化函數學習多層表示

#很容易看出,可以透過使隱藏單元的活動平方和,對正資料高而對負資料低來學習單一隱藏層。但當第一個隱藏層活動被用作第二個隱藏層的輸入時,僅需適用第一個隱藏層的活動向量長度,即可區分正負數據,無需學習新的特徵。

為防止這種情況,FF 在將隱藏向量長度作為下一層的輸入之前,會對其進行歸一化,刪除所有用於確定第一個隱藏層中的信息,從而迫使下個隱藏層使用第一個隱藏層中神經元的相對活動訊息,該相對活動不受層規範化的影響。

也即是說,第一個隱藏層的活動向量具備一個長度和一個方向,長度用來定義該層的良性,只有方向被傳遞到下一層。

2

有關FF 演算法的實驗

反向傳播基線

#文中大部分實驗使用了手寫數字的MNIST 資料集:50000 個用於訓練,10000 個用於搜尋良好超參數期間的驗證,10000 張用於計算測試錯誤率。設計後具有幾個隱藏層的捲積神經網路可得約 0.6% 的測試誤差。

在任務"排列不變"版本中,神經網路沒有得到有關像素空間佈局的信息,若訓練開始前,所有訓練和測試圖像都受相同像素隨機變異影響,那麼神經網路的表現也會同樣良好。

對於這個任務「排列不變」版本,帶有幾個全連接隱層的整流線性單元(ReLU)的前饋神經網路測試誤差大約在1.4%,其中大約需要20個epochs 來訓練。使用各種正則器如 dropout(降低訓練速度)或標籤平滑(加快訓練速度),可將測試誤差降至 1.1% 左右。此外,還可透過將標籤的監督學習與非監督學習結合來進一步降低測試誤差。

在不使用複雜的正則化器的情況下,任務「排列不變」版本的測試誤差為1.4%,這表明了其學習過程與反向傳播一樣有效。

Hinton 最新研究:神經網路的未來是前向-前向演算法

圖1:用作負資料的混合影像

無監督FF 演算法

FF 有兩個主要問題需要回答:如果有良好的負資料來源,它是否會學習有效的多層表示來擷取資料結構?負數據從何而來?

先使用手工負資料來回答第一個問題。將對比學習用於監督學習任務的常見方法是,在不使用任何有關標籤資訊的情況下,將輸入向量轉換為表示向量,學習將這些表示向量簡單線性變換為使用的logits 向量,在softmax 中使用來決定標籤的機率分佈。儘管具有明顯的非線性,但這仍被稱為線性分類器,當中 logits 向量的線性變換學習是有監督的,因不涉及學習任何隱藏層,無需導數的反向傳播。 FF 可透過使用真實資料向量作為正例、並使用損壞的資料向量作為負例來執行此表徵學習。

為使FF 專注表徵形狀影像的長期相關性,我們需要創建具有不同長期相關性、但非常相似的短期相關性的負數據,這可以透過創建一個包含相當大的1 和0 區域的遮罩來完成。之後透過將一個數位影像與遮罩相加,為負資料建立混合影像和一個不同的數位影像來乘以遮罩的反面(圖 1)。

透過隨機位圖開始建立蒙版,在水平和垂直方向上使用[1/4, 1/2, 1/4]形式的濾鏡重複模糊影像,經反覆模糊的影像閾值設為0.5。使用四個隱藏層(每個隱藏層包含 2000 個 ReLU)訓練 100 個 epochs 後,若使用最後三個隱藏層的歸一化活動向量作為 softmax 輸入,可得到測試誤差為1.37%。

此外,不使用完全連接層、而使用局部接受域(沒有權重共享)可以提高性能,訓練60 個epochs 的測試誤差為1.16%,該架構使用的"對等歸一化"可防止任何隱藏單元極度活躍或永久關閉。

監督學習FF 演算法

在不使用任何標籤資訊的情況下學習隱藏表徵,對最終可能夠執行各種任務的大模型來說非常明智:無監督學習提取了一大堆特徵供各任務使用。但如果只對單任務感興趣,並想使用一個小模型,那麼監督學習會更適合。

監督學習中使用FF 的一種方法是在輸入中包含標籤,正資料由具有正確標籤的影像組成,而負資料由具有錯誤標籤的影像組成,標籤是二者間的唯一區別,FF 會忽略影像中與標籤不相關的所有特徵。

MNIST 影像中包含有黑色邊框,可減輕卷積神經網路的工作壓力。當使用標籤的 N 個表徵中的一個來取代前 10 個像素時,第一個隱藏層學習內容也會輕易顯現。在一個有4 個隱藏層的網路中,每個隱藏層包含2000 個ReLU,層與層之間的完全連接在60 個epochs 後,經MNIST 其測試誤差為1.36%,反向傳播要達到該測試性能需要大約20 個epochs。將 FF 學習率加倍並訓練 40 個 epochs,可得到稍差的測試誤差,為 1.46% 。

使用FF 訓練後,透過從包含測試數字和由10 個0.1 個條目組成的中性標籤的輸入開始,由網路進行一次前向傳遞來對測試數字進行分類,之後,除第一個隱藏層外,其他所有隱藏活動用作在訓練期間學習的softmax 輸入,這是一種快速次優的圖像分類方法。最好的方式是使用特定標籤作為輸入的一部分來運行網絡,並累積除第一個隱藏層以外的所有層的優點,在分別對每個標籤執行此操作後,選擇具有最高累積優度的標籤。在訓練過程中,來自中性標籤的前向傳遞被用來挑選硬負標籤,這使得訓練需要約⅓ 的 epochs 。

透過每個方向將影像抖動最多的兩個像素用於增加訓練數據,從而為每個影像獲得25 種不同的偏移,當中使用了像素空間佈局的知識,使其不再是排列不變的。這種以增強資料訓練同一個網路 500 個 epochs,測試誤差可達 0.64%,類似於使用反向傳播訓練的捲積神經網路。如圖 2,我們也在第一個隱藏層中得到了有趣的局部域。

Hinton 最新研究:神經網路的未來是前向-前向演算法

圖2:在抖動MNIST 上訓練的網路第一個隱藏層中100 個神經元的局部域,類別標籤顯示在每張影像前10 個像素中

使用FF 模擬自上而下的感知效應

目前,所有影像分類案例都使用了一次學習一層的前饋神經網絡,這意味著在後面層中學到的東西不會影響前面層的學習。這與反向傳播相比似乎是個主要弱點,克服這種明顯限制的關鍵是,將靜態圖像視為相當無聊的視頻,由多層遞歸神經網路處理。

FF 對正資料和負資料都在時間上向前運行,但每層活動向量由上一層和下一層在前一個time-steps 的歸一化活動向量確定(圖3)。對這種方法是否有效進行初步檢查,可以使用由靜態MNIST 影像組成的「視訊」輸入,該影像在每個時間幀中簡單重複,底層是像素影像,頂層是數位類別的N 個表徵之一,有兩個或三個中間層,每層有2000 個神經元。

在初步實驗中,循環網路運行了10 個time-steps,每個time-steps 的偶數層根據奇數層的標準化活動進行更新,奇數層根據新的標準化活動更新,其交替更新旨在避免雙相振盪,但目前似乎並不需要:在有一點阻尼的情況下,基於前一個time-steps 歸一化狀態,所有隱藏層的同步更新學習效果略好,這對不規則架構而言是有益的。因此,該處實驗使用了同步更新,新的預歸一化狀態被設定為上個預歸一化狀態的 0.3 ,加上了計算新狀態的 0.7。

Hinton 最新研究:神經網路的未來是前向-前向演算法

圖3:用於處理影片的循環網路

#如圖3,網路在MNIST 上訓練60 個epochs,對每個影像的隱藏層透過一次由下而上傳遞進行初始化。

此後,網路運行8 次帶有阻尼的同步迭代,透過對10 個標籤中的每個標籤執行8 次迭代,並選擇在第3 到5 次迭代中平均優度最高的標籤來評估網路的測試數據效能,測試誤差為1.31%。負資料透過網路一次前向傳遞以獲得所有類別的機率,根據機率按比例在不正確的類別間進行選擇生成,從而提高訓練效率。

使用空間上下文的預測

在循環網路中,其目標是令正資料的上層輸入和下層的輸入間保持良好的一致性,而負數據的一致性不好。具有空間局部連通性的網路中具備一個理想的屬性:自上而下的輸入將由圖像更大的區域決定,並且有更多處理階段的結果,因此它可以被視為對圖像的上下文預測,也即是基於影像局部域自下而上的輸入所應產出的結果。

如果輸入隨時間變化,自上而下的輸入會基於較舊的輸入數據,因此必須學習預測自下而上輸入的表徵。當我們反轉目標函數的符號,並針對正資料進行低平方活動,自上而下的輸入應學會抵銷正資料的自下而上輸入,這樣看來與預測編碼十分相似。層規範化意味著即使取消工作得很好,大量資訊也會被發送到下一層,如果所有預測誤差都很小,則會被歸一化放大。

使用上下文預測作為局部特徵並提取教學訊號學習的想法長期存在,但困難在於,如何在使用空間上下文、而非單側時間上下文的神經網路中工作。使用自上而下和自下而上輸入的共識作為自上而下和自下而上權重的教學信號,這種方法明顯會導致崩潰,而使用其他圖像的上下文預測來創建負數對的問題也沒有完全解決。其中,使用負數據而不是任何負內部表徵似乎是關鍵。

CIFAR-10 資料集測試

Hinton 接著在CIFAR‑10 資料集上測試了FF 演算法的效能,證明了FF 訓練出的網路在效能上能夠媲美反向傳播。

此資料集有 50,000 張 32x32 的訓練影像,每個像素有三個色彩通道,因此,每個影像都有 3072 個維度。由於這些圖像的背景複雜且高度可變,並且在訓練資料很有限的情況下無法很好地建模,除非隱藏層非常小,否則包含兩到三個隱藏層的全連接網路正在使用反向傳播進行訓練時會嚴重過度擬合,因此,目前幾乎所有研究的結果都是針對卷積網路的。

反向傳播和 FF 都是用權重衰減來減少過度擬合,Hinton 對兩種方法訓練的網路效能進行了比較。對於FF 訓練的網絡,測試方法是使用單一前向傳播,或者讓網絡對圖像和10 個標籤中的每一個運行10 次迭代,並在第4 到6 次迭代中累積標籤的能量(即當基於優度的錯誤最低時)。

結果,雖然 FF 的測試效能比反向傳播差,但只稍微差了一點。同時,二者間的差距不會隨著隱藏層的增加而增加。不過,反向傳播可以更快減少訓練誤差。

另外,在序列學習上,Hinton 也透過預測序列中下一個字元的任務證明了用 FF 訓練的網路比反向傳播更好。用 FF 訓練的網路可以產生自己的負數據,更符合生物學。

3

FF 演算法與玻爾茲曼機、GAN、SimCLR 的關係

Hinton 進一步將FF 演算法與其他現有的對比學習方法做了對比。他的結論是:

FF 是對玻爾茲曼機和簡單的局部優度函數的結合;

FF 不需要反向傳播來學習判別模型和生成模型,因此是GAN 的一個特例;

#在真實的神經網路中,與SimCLR 這類自監督對比方法相比,FF 能夠更好地衡量兩種不同表示之間的一致性。

FF 吸收了玻爾茲曼機的對比學習

在20 世紀80 年代初期,深度神經網路有兩種最被看好的學習方法,一個是反向傳播,另一個便是做無監督對比學習的玻爾茲曼機(Boltzmann Machines)。

玻爾茲曼機是一個隨機二元神經元網絡,具有成對連接,在兩個方向上具有相同的權重。當它在沒有外部輸入的情況下自由運行時,玻爾茲曼機通過將其設置為開啟狀態來重複更新每個二元神經元,其概率等於它從其他活動神經元接收到的總輸入的邏輯。這個簡單的更新過程最終從平衡分佈中採樣,其中每個全局配置(將二進制狀態分配給所有神經元)具有與其負能量成比例的對數機率。負能量只是該配置中所有神經元對之間權重的總和。

玻爾茲曼機中的神經元子集是“可見的”,二進位資料向量透過將它們夾在可見神經元上呈現給網絡,然後讓它重複更新其餘隱藏神經元的狀態。玻爾茲曼機器學習的目的是使網路運行時可見神經元上二元向量的分佈與資料分佈自由匹配。

最令人驚訝的是,自由運行的玻爾茲曼機在熱平衡時,可見神經元上顯示的數據分佈和模型分佈之間的Kullback-Liebler 散度具有一個非常簡單的導數(對於任何權重):

Hinton 最新研究:神經網路的未來是前向-前向演算法

#其中尖括號表示對熱平衡時隨機波動的期望以及第一項的數據。

這個結果令人興奮的地方在於,它給出了網路深處權重的導數,而無需顯式傳播誤差導數。它在清醒和睡眠兩個不同階段傳播神經活動。

但是,要在數學上使得學習規則最夠簡潔,代價會非常高。它需要一個深度玻爾茲曼機來接近其平衡分佈,那麼它就無法作為一種切合實際的機器學習技術,作為一種皮層學習模型也不可信:因為大型網絡在感知過程中沒有時間接近其平衡分佈。而且,沒有證據表明皮層連接的詳細對稱性,也沒有明顯的方法來學習序列。此外,如果權重的許多正更新後跟隨著大量負更新,且負階段對應於快速動眼睡眠,那麼玻爾茲曼機器學習程序就會失敗。

但儘管有上述缺點,玻爾茲曼機仍是一種很聰明的學習方法,因為它用兩個工作原理相同但在可見神經元上具有不同邊界條件的迭代設定(即限制在資料上vs. 不予限制),取代了反向傳播的前向和後向傳遞。

玻爾茲曼機可以看作是兩種想法的結合:

  1. 透過最小化真實資料上的自由能(free energy)和最大化負數據上的自由能來學習網路本身產生的數據。
  2. 使用 Hopfield 能量作為能量函數,並使用重複隨機更新從能量函數定義的玻爾茲曼分佈中取樣全域配置。

第一個關於對比學習的想法可以與許多其他能量函數一起使用。例如,使用前饋神經網路的輸出來定義能量,然後透過該網路使用反向傳播來計算能量對權重和可見狀態的導數。然後透過追蹤能量對可見狀態的導數來產生負數據。另外,負資料不必透過從能量函數定義的玻爾茲曼分佈中取樣資料向量來產生,不從均衡分佈中取樣,也能提高具有單一隱藏層的玻爾茲曼機的學習效率。

在Hinton 看來,等式2 的數學簡潔性以及隨機更新過程對所有可能的隱藏配置做貝葉斯積分,這個過程實在非常優雅,所以,用只需要傳播神經活動的兩個解決方案來代替反向傳播的前向反向傳播這種想法,仍然與馬可夫鏈蒙特卡羅(Markov Chain Monte Carlo)的複雜性糾纏在一起。

簡單的局部優度函數比二元隨機神經元網路的自由能更容易處理, FF 則對玻爾茲曼機的對比學習與這種函數做了結合。

FF 是GAN 的特例

#GAN(產生對抗網路)使用多層神經網路產生數據,並使用多層判別網路來訓練其生成模型,使其相對於生成模型輸出給出導數,且該導數是真實資料而非生成資料的機率

GAN 很難訓練,因為判別模型和生成模型相互對抗。 GAN 能產生非常漂亮的影像,但會遭受模式崩潰的困擾:可能會存在大片從不生成範例的影像空間區域。而且它使用反向傳播來適應每個網絡,因此我們很難看出如何在皮質中實現它們。

FF 可以看作是GAN 的特例,其中判別網路的每個隱藏層對輸入的正負都會自己做貪心決策,因此不需要反向傳播來學習判別模型和生成模型,因為它不是學習自己的隱藏表示,而是重複使用判別模型學習的表示。

產生模型唯一需要學習的是如何將這些隱藏的表示轉換為產生的數據,如果使用線性變換來計算 softmax 的對數,則不需要反向傳播。對兩個模型使用相同的隱藏表示的一個優點,是它消除了當一個模型相對於另一個模型學習太快時出現的問題,也避免了模式崩潰。

FF 比SimCLR 更容易衡量一致性

像是SimCLR 這類自監督對比方法,是透過最佳化一個目標函數來學習,該函數能夠支援對同一圖像的兩種不同剪裁的表示之間的一致性,以及來自兩個不同圖像的剪裁的表示之間的不一致性。

這類方法通常使用許多層來提取剪裁的表示,並透過反向傳播目標函數的導數來訓練這些層。如果兩種剪裁總是以完全相同的方式重疊,它們就不起作用,因為這樣它們就可以簡單地報告共享像素的強度並獲得完美的一致性。

但在真實的神經網路中,測量兩個不同表示之間的一致性並非易事,且沒辦法使用相同的權重同時提取兩種剪裁的表示。

而 FF 使用不同的方式來衡量一致性,這對真實的神經網路似乎更容易。

許多不同的資訊來源為同一組神經元提供輸入。如果來源就激活哪些神經元達成一致,將產生正幹擾,從而導致高平方活動,如果它們有分歧,則平方活動將降低。透過使用正幹擾來測量一致性比比較兩個不同的表示向量要靈活得多,因為不需要將輸入任意分成兩個單獨的來源。

SimCLR 這類方法的一個主要弱點是大量計算用於推導兩個影像裁剪的表示,但目標函數僅對錶示提供適度的約束,這限制了有關域的訊息的速率可以注入權重。為了使剪裁的表示更接近其正確的配對而非替代品,只需要 20 位元資訊。 FF 的問題更嚴重,因為它只需要 1 個位元來區分正例和負例。

解決這種約束貧乏的方法是將每一層分成許多小塊,並強制每個區塊分別使用其預歸一化活動向量的長度來決定正例和負例。然後,滿足約束所需的資訊隨區塊數線性縮放,這比在類似 SimCLR 的方法中使用更大的對比度集實現的對數縮放要好得多。

堆疊對比學習存在的問題

學習多層表示的一種無監督方法,是先學習一個隱藏層,該隱藏層捕獲資料中的某些結構,然後將該層中的活動向量視為資料、並再次應用相同的無監督學習演算法。這就是使用受限玻爾茲曼機 (RBM)或堆疊自編碼器(stacked autoencoder)學習多層表示的方式。

但它有一個致命的缺陷。假設我們透過隨機權重矩陣來映射一些隨機雜訊影像。產生的活動向量將具有由權重矩陣建立的相關結構,與資料無關。當將無監督學習應用於這些活動向量時,它會發現其中的一些結構,但這不會告訴系統任何關於外部世界的資訊。

最初的玻爾茲曼機器學習演算法旨在透過對比由兩個不同外部邊界條件引起的統計資料來避免此缺陷。這抵消了所有隻是網路其他部分的結果的結構。在對比正負資料時,無需限制佈線,也不要求剪裁之間具有隨機空間關係以防止網路作弊。這樣便很容易獲得大量相互連結的神經元組,每個神經元組都有自己的目標即區分正數據和負數據。

4

在未來非永生電腦上

FF 是最佳學習演算法

##Mortal Computation 是Hinton 近期的重要觀點之一(註:該術語尚未有公認的中文翻譯,暫譯為「非永生計算」)。

Hinton 最新研究:神經網路的未來是前向-前向演算法

他指出,目前的通用數位電腦被設計為忠實地遵循指令,人們認為讓通用電腦執行特定任務的唯一方法,就是寫一個程序,以極為詳細的方式準確指定要做的事。

主流的想法仍然是堅持軟體應該與硬體分離,以便相同的程式或相同的權重集可以在硬體的不同實體副本上運行。這就會使得程式或權重中所包含的知識變得「不朽」:即硬體死亡時,知識不會隨之消亡。

但這已經不再成立,研究界還未充分理解深度學習對電腦建構方式的長期影響。

軟體與硬體的分離是電腦科學的基礎之一,它的確帶來了很多好處,如可以研究程式的特性而不必關心電氣工程,而且它使得編寫一次程式、並將其複製到數百萬台電腦成為可能。但 Hinton 指出:

如果我們願意放棄這種“不朽”,就可以大大節省執行計算所需的能量以及製造執行計算的硬體的成本。

這樣一來,執行相同任務的不同硬體實例在連接性和非線性上就有可能發生較大的變化,並從學習過程中發現有效利用每個特定實例的未知屬性的參數值硬體。這些參數值僅對特定的硬體實例有用,因此它們執行的計算並非不朽,而是會隨硬體一起消亡。

將參數值複製到工作方式不同的不同硬體本身的確沒有任何意義,但我們可以用更生物學的方法可以將一個硬體學到的東西轉移到另一個硬體。對於影像中物件分類這樣的任務,我們真正感興趣的是將像素強度與類別標籤相關聯的函數,而不是在特定硬體中實現該函數的參數值。

函數本身可以透過使用蒸餾轉移到不同的硬體:訓練新硬體不僅給出與舊硬體相同的答案,而且輸出相同的機率對於不正確的答案。這些機率更豐富地表明了舊模型如何概括,而不僅僅是它認為最有可能的標籤。因此,透過訓練新模型來匹配錯誤答案的機率,我們正在訓練它以與舊模型相同的方式進行概括。這樣的神經網路訓練其實優化了泛化性,這個例子十分罕見。

如果想讓一個萬億參數神經網路只消耗幾瓦特,非永生運算可能是唯一的選擇。它的可行性取決於,我們能否找到一個可以在精確細節未知的硬體中高效運行的學習過程,在Hinton 看來,FF 演算法就是一個很有前途的方案,只是它在擴展到大型神經網路時的表現還有待觀察。#

論文最後,Hinton 指出了以下懸而未決的問題:

  • #FF 能否產生足夠好的圖像或影片生成模型來創建無監督學習所需要的負數據?
  • 如果負向傳遞在睡眠期間完成,正向和負向傳遞能否可以在時間上非常廣泛地區分開來?
  • 如果負相位被消除了一段時間,其效果是否與嚴重睡眠剝奪的破壞性影響相似?
  • 使用什麼哪一種 goodness 函數最好?本文在大多數實驗中使用活動平方和,但最小化正數據的活動平方和和最大化負數據的活動平方和似乎效果稍好。
  • 最好使用哪一種激活函數?目前只研究了 ReLU。使活化成為 t 分佈下密度的負對數是一種可能性。
  • 對於空間數據,FF 是否可以從影像不同區域的大量局部最佳化函數中獲益?如果可行,就能加快學習速度。
  • 對於順序數據,是否可以使用快速權重來模擬簡化的轉換器?
  • 一組試圖最大化其平方活動的特徵檢測器和一組試圖最小化其平方活動的約束違反檢測器,能否支援FF?
#

以上是Hinton 最新研究:神經網路的未來是前向-前向演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!