別再煉丹了!谷歌大腦提出“權重無關”神經網路,無需調參訓練
神經網路訓練中“權重”有多重要不言而喻。但現在,可以把權重拋諸腦後了。谷歌大腦最新研究提出“權重無關神經網路”,透過不再強調權重來搜尋網路結構,所搜尋的網路無需權重訓練即可執行任務!
還在為 “調參煉丹” 感到痛苦嗎?是時候重視下 神經網路結構 了!
前不久,新智元報導了谷歌給出首個神經網路訓練理論的證明。這一研究在訓練深度神經網路被戲謔為 “ 調參煉丹 ” 的當下,猶如一道希望的強光,射進還被排除在 “科學” 之外的深度學習領域,激動人心。
而今天, 谷歌 再向煉丹術發起 “攻擊”:提出一種神經網路結構的搜尋方法,該方法 無需任何顯式的權值訓練即可執行任務 !
arXiv 地址:
這項研究的作者之一 David Ha 發表 Twitter 表示:
這項研究的關鍵思想是透過不再強調權重來搜尋網路結構。在搜尋過程中,網路每次在 rollout 的時候會分配一個共享的權重值,並進行最佳化,這就讓它能夠在很大的權重值範圍內良好執行。這樣做的好處就是可以繞過高昂的內部訓練迴圈代價。
這項工作是由 Adam Gaier 所領導的,他在東京的谷歌大腦實習了 3 個月。特別有意思的是,這個研究想法是他在六本木喝了幾杯酒之後產生的。
Adam Gaier是一名AI研究員,在教學和研究方面具有廣泛的國際經驗,在生物啟發的計算、機器人和機器學習方面有很強的背景。目前的研究主要集中在機器學習和進化計算的整合上,其目標是將人工智慧應用於現實世界的設計和控制問題。
Adam Gaier的經歷也頗為神奇,LinkedIn資料顯示,他本科在英國里士滿美國國際大學讀資訊系統專業,後又在英國薩塞克斯大學和德國波恩-萊茵-錫格應用技術大學分別獲得碩士學位,攻讀自主系統專業。
而在2005年本科畢業到2011年再次回到學校的期間,有兩年半的時間Adam Gaier在北京鳥巢餐廳擔任餐廳經理、市場及 IT 總監;然後在清華大學國際學校,電腦科學系系主任。2019年1月至今他在谷歌大腦東京部門擔任實習研究員。
接下來,新智元帶來這篇論文的詳細解讀:
無需學習權重,“一出生”就很秀的神經網路
在生物學中, 早成物種(precocial species) 是 指那些 從出生的那一刻起就具有某些能力的物種。有證據表明,蜥蜴和蛇的幼仔一出生就具備了躲避捕食者的行為,鴨子剛孵化後不久就能自己游泳和進食。相反,我們在訓練AI智慧體執行任務時,通常要選擇一個我們認為適合為任務編碼策略的神經網路架構,並使用學習演算法找到該策略的權重引數。
在這項工作中,我們受到自然界進化的早成行為的啟發,開發了 具有自然就能夠執行給定任務的架構的神經網路,即使其權重引數是隨機取樣的 。透過使用這樣的神經網路架構,AI智慧體可以在不需要學習權重引數的情況下在其環境中執行良好。
權重無關神經網路的例子:兩足步行者(左),賽車(右)
我們透過 不再強調權重(deemphasizing weights) 來搜尋神經網路架構。在每次rollout,網路都被分配一個單獨的共享權重值來代替訓練。在很大範圍的權重值上為預期效能進行最佳化的網路結構仍然能執行各種任務,而無需權重訓練。
數十年的神經網路研究為各種任務領域提供了具有很強歸納偏差的構建塊。卷積網路特別適合於影像處理。例如,Ulyanov等人證明,即使是一個隨機初始化的CNN也可以用作影像處理任務(如超解析度和影像修復)的手工預處理。Schmidhuber等人證明,具有學習線性輸出層的隨機初始化LSTM可以預測傳統RNN失效的時間序列。self-attention和capsule網路的最新發展擴充套件了構建模組的工具包,用於為各種任務建立具有強烈歸納偏差的架構。
被隨機初始化的CNN和LSTM的內在能力所吸引, 我們的目標是搜尋與權重無關的神經網路(weight agnostic neural networks),這種結構具有很強的歸納偏差,已經可以使用隨機權重執行各種任務。 MNIST分類網路演化為使用隨機權重
使用隨機權重的網路架構不僅易於訓練,而且還提供了其他優勢。例如,我們可以為同一個網路提供一個(未經訓練的)權重集合來提高效能,而不需要顯式地訓練任何權重引數。
具有隨機初始化的傳統網路在MNIST上的精度約為10%,但這種隨機權重的特殊網路架構在MNIST上的精度(> 80%)明顯優於隨機初始化網路。在沒有進行任何權重訓練的情況下,當我們使用一組未經訓練的權重時,精度提高到> 90%。
為了尋找具有強歸納偏差的神經網路架構,我們提出透過降低權重的重要性來搜尋架構。
具體實現方法是:
(1)為每個網路連線分配一個共享權重引數;
(2)在此單一權重引數的大範圍內評估網路。
我們沒有最佳化固定網路的權重,而是最佳化在各種權重範圍內效能良好的網路結構。我們證明了,我們的方法能夠產生可以預期用隨機權重引數執行各種連續控制任務的網路。
作為概念證明,我們還將搜尋方法應用於監督學習領域,發現它可以找到即使沒有顯式的權重訓練也可以在MNIST上獲得比chance test準確率高得多(∼92%)的網路。
我們希望對這種權重無關的神經網路的demo將鼓勵進一步研究探索新的神經網路構建塊,不僅具有有用的歸納偏差,而且還可以使用不一定限於基於梯度的方法的演算法來學習。
Demo:
一個執行CartpoleSwingup任務的權重無關神經網路。請點選本文原文連結,拖動滑塊控制權重引數,觀察不同共享權重引數下的效能。你也可以在這個demo中微調所有連線的各個權重。
關鍵技術解析:權重無關神經網路搜尋
建立編碼解決方案的網路架構是一個與神經結構搜尋(NAS)所解決的問題完全不同的問題。NAS技術的目標是產生經過訓練的架構,其效能優於人類設計的架構。從沒有人聲稱這個解決方案是網路結構固有的。NAS建立的網路“可訓練”——但沒有人認為這些網路在不訓練權重的情況下就能解決任務。 權重就是解決方案;所發現的結構僅僅是一個更好的承載權重的基底 。
要生成自己編碼解決方案的架構,就必須將權重的重要性降到最低。與其用最優權重來判斷網路的效能,不如根據隨機分佈的權重來衡量網路的效能。用權重取樣代替權重訓練可以確保效能僅是網路拓撲結構的產品。
不幸的是,由於高維數,除了最簡單的網路外,可靠第對權重空間進行取樣是不可行的。雖然 維數災難 (curse of dimensionality)阻礙了我們有效地取樣高維權重空間,但是透過 強制所有權重共享 (weight-sharing),權重值的數量被減少到一個。系統地對單個權重值進行取樣是直接且高效的,這使我們能夠在少數試驗中近似網路效能,然後可以使用這種近似來驅動搜尋更好的架構。權重無關的神經網路搜尋概述
在探索神經網路拓撲空間時,權值無關的神經網路搜尋避免了權重訓練,方法是在每次rollout時取樣一個共享的權值。網路將透過多次rollout進行評估。在每次rollout,都會為單個共享權重分配一個值,並記錄試驗期間的累計獎勵。然後根據網路的效能和複雜度對網路群體進行排序。然後,機率性地選擇排名最高的網路,並隨機變化以形成新的群體,然後重複這個過程。
搜尋權重無關神經網路(weight agnostic neural networks, WANNs)的過程可以概況如下(見上圖):
- 建立最小神經網路拓撲的初始群體(population)。
- 透過多個rollout評估每個網路,每個rollout分配一個不同的共享權重值。
- 根據網路的效能和複雜度對其進行排名。
- 透過改變排名最高的網路拓撲結構來建立新的population。
然後,演算法從(2)開始重複,生成複雜度逐漸增加的與權重無關的拓撲結構,這些拓撲結構在連續的幾代中表現得更好。
拓撲搜尋(Topology Search)
用於神經網路拓撲搜尋的運算子(operators)受到神經進化演算法NEAT的啟發。在NEAT中,拓撲和權重值同時最佳化,這裡我們忽略了權重值,只應用拓撲搜尋運算子。
用於搜尋網路拓撲空間的運算子
左:一個最小的網路拓撲結構,輸入和輸出僅部分連線。
中間:網路以三種方式進行改變:
(1)插入節點:透過拆分現有連線插入新節點。
(2)新增連線:透過連線兩個以前未連線的節點來新增一個新連線。
(3)變更啟用:重新分配隱藏節點的啟用函式。
右:在[2, 2]範圍內可能的啟用函式(線性、階躍、正弦、餘弦、高斯、tanh、sigmoid、inverse、絕對值、ReLU)。
實驗設定與結果
對連續控制權重無關神經網路(WANN)的評估在三個連續控制任務上進行。
第一個任務:CartPoleSwingUp, 這是一個典型的控制問題,在給定的推車連桿系統下,杆必須從靜止位置擺動到直立位置然後平衡,而推車不會越過軌道的邊界。這個問題無法用線性控制器解決。每個時間步長上的獎勵都是基於推車與軌道邊緣的距離和杆的角度決定的。
第二個任務是BipedalWalker-v2 , 目的是引導一個雙腿智慧體跨越隨機生成的地形。獎勵是針對成功行進距離,以及電動機扭矩的成本確定。每條腿都由髖關節和膝關節控制,響應24個輸入。與低維的CartPoleSwingUp任務相比,BipedalWalker-v2的可能連線數更多更復雜,WANN需要選擇輸入到輸出的路線。
第三個任務CarRacing-v0 是一個從畫素環境中自上而下行駛的賽車問題。賽車由三個連續命令(點火,轉向,制動)控制,任務目標是在一定時限內行駛過儘量長的隨機生成的道路。我們將任務的畫素解釋元素交給經過預訓練的變分自動編碼器(VAE),後者將畫素表示壓縮為16個潛在維度,將這些資訊作為網路的輸入。這個任務測試了WANN學習抽象關聯的能力,而不是編碼輸入之間的顯式幾何關係。
在實驗中,我們比較了以下4種情況下100次試驗的平均表現:
1.隨機權重:從μ(-2,2)範圍內抽取的單個權重。
2.隨機共享權重:從μ(- 2,2)範圍內中抽取的單個共享權重。
3.調整共享權重:在μ(-2,2)範圍內表現最好的共享權重值。
4.調整權重:使用基於人口資訊的強化調整的個體權重
連續控制任務的隨機抽樣和訓練權重的效能
我們比較了過往研究中常用的標準前饋網路的最佳權重無關網路架構的平均效能(測試次數超過100次)。透過均勻分佈取樣的共享權重來測量其效能,從結果中可以觀察到網路拓撲的固有偏差。透過調整此共享權重引數,可以測出其最佳效能。為了便於與基線架構進行比較,允許網路獲得獨特的權重引數,並對其進行調整。
結果如上表所示,作為基線的傳統固定拓撲網路在經過大量調整後只產生有用行為,相比之下,WANN甚至可以使用隨機共享權重。雖然WANN架構編碼強烈偏向解決方案,但並不完全獨立於權重值,當單個權重值隨機分配時,模型就會失敗。WANN透過編碼輸入和輸出之間的關係來起作用,因此,雖然權重大小並不重要,但它們的一致性,特別是符號的一致性,是非常重要的。單個共享權重的另一個好處是,調整單個引數變得非常容易,無需使用基於梯度的方法。
表現最佳的共享權重值會產生令人滿意的行為: 連桿系統在幾次擺動之後即獲得平衡,智慧體沿道路有效行進,賽車實現高速過彎。 這些基本行為完全在網路架構內編碼。雖然WANN能夠在未經訓練的情況下使用,但這並不能妨礙其在訓練權重後達到類似的最佳效能。
由於網路規模小到可以解釋,我們可以透過檢視網路圖來了解其執行機制(見上圖)。解決“杆車實驗”的WANN網路開發過程就體現了在網路架構內對關係的編碼方式。在早期時代的網路空間中,不可避免的需要使用隨機探索的方式。
網路在第32代時形成初步架構,能夠支援比較一致的任務表現,在軌道某某位置的逆變器可以防止小車衝出軌道,軌道中間為0點,左邊為負,右邊為正。在小車處於負區域時對其施加正方向作用力,反之亦然,網路透過編碼在軌道中間設定一個強力牽引器。最終經調整權重,在1024代達成最佳效能。
我們可以使用最佳共享權重作為起點,由共享權重引數得到偏移量,輕鬆訓練網路的每個單獨的權重連線。可以使用基於人口資訊的強化對權重進行微調,但原則上可以使用任何其他學習演算法。
為了在訓練分佈之外視覺化智慧體的效能,可以使用比原始設定更多更雜初始條件。
隨著搜尋過程的繼續,有些控制器能夠在直立位置保持更長時間,到第128代時,這個保持時間已經長到能夠讓杆保持平衡。雖然在可變權重條件下,這種更復雜的平衡機制在可靠性上低於擺動和居中行為,但更可靠的行為可以確保系統恢復,並再次嘗試直到找到新的平衡狀態。值得注意的是,由於這些網路對關係進行編碼,並依賴於相互設定的系統之間的張力,因此網路的行為與廣泛的共享權重值保持一致。
在BipedalWalker-v2和CarRacing-v0任務中,WANN網路控制器在簡單性和模組性方面的表現同樣出色。前者僅使用了25種可能輸入中的17種,忽略了許多LIDAR感測器資訊和膝蓋運動速度資料。 WANN架構不僅可以在未訓練單個權重的情況下完成任務,而且僅使用了210個連線,比常用拓撲網路架構(SOTA基線方法中使用了2804個連線)低一個數量級。
在賽車任務實驗中,WANN架構簡單的優勢也很突出。只需要稀疏連線的雙層網路和單個權重值,就能編碼合格的駕駛行為。雖然SOTA基線方法也給出了預訓練RNN模型的隱藏狀態,但除了VAE對其控制器的表示外,我們的控制器僅在VAE的潛在空間上執行。儘管如此,WANN還是能夠開發出一種前饋控制器,可以獲得效能相當的分數。未來我們將探索如何從搜尋中去掉前饋約束,讓WANN開發出與記憶體狀態相關的迴圈連線。
WANN的應用擴充套件:探索影像分類任務
在強化學習任務中取得的好成績讓我們考慮擴大WANN的應用範圍。對輸入訊號之間的關係進行編碼的WANN非常適合強化學習任務。不過,分類問題遠沒有這麼模糊,效能要求也要嚴格得多。與強化學習不同,分類任務中的架構設計一直是人們關注的焦點。為了驗證概念,我們研究了WANN在MNIST資料集上的表現,MNIST一個影像分類任務,多年來一直是分類任務架構設計的關注焦點。
WANN在4種權重設定下在MNIST影像資料集上的分類表現,WANN的分類精度用多個權重值作為集合進行例項化,其效能遠遠優於隨機取樣權重
即使在高維分類任務中,WANN的表現也非常出色。 只使用單個權重值,WANN就能夠對MNIST上的數字以及具有透過梯度下降訓練的數千個權重的單層神經網路進行分類,產生的架構靈活性很高,仍然可以繼續進行權重,進一步提高準確性。
直接對權重範圍進行全部掃描,當然可以找到在訓練集上表現最佳的權重值,但WANN的結構提供了另一個有趣的方式。在每個權重值處,WANN的預測是不同的。在MNIST上,可以看出每個數字的精度是不一樣的。可以將網路的每個權重值視為不同的分類器,這樣可能使用具有多個權重值的單個WANN,作為“自包含集合”。
將具有一系列權重值的WANN進行例項化來建立網路集合是最簡單的方法之一。集合中的每個網路給與一票,根據得票最多的類別對樣本進行分類。這種方法產生的預測結果遠比隨機選擇的權重值更準確,而且僅僅比最佳權重值稍差。今後在執行預測或搜尋網路架構任務時可以不斷嘗試更復雜的技術。
論文:
部落格:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2647611/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 33個神經網路「煉丹」技巧神經網路
- 谷歌開源Neural Tangents:簡單快速訓練無限寬度神經網路谷歌神經網路
- 硬剛無限寬神經網路後,谷歌大腦有了12個新發現神經網路谷歌
- 谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究谷歌神經網路
- 探索無限大的神經網路神經網路
- 3.3 神經網路的訓練神經網路
- 深度學習煉丹-超引數設定和網路訓練深度學習
- 訓練自己的Android TensorFlow神經網路Android神經網路
- 使用tf.estimator.Estimator訓練神經網路神經網路
- 用迴圈神經網路進行檔案無失真壓縮:史丹佛大學提出DeepZip神經網路
- 使用人工神經網路訓練手寫數字識別模型神經網路模型
- 谷歌力作:神經網路訓練中的Batch依賴性很煩?那就消了它!谷歌神經網路BAT
- pytorch---之固定某些層權重再訓練PyTorch
- umich cv-5-1 神經網路訓練1神經網路
- umich cv-5-2 神經網路訓練2神經網路
- 用神經網路測量訓練集的半衰期神經網路
- 如何應對訓練的神經網路不工作?神經網路
- Batch Normalization: 如何更快地訓練深度神經網路BATORM神經網路
- 從零開始:教你如何訓練神經網路神經網路
- 訓練神經網路時如何確定batch size?神經網路BAT
- 如何讓訓練神經網路不無聊?試試遷移學習和多工學習神經網路遷移學習
- 無需程式碼繪製人工神經網路ANN模型結構圖的方法神經網路模型
- 谷歌公司提出的卷積神經網路GoogLeNet 系列作品簡述谷歌卷積神經網路Go
- MotionClone:無需訓練,一鍵克隆影片運動
- 關於訓練神經網路的諸多技巧Tricks(完全總結版)神經網路
- 機器學習之訓練神經網路:最佳做法機器學習神經網路
- 【python實現卷積神經網路】開始訓練Python卷積神經網路
- 聊聊從腦神經到神經網路神經網路
- 想免費用谷歌資源訓練神經網路?Colab 詳細使用教程 —— Jinkey 原創谷歌神經網路
- 神經網路可以被劫持?谷歌大腦研究員演示AI黑客行為神經網路谷歌AI黑客
- Yelp訓練了一個神經網路來debug,然後就被這個AI刪庫了神經網路AI
- Pytorch中自定義神經網路卷積核權重PyTorch神經網路卷積
- 神經網路學習參考神經網路
- 如何入門Pytorch之四:搭建神經網路訓練MNISTPyTorch神經網路
- NeurIPS 2024|杜克大學&谷歌提出SLED解碼框架,無需外部資料與額外訓練,有效緩解大語言模型幻覺,提高事實準確性谷歌框架模型
- CVPR 2022 | 這個自蒸餾新框架新SOTA,降低了訓練成本,無需修改網路框架
- 你也可以訓練超大神經網路!谷歌開源GPipe庫神經網路谷歌
- AmoebaNet:經費在燃燒,谷歌提出基於aging evolution的神經網路搜尋 | AAAI 2019谷歌神經網路AI