今年 6 月底,知名科技公司 OpenAI 發(fā)布了一篇論文,主要圍繞著一項名為 “視頻預訓練”(VPT:Video PreTraining)的 AI 技術展開討論。
這項研究的成果相當喜人,例如,在看了 7 萬多個小時《我的世界》視頻后,案例中的 AI 已經成功學會了求生所需的大部分必備技能:游泳、狩獵、建房、下礦,甚至搜刮村莊。
盡管依然存在著一些人類難以理解的操作,但就結果來說,這已經比許多同類 AI 表現(xiàn)得要好多了。
當然,相比起背后堆積如山的代碼與“逆動力模型”等看了就讓人迷茫的技術詞匯,作為普通玩家的我們,更關心的可能還是這么一款高智能、饒有趣味的 AI 到底什么時候才能實裝進游戲里。
1
無須等待,AI 走進千萬家的場景就在當下。
雖然 OpenAI 的模型目前僅提交給了專門負責研究《我的世界》AI 的 MineRL 大賽,但就在他們論文發(fā)布的前后幾天,另一個功能類似的 AI 也同樣出現(xiàn)在了網上。更重要的是,研究團隊直接將他們的代碼放在了 Github 上供所有人下載研究。
這個名叫 MineDojo 的項目由英偉達的工程師進行開發(fā),同樣是通過觀看網上的視頻資料進行訓練,但與 OpenAI 略有不同的是,他們的資料庫要龐大得多。
MineDojo 一共搜集了 73 萬個油管上的游戲視頻、7000 多個維基網頁,甚至還有上百萬條和《我的世界》有關的 Reddit 評論。
這么做的目的,當然在于幫助 AI 理解人類語境中“建造“”求生“等詞匯的意義,油管主們在教學視頻中聲情并茂地教導觀眾從哪里出發(fā),到哪里尋找神廟,再到如何攻略末影龍 ——
對于 AI 來說,這就是上好的“網課”。
支持這一行為的,是一個被稱為 MineCLIP 的學習算法。它可以幫助 AI 把主播的解說與視頻中展示的操作聯(lián)系起來,以此達到訓練的目的;同樣的,訓練好的 AI 也能理解玩家直接下達的任務。
這是 MineDojo 最有趣的部分,工程師們準備了 3000 個可以直接下達給 AI 的指令,一類是程序化任務,例如“生存 3 天”或“收集兩塊木頭”,這是可以用數(shù)字和名詞客觀衡量的任務;另一類是抽象化任務,例如“建造一座漂亮的海濱別墅”。
AI 可能很難理解“漂亮”“海濱”“別墅”到底是什么意思,不過通過視頻畫面的講解,再搜索玩家們相關評論的關鍵詞之后,大多數(shù)時刻 AI 都能有模有樣地完成目標。
在這些任務中,玩家可以給 AI 下令“把牛羊圈起來”“去沼澤里找雞”“盡可能地活久一點”,或者干脆讓它去搜刮一個海底神廟。因為使用了互聯(lián)網上的常用語言,AI 對某些人類特有的幽默感學得挺到位的。
和 OpenAI 的模型比起來,MineDojo 的技術難度或許并沒有那么高,畢竟它直接接入了游戲端口,利用游戲內的數(shù)據(jù)直接控制 AI 行動要簡單許多;而 OpenAI 則是從零開始建立了一個模仿人類的行動模型,指令都是直接模擬人類的鍵鼠操作。
并且 MineDojo 在部分時刻依然要借助修改游戲數(shù)據(jù)才能達到目的,比如攻略末影龍的時候,只有“作弊”讓末影龍站在原地挨打才能通關。
不過,MineDojo 依然呈現(xiàn)出了 AI 可以通過現(xiàn)有視頻、資料進行學習的能力。唯一遺憾的是,目前還沒有看到多少 MineDojo 實裝后的反饋,因此實際效果如何也存在一定的疑問。好處是它供所有人免費下載,當作 AI 入門的免費資料試試未嘗不可。
2
得益于當代互聯(lián)網的發(fā)展,AI 能從視頻資料中獲取自己想要的知識。人類也是如此,制作一個會玩游戲的 AI,有時候看視頻就夠了。
視頻比教科書更進一步的是,哪怕觀眾什么也不明白,不知道 python 語言、架構、蒙特卡洛算法是什么,每個人依然能從視頻里得到樂趣,隨后潛移默化地了解知識。
在這一領域起代表性作用的,是那些致力于設計游戲 AI 的視頻制作者們。
首先要提到的是人們或許更為熟知的“遺傳算法”,一個在上個世紀的六十年代提出,被這個世紀所發(fā)揚光大的技術。
它類似生物學意義上的進化論,具體來說,就是通過系統(tǒng)生成一堆什么也不懂的嬰兒,讓他們在大自然(程序)世界里嘗試各種操作,通過選擇表現(xiàn)更好的子代,達到不斷優(yōu)化 AI 表現(xiàn)的目的。
用油管上一條《AI 學習玩 JUMP KING》的視頻舉例,大致場景就是這樣的。
視頻作者 Code Bullet(下文簡稱 CB)已經用這個算法成功制作出了不少 AI 通關游戲的視頻,《吃豆人》《Flappy Bird》這類強調優(yōu)化 AI 行動的游戲都可以沿著類似的思路走下去。
思路是清晰的,做起來也很“簡單”。翻閱一下 CB 大部分制作 AI 的視頻,都可以看到他的過程主要分為了三個部分。
重做游戲的原因我們稍后再進行討論,CB 視頻中展現(xiàn)的精髓部分在于遺傳算法的“篩選”功能。不同于物競天擇的大自然,這里我們才是負責挑選 AI 的上帝。
剛出生的 AI 當然是什么也不懂得的小嬰兒,給它們添加行動指令,AI 也不會懂得往哪里行動有什么意義。因此常見的做法是給隨機行動的 AI 設置獎勵和懲罰,例如跳躍一次加 1 分、達到下一關加 2 分、左右移動加 0.5 分,向下跌落則扣 1 分。
每代 AI 只有五次行動機會,五次行動結束后,跳躍高度最高的 AI 就會成為下一代的模范,此后的每一代 AI 都會遵循上一代摸索出最好的路徑前進 —— 這就是很簡單的進化了。
不過這么簡單的規(guī)則還沒有辦法解決某些“思考”問題,如果某關需要先下降,再向上跳躍的話,死腦筋的 AI 就會因為扣分原則而拒絕往下跳。
解決辦法可以是在降落地點設置同樣可以提供獎勵的收集品,引導 AI 通過收集獎勵,前往更高的場景。
等所有程序都準備好之后,只要讓 AI 自己跑起來就行了,它們自然會一代代地找到最好走的路線,最終完成游戲通關的任務。
3
自 AlphaGo 2017 年從賽場“退役”,已經過去了五年。自那之后,“民用 AI”在游戲領域可謂發(fā)光發(fā)熱,在油管上用 AI 玩《VALORANT》《大富翁》《糖豆人》的博主們也大有人在。
雖然沒有公司的資金支持,也沒有流著血淚幫忙標注數(shù)據(jù)的研究生們,但得益于 Github 的開放性,每個網民隨手就可以下到一大堆經過一定訓練的神經網絡程序。
以一位油管上僅有 7000 粉絲的小博主 River 為例,他的一期視頻就很簡潔地展現(xiàn)了 AI 技術的低門檻。
前期準備非常簡單:你只需要兩臺電腦、一段網上下載的程序、一個視頻采集卡,再加一個無線鼠標信號接收器。
而要做的工作也無非是標注一些供 AI 訓練識別能力的圖片,一“小”段指示行為模式的代碼,然后直接掃描小地圖指示方位,再把鍵盤信號都通過無線鼠標傳送到電腦里。
雖然信號發(fā)送是麻煩了點,但好處也有,因為沒有額外程序接入游戲,自然也不會被判斷出使用了外掛。
當然,在目前的表現(xiàn)上來看,River 的 AI 也和普通的 AI 機器人差不多,并沒有 AlphaGo 那種神奇的自我進化能力。
不過,只是想簡單體驗 AI 設計,已經沒有了那么高的門檻。不斷設計更新更強的 AI 也是一件頗有樂趣的行為,其中一項就是分辨正確與錯誤之間的“邊界”。
正如 MineDojo 要區(qū)分程式化任務與抽象類任務的區(qū)別,我們在教導 AI 時,同樣能從 AI 分辨的結果當中,得到自己對于事物的定義和由此產生的解釋,或許能啟發(fā)人類解決生活中的矛盾。
朋友問你今天過得怎么樣、相親時怎么向對方介紹自己,如果每個問題都能用程序解答,未嘗不是人類也已經進化到更高一層的體現(xiàn)。
本文來自微信公眾號:游戲研究社 (ID:yysaag),作者:RMHO
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。