周星馳的睡夢羅漢拳心法,現在AI也學會了:夢中“修煉”,醒來“實戰”
夏乙 發自 凹非寺
量子位 出品 | 公眾號 QbitAI
聽說過“睡夢羅漢拳”麼?
電影《武狀元蘇乞兒》中,周星馳在夢中得到老乞丐心法傳授,學會了睡夢羅漢拳。
只是睡了一覺,醒來就武功天下第一。
邊睡邊學習,可能不少同學都YY過……真正做到能有幾人?
沒想到,現在AI已經學會了。
剛剛,兩位人工智慧界的大牛:Google Brain團隊的David Ha(從高盛董事總經理任上轉投AI研究),瑞士AI實驗室的Jürgen Schmidhuber(被譽為LSTM之父),共同釋出了最新的研究成果:
World Models(世界模型)。
簡而言之,他們教會了AI在夢裡“修煉”。
AI智慧體不僅僅能在它自己幻想出來的夢境中學習,還能把學到的技能用到實際應用中。
一眾人工智慧界同仁紛紛發來賀電。
還有人說他們倆搞的是現實版《盜夢空間》,並且P了一張電影海報圖:把Ha和Schmidhuber頭像換了上去……
這種神奇能力是怎麼回事?
量子位結合兩位大牛的論文,嘗試解釋一下。
在夢裡開車
在夢境中學,在現實中用,可以說是高階技能了,我們先看一個比較基礎的:
在現實裡學,到夢境中用。
David Ha和Schmidhuber讓一個AI在真正的模擬環境中學會了開車,然後,把它放到了“夢境”裡,我們來看看這個學習過程:
先在真實的模擬環境中學開車:
當然,上圖是人類視角。在這個學習過程中,AI所看到的世界是這樣的:
把訓練好的AI智慧體放到AI的夢境中,它還是一樣在開車:
這個夢境是怎麼來的?要講清楚這個問題,量子位還得先簡單介紹一下這項研究的方法。他們所構建的智慧體分為三部分,觀察周圍世界的視覺模型、預測未來狀態的記憶模型和負責行動的控制器。
負責做夢的主要力量,就是其中的記憶模型。他們所用的記憶模型是MDN-RNN,正這個神經網路,讓Google Brain的SketchRNN,能預測出你還沒畫完的簡筆畫究竟是一隻貓還是一朵花。
在開車過程中,記憶模型負責“幻想”出自己在開車的場景,根據當前狀態生成出下一時間的概率分佈,也就是環境的下一個狀態,視覺模型負責將這個狀態解碼成影像。他們結合在一起生成的,就是我們開頭所說的“世界模型”。
然後,模型中的控制器就可以在記憶模型生成出來的虛假環境中開車了。
在夢裡學打Doom
做夢開車很簡單,但兩位大牛的研究顯然不止於此。既然AI幻想出來的環境很接近真實,那理論上講,他們這項研究的終極目的也是可以實現的:讓AI做著夢學技能,再用到現實中。
這一次,他們用了VizDoom,一個專門供AI練習打Doom的平臺。
“做夢”的主力,又是我們前面提到過的記憶模型。和賽車稍有不同的是,它現在不僅需要預測環境的下一狀態,為了讓這個虛擬環境儘量真實,同時還要預測AI智慧體的下一狀態是死是活。
這樣,強化學習訓練所需的資訊就齊全了,夢境中的訓練,GO!
夢境重現了真實環境中的必要元素,和真正的VizDoom有著一樣的遊戲邏輯、物理規則和(比較模糊的)3D圖形,也和真實環境一樣有會扔火球的怪物,AI智慧體要學著躲避這些火球。
更cool的是,這個夢境可以增加一些不確定因素,比如說讓火球飛得更沒有規律。這樣,夢中游戲就比真實環境更難。
在夢境中訓練之後,AI就可以去真正的VizDoom中一試身手了:
AI在VizDoom中的表現相當不錯,在連續100次測試中跑過了1100幀,比150幀的基準得分高出不少。
真是666啊……
怎麼做到的?
他們所用的方法,簡單來說就是RNN和控制器的結合。
這項研究把智慧體分為兩類模型:大型的世界模型和小型的控制器模型,用這種方式來訓練一個大型神經網路來解決強化學習問題。
具體來說,他們先訓練一個大型的神經網路用無監督方式來學習智慧體所在世界的模型,然後訓練一個小型控制器使用這個世界模型來學習如何解決任務。
這樣,控制器的訓練演算法只需要在很小的搜尋空間中專注於信任度分配問題,而大型的世界模型又保障了整個智慧體的能力和表達性。
這裡的世界模型包括兩部分,一個視覺模型(V),用來將觀察到的高維資訊編碼成低維隱藏向量;一個是記憶RNN(M),用來借歷史編碼預測未來狀態。控制器(C)藉助V和M的表徵來選擇好的行動。
在我們上面講到的開車、打Doom實驗中,視覺模型V用了一個VAE,變分自編碼器;記憶模型M用的是MDN-RNN,和谷歌大腦讓你畫簡筆畫的SketchRNN一樣;控制器C是一個簡單的單層線性模型。
把這三個模型組裝在一起,就形成了這項研究中智慧體從感知到決策的整個流程:
視覺模型V負責處理每個時間步上對環境的原始觀察資訊,然後將這些資訊編碼成隱藏向量zt,和記憶模型M在同一時間步上的隱藏狀態ht串聯起來,輸入到控制器C,然後C輸出行為向量at。
然後,M根據當前的zt和at,來更新自己的隱藏狀態,生成下一步的ht+1。
這有什麼用?
讓AI會“做夢”,還能在“夢境”中學習,其實有很多實際用途。
比如說在教AI打遊戲的時候,如果直接在實際環境裡訓練,就要浪費很多計算資源來處理每一幀影像中的遊戲狀態,或者計算那些和遊戲並沒有太大關係的物理規則。用這個“做夢”的方式,就可以在AI自己抽象並預測出來的環境中,不消耗那麼多計算資源,一遍又一遍地訓練它。
在這項研究中,他們還藉助了神經科學的成果,主要感知神經元最初出於抑制狀態,在接收到獎勵之後才會釋放,也就是說神經網路主要學習的是任務相關的特徵。
將來,他們還打算給VAE加上非監督分割層,來提取更有用、可解釋性更好的特徵表示。
相關連結
論文:https://worldmodels.github.io/
說明:World Models是一個持續的研究專案,兩位大牛說打算寫一系列論文,這只是第一篇。他們還專門為這專案開了個GitHub賬號,可以持續關注:https://github.com/worldmodels
另外,上面的Demo演示,基於p5.js和deeplearn.js構建。作者還感謝了來自Google Brain團隊其他成員、distill.pub以及其他研究者的支援。
— 完 —
活動推薦
△ 點選圖片或閱讀原文
即可獲取更多詳情
聯想高校AI精英挑戰賽,覆蓋全國28個省份、8大賽區和260所高校,經過在中科大、華中科技大學、清華大學、上海交通大學等8所AI領域具有頂尖優勢的理工科高校的半決賽路演,產生最終入圍總決賽的十支參賽隊伍,並將於3月29日在北京中國科學院計算技術研究所迎來全國總決賽。
加入社群
量子位AI社群15群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot6入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微訊號qbitbot6,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
相關文章
- 那個爆火的“夢中修煉”AI,你也能用Keras搭一個了AIKeras
- 美國維拉諾瓦大學:研究發現人們會在睡夢中無意識地發簡訊
- 位元組遊戲夢醒,遊戲行業也在發生變化遊戲行業
- 生涯113戰0勝的她,在20年後的遊戲裡實現了夢想遊戲
- 解密中國AI夢解密AI
- 【實在RPA財務實戰營】2周輕鬆實現財務自動化 ,升職加薪不是夢!
- 在褒貶中走來的《寶可夢 劍/盾》,會讓人真香嗎?
- 上海夢醒網際網路
- 你有夢想嗎?華為雲學院助你實現夢想
- Unity實現“籠中窺夢”的渲染效果Unity
- 互聯星夢,聚會遊戲的開拓者遊戲
- 我兒時的“清北夢”,竟然在這款遊戲裡實現了!遊戲
- 遞迴:夢中夢遞迴
- 尚德斷臂,歐蓬夢醒
- 相遇在未來都會:百度地圖中的城市記憶與夢想地圖
- 這個資料庫蒐集了2.4萬個“夢”!用AI分析打分,找出夢境現實關聯,幫你解夢資料庫AI
- 向未來飛馳:武漢推開了AI產業化和產業AI化的三重門AI產業
- “直道超車”的中國人工智慧夢,正在百度世界大會2021甦醒人工智慧
- 開源!上海AI Lab影片生成大模型書生·築夢 2.0來了AI大模型
- 【十年奮戰,一朝夢醒】6年後的歸來,再看職場與自身發展
- 漢羅塔問題 java實現Java
- 【Python實戰】跟我一步一步來,用Tornado來實現你的伺服器夢想,純乾貨教學,有彩蛋Python伺服器
- 戰國尋夢,步履不停 《犬夜叉-覺醒》9月12日首發!
- 思必馳周強:AI 和傳統訊號技術在實時音訊通話中的應用AI音訊
- “沒有了夢想”的Uber,是如何在AI上折戟沉沙的?AI
- Dota2白帽們,這可能是你實現夢想最後的機會了!
- 米哈遊9年前的宅男夢,現在終於圓了
- AI工程師的哆啦A夢超能力不是吹出來的!AI工程師
- 深度學習|太空“帶貨”,在軌放“衛星”!細說“夢天”那些“黑科技”深度學習
- NPC會夢見電子羊嗎?從遊戲AI到AI遊戲AI
- 還在人工煉丹?自動提示工程指南來了,還帶從頭實現
- 體測,中國大學生的噩夢
- 破繭入夢 《修普諾斯》夢蝶測試正式啟動
- 剖析漢字描紅在flutter中的實現原理Flutter
- 李連杰、成龍等明星為何代言節種遊戲,就差周星馳了?遊戲
- 專注聚會遊戲開發,互聯星夢新作《快到碗裡來》全平臺攻略遊戲開發
- 迷惘的二三四五:折戟現金貸、夢碎區塊鏈,再打AI突圍戰區塊鏈AI
- 一朝入夢,終生不醒:再看紅樓夢,也談石頭記