每日最新頭條.有趣資訊

谷歌新研究:探索權重無關神經網絡,已開放相關源代碼

新智元報導

來源:Google TensorFlow

文 / Adam Gaier 學生研究員 和 David Ha 研究員

【新智元導讀】在“權重無關神經網絡”(Weight Agnostic Neural Networks, WANN) 中,谷歌踏出了第一步:使用隨機共享權重執行各種任務的神經網絡架構。這項工作旨在探索:針對給定任務,當不學習任何權重參數時,神經網絡架構編碼解決方案的表現如何。此外,為促進此研究領域的交流,谷歌還開放了相關源代碼,以便更多研究社區能夠重現 WANN 實驗。來新智元 AI 朋友圈說說你的觀點~

無論是圖像分類還是強化學習,在通過訓練神經網絡來完成一項給定任務時,都需要對神經網絡中每個連接的權重進行調優。

而在創建有效的神經網絡時,另一種行之有效的方法是神經架構搜索(通過手工構建的組件,如卷積網絡組件或代碼塊,來搭建神經網絡架構)。研究表明,利用這些組件搭建的神經網絡架構(如深度卷積網絡)在圖像處理任務方面具有很強的歸納偏置(inductive biases),甚至能在隨機初始化權重的情況下執行這些任務。這種神經架構搜索提供的新方法雖然可用於為當前的任務域安排具有已知歸納偏置的人工設計組件,但對自動發現具有此類歸納偏置的 新 神經網絡架構(用於各類任務域)則表現效果甚微。

注:神經架構搜索

https://ai.googleblog.com/2017/05/using-machine-learning-to-explore.html

卷積網絡組件

https://ai.googleblog.com/2018/03/using-evolutionary-automl-to-discover.html

隨機初始化

https://arxiv.org/abs/1711.10925

我們可以以這些組件的先天和後天為例進行類比。在生物學領域,某些早熟性物種 (precocial species) 天生具有反捕食行為 (anti-predator behaviors),它們無需學習就能進行複雜的運動和感官活動。我們或許能以此構建無需訓練就能出色完成任務的神經網絡。顯然這些自然物種(類比人工神經網絡)通過訓練可以進一步強化,但這種即使不學習也能執行任務的能力表明,它們包含非常適合這些任務的偏置。

在“權重無關神經網絡”(Weight Agnostic Neural Networks, WANN) 中,我們踏出了專門搜索具有此類偏置的網絡的第一步:使用隨機共享權重執行各種任務的神經網絡架構。這項工作旨在探索:針對給定任務,當不學習任何權重參數時,神經網絡架構編碼解決方案的表現如何。通過探索此類神經網絡架構,我們提出一種無需學習權重參數就能在其環境中出色執行任務的智能體。此外,為促進此研究領域的交流,我們還開放了相關源代碼,以便更多研究社區能夠重現我們的 WANN 實驗。

注:權重無關神經網絡

https://weightagnostic.github.io/

左圖:經人工設計且擁有 2760 個權重連接的全連接深度神經網絡。借助某種學習算法,我們可以求解出 2760 個權重參數的集合,使該網絡能夠執行 BipedalWalker-v2 任務。

右圖:僅有 44 個連接,但能夠執行相同 Bipedal Walker 任務的權重無關神經網絡架構。不同於全連接網絡,此 WANN 無需訓練每個連接的權重參數便能執行該任務。實際上,為簡化訓練,此 WANN 只會在每個權重連接的值相同或共享時 執行任務,即使採用隨機采樣的共享權重參數也不受影響。

注:BipedalWalker-v2

https://gym.openai.com/envs/BipedalWalkerHardcore-v2/

搜索 WANN

我們從一組最小的神經網絡架構候選對象開始(每個候選對象只有很少的連接),使用完善的拓撲搜索算法 (topology search algorithm, NEAT),進而通過逐個添加單連接和單節點來演化架構。WANN 背後的核心理念是通過弱化權重的重要性來進行架構搜索。與傳統的將所有權重參數都通過學習算法進行訓練得到不同,我們採用了一種更簡單有效的方法。在搜索過程中,我們先在每次迭代時為所有候選架構分配一個共享權重值,然後對其進行優化,以期通過更大範圍的共享權值來獲得更好的表現。

注:拓撲搜索算法

用於搜索網絡拓撲空間的算子

左圖:最小的網絡拓撲結構,輸入和輸出僅部分連接。

