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

ai科技評論 發佈 2022-12-02T15:30:11.281888+00:00

在最近的 NeurIPS 2022 大會上,Hinton 發表了題目為《The Forward-Forward Algorithm for Training Deep Neural Networks》的特邀演講,論述了前向算法相比於反向算法的優越性。

在未來萬億參數網絡只消耗幾瓦特的新型硬體上,FF 是最優算法。

作者 | 李梅、黃楠

編輯 | 陳彩嫻

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

圖靈獎得主、深度學習先驅 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》已經放在了其多倫多大學的主頁上:

論文地址: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 算法還未能取代反向傳播,比如對於在超大數據集上訓練的超大模型,也還是以反向傳播為主。

前向-前向算法

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

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

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

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

其中,

是層歸一化前隱藏單元 j 的活動。負數據可由神經網絡自上而下連接進行預測,也可由外部提供。

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

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

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

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

2 有關 FF 算法的實驗

反向傳播基線

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

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

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

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

圖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,我們也在第一個隱藏層中得到了有趣的局部域。

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

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

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

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

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

圖 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 散度具有一個非常簡單的導數(對於任何權重):

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

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

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

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

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

  1. 通過最小化真實數據上的自由能(free energy)和最大化負數據上的自由能來學習網絡本身產生的數據。

  1. 使用 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 看來,FF 算法就是一個很有前途的方案,只是它在擴展到大型神經網絡時的表現還有待觀察。

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

  • FF 能否生成足夠好的圖像或視頻生成模型來創建無監督學習所需要的負數據?

  • 如果負向傳遞在睡眠期間完成,正向和負向傳遞能否可以在時間上非常廣泛地區分開來?

  • 如果負相位被消除了一段時間,其效果是否與嚴重睡眠剝奪的破壞性影響相似?

  • 使用什麼哪種 goodness 函數最好?本文在大多數實驗中使用活動平方和,但最小化正數據的活動平方和和最大化負數據的活動平方和似乎效果稍好一些。

  • 最好使用哪種激活函數?目前只研究了 ReLU。使激活成為 t 分布下密度的負對數是一種可能性。

  • 對於空間數據,FF 是否可以從圖像不同區域的大量局部優化函數中獲益?如果可行,就能加快學習速度。

  • 對於順序數據,是否可以使用快速權重來模擬簡化的轉換器?

  • 一組試圖最大化其平方活動的特徵檢測器和一組試圖最小化其平方活動的約束違反檢測器,能否支持 FF?

未經「AI科技評論」授權,嚴禁以任何方式在網頁、論壇、社區進行轉載!

公眾號轉載請先在「AI科技評論」後台留言取得授權,轉載時需標註來源並插入本公眾號名片。

關鍵字: