對于優(yōu)步的規(guī)模來說,機器學習的進步可以顯著提高更運輸方案的技術娃圆,使之更為安全可靠。最近優(yōu)步人工智能實驗室發(fā)布了一個可以做到這點的進化算法:深度神經進化(deep neuroevolution)蛾茉,與進化策略(ES)和遺傳算法(GA)一樣讼呢,他可以幫助訓練深度神經網絡去解決困難的強化學習(RL)問題。?最近深度神經進化的越來越得到重視谦炬,其中主要貢獻來自?OpenAI悦屏,DeepMind,Google Brain和Sentient键思,這增加了對幫助該領域研究人員的工具的需求窜管。
特別是,在神經進化和神經網絡優(yōu)化中稚机,通常很難觀察到學習過程的潛在動力幕帆。為了解決這一問題,實現觀察步驟赖条,我們推出了神經進化視覺檢查器(VINE)失乾,這是一款開源的交互式數據可視化工具常熙,旨在幫助那些對神經進化感興趣的人更好地理解和探索這種算法。我們希望這項技術能夠激發(fā)神經進化的新發(fā)明和新應用碱茁。
VINE可以同時說明ES和GA設計的方法裸卫。在本文中,我們將應用ES的Mujoco類人運動任務的任務結果作為示例纽竣。
在ES的常規(guī)應用(由OpenAI普及)中墓贿,一組被稱為偽子代云(pseudo-offspring cloud)的神經網絡對目標進行幾代的優(yōu)化。通過隨機擾動單個“父”神經網絡的參數來生成云中每個單獨神經網絡的參數蜓氨。然后根據目標對每個偽子代神經網絡進行評估:在類人運動任務中聋袋,每個偽子代神經網絡控制機器人的運動,并根據它的行走狀況獲得一個分數穴吹,在這里我們稱之為它的適應度(fitness)幽勒。ES通過基于這些適應性評分來聚合偽子代的參數(就像復雜的多親交叉形式,并且還使人想起隨機有限差分)來構建下一個父代港令。循環(huán)然后重復啥容。
使用VINE
為了利用VINE顷霹,在評估期間記錄每個父代和所有假子孫的行為特征(BC)咪惠。在此,BC可以是智能體在與其環(huán)境交互時的行為的任何指標淋淀。例如遥昧,在Mujoco中,我們簡單地使用智能體的最終{x绅喉,y}坐標作為BC渠鸽,因為它能表示智能體離開原點有多遠。
然后可視化工具會根??據父神經網絡和偽子代的BC將其映射到2維平面上柴罐。為此徽缚,它調用一個圖形用戶界面(GUI),其主要由兩種相互關聯的平面圖組成:一個或多個偽子代云圖(各自在單獨的平面圖)和一個適應度圖革屠。如下面的圖2所示凿试,偽子代云圖顯示了的父網絡和云中每個偽子代的BC,而適應度圖顯示了從父代開始的適應度得分曲線作為每代進步的關鍵指標似芝。
圖2:偽子代云圖和適應度圖的例子那婉。
然后,用戶與這些圖進行交互党瓮,以探索偽子代云的整體趨勢以及任何父代或偽子代在進化過程中的個體行為:(1)用戶可以可視化父代详炬,出色的子代和整個偽子代云,并探索的在BC平面圖有不同適應度評分的偽子代的數量和空間分布寞奸;(2)用戶可以在不同世代之間進行比較呛谜,瀏覽代數在跳,可視化父代和偽子代云在BC平面上的變化,并思考這些變化與適應度評分曲線的關系(如圖3所示隐岛,可以自動生成變化云的完整視頻)猫妙;(3)點擊云圖上的任意一點,可以看到相應的偽子代的行為信息和適應度得分聚凹。
圖3:可視化的每一代的行為演變割坠。每過一代的顏色都會改變。在一代人中妒牙,每個假子孫的顏色強度是基于該代中適應度得分的百分位數(聚合成5bins)彼哼。
其他用例
除了默認功能,該工具還支持的高級選項和自定義可視化单旁。例如沪羔,可以不只有一個最終的{x饥伊,y}點象浑,BC可以代替每個智能體的完整軌跡(例如,concatenated {x琅豆,y}為1,000個時間步長)愉豺。在這種情況下,當BC的維度高于2時茫因,需要降維技術(例如PCA或t-SNE)將BC數據的維度降至2維蚪拦。我們的工具自動執(zhí)行這一步。
GUI能夠加載多組二維BC圖(可能通過不同的降維技術生成)冻押,并在同步連接的云圖中顯示驰贷,如圖4所示。此功能為用戶提供了一種便捷方式來探索不同的BC選擇和降維方法洛巢。此外括袒,用戶還可以自定義函數擴展基本的可視化。圖4展示了一個這樣的自定義云圖稿茉,可以顯示某種類型特定領域的高維BC(在這種情況下锹锰,智能體的完整軌跡)以及相應的減少的2維BC。另一個自定義云圖的例子漓库,如圖5恃慧,允許用戶重放智能體在與環(huán)境交互時產生的確定和隨機行為。
圖4:多個2維BC渺蒿、一個高維BC和適應度圖的可視化痢士。
圖5:VINE允許用戶查看任何智能體確定和隨機行為的視頻。
除運動任務外茂装,這個工具還有其他的地方可用怠蹂。比如陪汽,下面的圖6展示了,對使用ES訓練智能體玩Frostbite(Atari 2600的游戲之一)可視化的云計算圖褥蚯,我們使用最終的模擬器的RAM狀態(tài)(捕獲游戲中的所有狀態(tài)變量挚冤,在這里為長度為128的整數值向量)作為BC并應用PCA將BC映射到平面上。
圖6:可視化智能體學習玩Frostbite赞庶。
從圖中训挡,我們可以觀察到,隨著進化的進行歧强,偽子代云向左移動并聚集在那里澜薄。通過查看每個智能體玩這個游戲的視頻,可以讓我們推斷結束狀態(tài)與每個集群的對應語義上有意義的不同摊册。
VINE還可以與其他神經進化算法(如GA)無縫協作肤京,后者可以保持子代的人口數量。事實上茅特,該工具獨立于任何特定的神經元演算算法忘分。用戶只需稍微修改其神經元進化代碼即可保存他們?yōu)樘囟▎栴}選擇的BC。在發(fā)布的代碼中白修,我們提供了對ES和GA實現修改的示例妒峦。
后續(xù)計劃
由于演化方法在一組點上操作,它們?yōu)樾滦涂梢暬峁┝藱C會兵睛。實現了一個提供可視化的工具嵌巷,我們發(fā)現它很有用昭卓,我們希望與機器學習社區(qū)分享物臂,這樣所有人都可以受益颇蜡。隨著神經元進化到具有數百萬甚至更多連接的神經網絡,通過像VINE這樣的工具獲得額外的洞察力對進一步的發(fā)展越來越有價值假颇。
本文為編譯作品胚鸯,轉載請注明出處。
更多內容:http://www.atyun.com/17836_優(yōu)步發(fā)布vine拆融,一個用于神經進化的開源交互式數據&=4.html