搞事情!
AI“看”了一眼GitHub上人類都是怎麼提交更新(commit)的,然後就模仿人類程式設計師修改程式碼…
最終,這個AI還成功“調教”出了個智能體機器人:
沒開玩笑,這種細思極恐的事情,在OpenAI最新發布的一項研究中,就真真的發生了……
原本呢,研究人員要解決的是一個遺傳程式設計(GP)問題-讓一個智能體機器人學會移動。
(GP是演化計算中的一個特殊領域,它主要針對自動建構程式去獨立解決問題。)
但OpenAI劍走偏鋒,把自家的大規模語言模型(LLM )放了進來,結果就是一個大大的「萬萬沒想到」。
以前在智能體演進的過程中,人類研究員是需要參與進來做一些細節調整、確定演進方向等工作,讓智能體往好的方向發展。
現在好了,這些活兒都讓大模型給包攬了,自己學、自己寫程式碼、自己去「調教」:
這事一經論文一作Joel Lehman在網路曝光,瞬間引發了網友們的大量關注:
一位程式設計師網友在看完後直呼「跟不上(科技)發展的步伐」了:
甚至OpenAI自己都在研究中說:
#彌合了演化演算法在人類思想層次運作的鴻溝。
那麼這件「魔幻」的事情,AI到底是怎麼辦到的?
在虛擬環境中設計可移動的機器人,是遺傳演算法研究中很熱門的一個專案。
特別是Sodarace競賽因為需要的運算量少,過程方便視覺化很受歡迎。
規則很簡單,由「關節」和「肌肉」組成的機器人在各種地形上賽跑。
OpenAI也刻意把整個競賽程式從專用的基因編碼改寫成了Python版本,為了展示新方法對現代程式語言的通用性。
像是這樣一段Python程式碼,就可以當作初始種子機器人。
定義一個正方形的四個頂點關節、終點關節,彼此之間都用「肌肉」連接好後,結果如下。
不過這樣方方正正的結構一動都不能動,接下來就需要靠遺傳演算法對程式碼做修改。
研究團隊認為,用傳統遺傳演算法修改程式碼VS人類程式設計師自己動手,在效率上還有兩點差距:
一個是軟體越來越複雜,人類可以搞模組化的程式碼復用來應對,而目前最先進的遺傳演算法也無法在人類使用的程式語言上做到這一點。
另一個幾乎是所有遺傳演算法靠的都是隨機突變(mutation),而人類程式設計師每一次修改程式碼都帶有目的,或者是增加功能、或者是改進效率、又或者是修復bug。
那麼有沒有辦法讓AI學習到人類是如何修改程式碼的呢?
還真有,所需的訓練資料都存在GitHub上。
優秀的程式設計師每次提交程式碼都會寫好commit描述,說清楚這次提交修改了什麼內容。
commit描述配合上提交前後程式碼比較的diff數據,就是AI絕佳的學習材料。
研究人員篩選出一些描述意圖明確、修改的程式碼量不大的提交資料來訓練一個GPT-3架構的AI模型。
相當於讓AI向人類程式設計師學習如何有目的的修改一段程式碼。
這篇論文所用的模型也不需要完全版GPT-3的1750億參數那麼大,最高7.5億參數就足以。
由此得到了基礎的AI模型,將在遺傳演算法中扮演變異算子的角色。
接下來讓AI自己設計新機器人的流程總共分三步驟。
第一步,先用經典的MAP-Elites演算法產生一組初始機器人。
這是一種QD(品質多樣性)演算法,可以保證機器人行為不同且品質都很高。
第二步,用第一步產生的初始資料做預先訓練,讓AI先學會設計出訓練資料分佈內的機器人。
也就是開頭處那張在網路上驚艷了眾人的動圖,展示了AI如何一步步把無法移動的「方塊」改造成雙腿交替彈跳移動機器人。
第三步,再結合上強化學習演算法做微調,讓AI能根據不同地形條件產生能適應環境的機器人。
最終,研究人員選取了從最初的三個種子進化而來的機器人做效果展示。
可以看出它們的結構和移動方式都完全不同。
這項研究一經公佈,可謂是一石激起千層浪。
許多網友都驚嘆於這種「大模型演進演算法」結合的新奇方式:
做過與之相關工作的研究人員也表示,從未想過能用大模型以diffs的形式來學習突變:
而除了對研究形式和本身的討論之外,也有網友配上了這樣圖:
Emmm…是有點那種味了。
這項研究的團隊成員皆來自OpenAI。
論文一作是Joel Lehman,是一位機器學習科學家。其聚焦的領域包括人工智慧安全、強化學習和開放式搜尋演算法。
與此同時,Joel Lehman先前基於對人工智慧發展的思考合寫過一本科學讀物《為什麼偉大不能被計劃出來:客觀的秘密》:
而對於這項研究的下一步,Joel Lehman本人表示:
還有一個重要問題,就是模型能夠多大程度上應用到其它環境中。
GP中的突變功效現在可以透過ELM大幅提高,這將激發出一系列廣泛的新應用和研究方向。
那麼這項研究是否也對你產生了新的啟發呢?
參考連結:
[1]https://arxiv.org/abs/2206.08896
[2]https://twitter. com/joelbot3000/status/1538770905119150080?s=21&t=l8AASYjgC6RAEEimcQaFog
以上是AI自己寫程式碼讓智能體進化! OpenAI的大模型有「人類思想」那味了的詳細內容。更多資訊請關注PHP中文網其他相關文章!