中間圖:網絡的三種更改方式:

(1) 插入節點:通過拆分現有連接插入新節點。

(2) 添加連接:通過連接兩個先前未連接的節點來添加新連接。

(3) 更改激活:重新分配隱藏節點的激活函數。

右圖:支持的激活函數(線性函數、階躍函數、正弦函數、餘弦函數、高斯函數、正切函數、Sigmoid 函數、反函數、絕對值函數、ReLU 函數)

除了探索各類權重無關神經網絡之外,我們還必須尋找能滿足所需的複雜網絡架構。為此,我們利用多目標優化 (multi-objective optimization) 技術同時優化網絡的性能和複雜度。

權重無關神經網絡搜索以及用於搜索網絡拓撲空間的相應算子概覽

訓練 WANN 架構

與傳統神經網絡不同的是,我們只需找到單個最優性能的最佳共享權重參數,便能輕鬆訓練 WANN。如下例所示,在使用恆定權重執行 swing-up cartpole 任務時,我們的架構可以發揮一定作用:

注:Swing-up Cartpole 任務

在不同權重參數下執行 swing-up cartpole 任務 WANN,以及使用微調權重參數的 WANN

如上圖所示,雖然 WANN 可使用一系列共享權重參數來執行任務,但其性能通常仍無法與學習每個連接權重的神經網絡相比。

如果想進一步提高其性能,我們可以先使用 WANN 架構和最佳共享權重, 然後像神經網絡的常規訓練方法一樣, 通過學習算法微調每個連接的權重。這種先使用網絡架構的權重無關特性,然後通過學習微調其性能的方法有助於為研究動物的學習方式提供有參考價值的類比。

注:動物的學習方式

通過針對性能和網絡簡單性使用多目標優化,我們找到了一種適用於像素賽車任務(https://gym.openai.com/envs/CarRacing-v0/)的簡單 WANN,該網絡無需顯式權重訓練即可出色執行任務

使用隨機權重的神經網絡架構不僅能執行任務,而且還具有其他優勢。例如,通過使用相同 WANN 架構的副本,但為 WANN 的每個副本分配不同的權重值,我們可以為同一任務創建多個不同模型組成的集合。相較於單個模型,此類集合通常具有更好的性能。為證明這一點,我們給出下方 MNIST 分類器使用隨機權重的演化示例:

注:MNIST

http://yann.lecun.com/exdb/mnist/

MNIST 分類器使用隨機權重的演化過程

傳統隨機初始化的網絡在 MNIST 上的精度約為 10%,但針對 MNIST,這種使用隨機權重的特殊網絡架構卻能實現精度高於隨機初始化網絡(高於 80%)。當使用 WANN 集合並為其中每個 WANN 分配不同的共享權重時,精度甚至能夠升至 90% 以上。

即使不使用集合方法,我們也可將網絡中權重值的數量壓縮為 1,從而能夠快速調整網絡。在持續的終身學習中,快速微調權重的能力也有助於智能體在整個生命周期內獲得、適應和轉移技能。這使得 WANN 特別適合鮑德溫效應 (Baldwin effect),這種進化壓力會傾向於學習有用行為的個體,避免陷入“學會學習”這個代價高昂的計算陷阱。

注:進化壓力

http://www.cs.toronto.edu/~hinton/absps/maynardsmith.pdf

結論

我們希望以此項工作為基石,促進發現更多新的基礎神經網絡組件,如卷積網絡,其發現和應用已為深度學習領域做出巨大貢獻。自發現卷積神經網絡以來,研究領域可用的計算資源有了顯著增加。如果此類資源的增加能促進網絡架構的自動發現並有望實現網絡架構的革命性改進,我們認為,使用新的構建塊(而不僅僅是其安排)進行搜索也值得一試。

如果您有興趣了解這項工作的更多相關內容,歡迎閱讀我們的互動文章(或離線閱讀 pdf 版本的論文)。除了將這些實驗面向研究社區開源之外,我們還公開了一個名為 PrettyNEAT 的通用 Python 實現,旨在幫助有興趣的讀者從基本原理開始了解神經網絡。

注:互動文章

https://weightagnostic.github.io/

pdf 版本論文

https://arxiv.org/abs/1906.04358

PrettyNEAT

https://github.com/google/brain-tokyo-workshop/tree/master/WANNRelease/prettyNEAT

獲得更多的PTT最新消息
按讚加入粉絲團