四足機器人走着走着突然斷了一條腿,還能繼續前進嗎?
來自谷歌和密歇根大學的最新成果,給出了非常肯定的答案。
他們發明的一種叫做 AutoRobotics-Zero ( ARZ ) 的搜索算法,既不靠大模型,也不用神經網絡,可以讓機器人一旦遇到劇烈的環境變化,就立刻自動更改行動策略。
譬如斷腿照樣走:
相比之下,别的神經網絡方法還是這樣嬸兒的(手動狗頭):
英偉達 AI 科學家 Jim Fan 評價:
這個方法非常令人耳目一新。
機器人再也不怕被忽悠瘸了
具體如何實現?
讓機器人斷腿繼續走的秘密
快速适應環境變化是機器人部署到現實世界中非常重要的一項技能。
但目前常用的循環神經網絡(RNN)技術存在策略單一、重參數化導緻推理時間長、可解釋性差等問題。
爲此,作者直接 " 另起爐竈 ",基于AutoML Zero技術開發了這項全新的四足機器人環境自适應策略:AutoRobotics-Zero ( ARZ ) 。
關于AutoML Zero,不熟悉的朋友再了解一下:
它是 2020 年誕生的一種 " 從零開始的自動機器學習 " 算法,出自谷歌大腦 Quoc V.Le 大神等人之手,僅使用基本數學運算爲基礎,它就能從一段空程序開始,自動發現解決機器學習任務的計算機程序。
在此,作者也将各種機器人行動策略表示爲程序,而非神經網絡,并僅使用基本的數學運算作爲構建塊,從頭開始演化出可适應性策略及其初始參數。
随着不斷的進化,該方法能夠發現控制程序(即 Python 代碼,如下圖所示),從而在與環境互動的同時,利用感覺運動經驗來微調策略參數或改變控制邏輯(也就是當随機分支在随機時間突然中斷時運行新的分支)。最終就可以在不斷變化的環境下實現自适應。
具體而言,ARZ 的算法由兩個核心函數組成:StartEpisode()和 GetAction(),前者在機器人與環境交互的每個階段開始時就開始運行,後者負責調整内存狀态(因爲策略被表示爲作用于虛拟内存的線性寄存器)和代碼修改。
在進化搜索上,ARZ 則采用兩種控制算法:負責多目标搜索的非支配排序遺傳算法 II(NSGA-II)和負責單目标搜索的正則化進化算法(RegEvo)。
如下圖所示進化控制算法的評估過程,單目标進化搜索使用平均情節獎勵作爲算法的适應度,而多目标搜索優化了兩個适應度指标:平均獎勵(第一個返回值)和每次 episode 的平均步數(第二個返回值)。
以及作者介紹,爲了預測動态環境中給定情況下的最佳行動,策略必須能夠将當前情況與過去的情況和行動進行比較。
因此,ARZ 所有策略都被設計爲 " 有狀态的 ",即内存内容在一個事件的時間步長内是持續存在的,由此才得以完成自适應。
此外,有所不同的是,該方法還去掉了原始 AutoML Zero 技術中的監督學習模式,最終無需明确接收任何監督輸入(如獎勵信号)就可以讓進化程序在整個生命周期内進行調整。
比神經網絡更有效
作者用宇樹科技的 " 萊卡狗 "(Laikago)四足機器人模拟器在模拟環境中進行了效果測試。
最終,隻有 ARZ 可以進化出在随機斷腿情況下保持向前運動和避免摔倒的自适應策略。
相比之下,進行了全面超參數調整并使用最先進強化學習方法完成訓練的 MLP 和 LSTM 基線都失敗了:
要麽不具有魯棒性,不能每次都成功;
要麽一次都沒有成功過。
需要注意的,這還是在 ARZ 使用的參數和 FLOPS 比 MLP 和 LSTM 都少得多的情況下。
下圖則是統計數據:隻要任何一列中的 reward<400 就表示該腿的大多數測試都以摔倒告終。
我們可以再次看到,除了 ARZ,隻有 MLP 方法能夠在右後腿成功一次。
除了以上這些,ARZ 還顯現出了目前的 RNN 技術都做不到的可解釋性。
如圖所示,它在斷腿案例中發現的各種策略可以都符号化爲如下表示:
最後,除了機器人斷腿走路,ARZ 還可以在 " 具有随機傾斜軌道的 cartpole 系統 " 中自動保持平衡。
論文地址:
https://arxiv.org/abs/2307.16890