谷歌 “權重無關” 神經網路開源了!
【新智元導讀】
谷歌大腦備受關注的 “權重無關神經網路” 終於開源了!其關鍵思想是透過不再強調權重來搜尋網路結構,僅使用隨機共享的權重,也可以執行各種任務的神經網路。終於可以不用調參煉丹了嗎?快來複現看看!
神經網路訓練中 “權重” 有多重要不言而喻。但谷歌前段時間發表的研究表明,即使拋棄神經網路權重訓練,使用隨機共享權重,也可以執行各種任務。
他們提出一種新的神經網路結構的搜尋方法 ——
權重無關神經網路(Weight Agnostic Neural Networks,WANN)
,其關鍵思想是
透過不再強調權重來搜尋網路結構
。
今天,該研究的兩位作者、谷歌大腦學生研究員 Adam Gaier 和研究科學家 David Ha 在 Google AI 部落格上撰文,介紹了該研究的核心思想和重要細節,並宣佈 WANN 的程式碼已經在 GitHub 上開源,以便讓廣泛的研究社群重現 WANN 實驗。
開源地址:
告別調參煉丹,使用隨機共享權重足矣!
當訓練神經網路完成一項給定任務時,無論是影象分類還是強化學習,通常都需要調優與網路中每個連線相關的一組權重。另一種已經取得實質性進展的成功的神經網路建立方法是
神經架構搜尋
,它利用人工設計的元件 (如卷積網路元件或 transformer blocks) 來構建神經網路架構。
研究表明,利用這些元件構建的神經網路結構,如深度卷積網路,對影象處理任務具有很強的歸納偏差,甚至可以在權重隨機初始化的情況下執行。雖然神經架構搜尋提供了一些新的方法,可以為當前的任務域安排具有已知歸納偏差的手工工程元件,但在
自動發現具有此類歸納偏差的新神經網路架構
(用於不同的任務域) 方面幾乎沒有進展。
我們可以用一個先天和後天的例子作為類比。正如生物學中某些從出生起就具有反捕食行為的物種一樣,他們無需學習就能執行復雜的運動和感官任務,或許我們可以構建一個不需要訓練就能很好地完成任務的神經網路。當然,這些自然物種 (作為類比,人工神經網路) 透過訓練可以得到進一步的改善,但它們即使不學習也能執行任務的能力表明,它們包含使它們非常適合於這些任務的偏差。
在 “權重無關神經網路”(WANN) 論文中,我們提出了搜尋具有這類偏差的網路的第一步:
即使使用隨機共享的權重,也可以執行各種任務的神經網路架構
。
我們在這項工作中的動機是,在不學習任何權重引數的情況下,僅神經網路架構能在多大程度上編碼給定任務的解決方案。透過探索這樣的神經網路架構,我們提出了一種無需學習權重引數就能在其環境中執行良好的智慧體。
此外,為了促進該領域的進步,我們還開放了原始碼,以便更廣泛的研究社群重現我們的 WANN 實驗。
左圖:一個手工設計的、完全連線的深度神經網路,有 2760 個權重連線。利用一種學習演算法,我們可以求解 2760 個權重引數的集合,使該網路能夠執行一個雙足步行任務 (BipedalWalker-v2)。
右圖:一個權重無關的神經網路架構,只有 44 個連線,但同樣能夠執行雙足步行任務。與完全連線網路不同的是, WANN 仍然可以執行任務,而不需要訓練每個連線的權重引數。實際上,為了簡化訓練,WANN 被設計成在每個權重連線的值相同或共享時執行,甚至就算共享權重引數是隨機取樣的,也會起作用。
搜尋權重無關神經網路
我們從一組最小的神經網路架構候選物件開始,每個候選物件只有很少的連線,並使用一個完善的拓撲搜尋演算法 (NEAT),透過逐個地新增單個連線和單個節點來演化架構。
WANN 背後的關鍵思想是透過不再強調權重來搜尋架構。與傳統的神經架構搜尋方法不同,新架構的所有權重引數都需要使用學習演算法進行訓練,我們採用了一種更簡單、更有效的方法。
在搜尋過程中,首先在每次迭代中為所有候選架構分配一個共享權重值,然後進行最佳化,以便在更寬的共享權重值範圍內執行良好。
用於搜尋網路拓撲空間的運算元
左:一個最小的網路拓撲結構,輸入和輸出僅部分連線。中間:網路的改變有三種方式:(1) 插入節點:透過分割現有連線插入新節點。(2) 新增連線:透過連線兩個先前未連線的節點來新增一個新連線。(3) 更改啟用:重新分配隱藏節點的啟用函式。右:可能的啟用函式 (線性,階躍,正弦,餘弦,高斯,tanh, sigmoid,inverse,絕對值,ReLU)
除了探索一系列與權重無關的神經網路之外,重要的是還要尋找只需要複雜到它們所需的程度的網路架構。我們利用多目標最佳化技術 (multi-objective optimization),同時對網路的效能和複雜度進行最佳化。
權重無關神經網路搜尋的概述,及其相應的網路拓撲空間搜尋運算元。
訓練 WANN 架構
與傳統網路不同的是,我們可以透過簡單地找到最佳的單個共享權重引數來訓練 WANN,從而最大限度地提高其效能。在下面的例子中,可以看到我們的架構 (在某種程度上) 使用恆定的權重來完成一個 swing-up cartpole 任務:
WANN 在不同的權重引數下執行 swing-up cartpole 任務,也使用微調的權重引數。
正如我們在上面的圖中看到的,雖然 WANN 可以使用一系列共享權重引數來執行其任務,但是其效能仍然無法與學習每個連線的權重的網路相比較。
如果我們想進一步提高它的效能,我們可以
使用 WANN 架構和最佳共享權重作為起點,使用學習演算法微調每個連線的權重
,就像通常訓練神經網路的方法一樣。以網路架構的權重無關特性為出發點,透過學習微調網路的效能,可能有助於為理解動物如何學習提供有洞察力的類比。
透過在效能和網路簡單性方面的多目標最佳化,我們的方法找到了一個簡單的 WANN,用於賽車任務,它不需要顯式地訓練網路的權重。
使用隨機權重的網路架構不僅易於訓練,還具有其他優勢。例如,透過使用相同 WANN 架構的副本,但是為 WANN 的每個副本都分配不同的權重值,我們可以為同一任務建立多個不同模型的集合。這種集合通常比單個模型能獲得更好的效能。下面是一個 MNIST 分類器處理隨機權重的例子,可以說明這一點:
MNIST 分類器進化為處理隨機權重。
具有隨機初始化的傳統網路在 MNIST 上的精度約為 10%,但這種隨機權重的特殊網路架構在 MNIST 上的精度 (> 80%) 明顯優於隨機初始化網路。
當使用一組 WANNs,為每個 WANN 分配一個不同的共享權重時,精度提高到 > 90%。
即使不使用整合方法,也可以將網路中的權重值壓縮到一個網路,從而使網路能夠快速調整。快速調整權重的能力可能在持續的終身學習 (lifelong learning) 中很有用,在這種學習中,agent 在整個生命週期中獲得、適應和轉移技能。這使得 WANN 特別適合利用 Baldwin 效應, Baldwin 效應是一種進化壓力,即獎勵那些傾向於學習有用行為的個體,而不會陷入 “learning to learn” 這個昂貴的計算陷阱。
結論
我們希望這項工作可以作為一個墊腳石,幫助發現新的基礎神經網路元件,如卷積網路,其發現和應用已經在深度學習領域取得了令人難以置信的進展。自卷積神經網路被發現以來,研究界可用的計算資源顯著增加。如果我們將這些資源投入到自動發現神經網路架構中,並希望實現網路架構的突破性改進,那麼我們相信,使用新的構建塊來搜尋也是值得的。
論文地址:
https://
weightagnostic。github。io
/
開源傳送門:
https://
github。com/google/brain
-tokyo-workshop/tree/master/WANNRelease