作弊玩遊戲,AI 也學壞了?

多年以前,當我第一次見識到朋友們是如何在《超級瑪利歐》中透過卡一個龜殼無限刷分,在《魂斗羅》中用一種奇怪的方式獲得額外生命的時候,拯救世界和公主就再也不是我想做的事了。在我看來,遊戲裡發掘各種奇怪的 Bug 明顯比拯救公主更有趣。

(本文授權轉載遊研社原文連結)

作弊玩遊戲,AI 也學壞了?

但是現在,關於 「利用 Bug 快速完成遊戲目標」 這件事情上,AI 似乎比我還要擅長。

今年四月,曾經開發出擊敗 Dota2 職業選手的 OpenAI 公司,舉辦了首屆針對 AI 的強化學習競賽。這個比賽的目標,旨在評估強化學習演算法從以往經驗中泛化的能力。這聽起來很拗口,具體地說,就是讓 AI 來玩單機遊戲,而且玩的是 NES 平台上的《音速小子》。

每個參賽團隊需要讓自己研發的 AI 在不同的訓練關卡上執行,透過短時間的機器學習,讓 AI 掌握這款遊戲的規則和操作方法,並在遊戲設計師重新設計的地圖上迅速找到最優的通關策略。

OpenAI 舉辦這次比賽的目的,是想驗證這樣一個觀點:強化學習的強泛化性是通往通用人工智慧的關鍵路徑之一。舉個例子,如果你在《絕對武力:全球攻勢》中是一個百發百中的神槍手,那麼其他的 FPS 遊戲你可能也會很輕鬆的上手。但如果你把一個針對《絕對武力:全球攻勢》訓練的 AI 直接扔到《鬥陣特攻》裡,那麼它估計會直接崩潰。

因此,參賽選手需要讓 AI 自己學習遊戲的策略和技巧,以便在陌生的地圖上自己找到最佳的破關方法。

不過這一次,AI 們好像聰明過了頭。

在研究人員的調試下,AI 被告知要優先獲得更高的分數(一般透過擊殺敵人和拾取金環獲得),同時在僅可能短的時間內到達終點。這樣的條件導致了一個奇怪但有趣的結果:AI 開始透過尋找遊戲內的 Bug 來更好的完成目標。

就像上面演示的這樣,AI 控制的音速小子在遊戲中找到了一些特殊的 「捷徑」 來讓自己更快的達成目標,這些捷徑都是透過類似於 「卡 Bug」 的方式實現的。

這樣的方式大大出乎研究人員的意料。最開始,研究人員希望 AI 能透過所提供的人類玩家資料來模仿人類的操作和行為,最終完成遊戲目標。

但透過機器學習的人工智慧對遊戲顯然有自己的一套理解,除了在遊戲中尋找能讓自己快速通關的 Bug 以外,它們還會做許多在研究人員眼裡匪夷所思的事情。

Google Deepmind AI 項目的研究人員維多利亞 ‧ 克拉科夫納就蒐集了大量像音速小子這樣的例子。

比如在一個《海岸賽艇》的小遊戲裡,AI 操縱的船隻沉迷於利用 Bug 不斷地撞擊獎勵目標以達到更高的分數,順利到達終點這件事已經不在它的計畫之內了。

另一個研究人員試圖讓 AI 玩一款經典的像素遊戲《Q 伯特》,同樣,AI 在遊戲裡找到了一個無限刷分的嚴重 Bug 並在時間結束之前達到了最高分。不僅如此,當它發現敵人會跟著 Q 伯特一起掉下懸崖後,AI 甚至採取了自殺的方式來獲得更高的分數。

就連《俄羅斯方塊》這樣的遊戲,AI 也能找到自己的另類玩法。由於每增加一個掉落的方塊都會使 AI 的評分略微升高,所以它採取了完全錯誤的遊戲方式——儘可能快的落下每一個方塊並在快要 Game Over 時暫停遊戲以確保自己不會輸。

好像聽上去還蠻聰明的……

雖然在比賽的最後,使用特殊方法獲得勝利的 AI 並沒有得到研究人員的認可,但他們還是表示:

「AI 展示了它如何在沒有人類介入的情況下贏得遊戲勝利,出乎意料其富有創造性,可能會完全顛覆人類對遊戲如何執行的理解。」

人工智慧無意間找到了獲取遊戲勝利更好的方法,雖然暴露了目前人類對於機器學習仍無法完全控制的的缺陷,但也顯露出了 AI 異於人類的創造性火花。正是這種創造性的潛力讓 Deepmind 投入大量的資金來讓人工智慧學習像《星海爭霸II:自由之翼》這樣複雜的競技遊戲。

在 2017 年的暴雪嘉年華上,Deepmind 宣佈將讓自己的 AI 嘗試《星海爭霸II:自由之翼》這樣的遊戲,雖然讓它和世界頂尖選手交戰還為時尚早,但在今年,暴雪表示它已經可以應對其他 AI 的前期速攻戰術。

在《星海爭霸II:自由之翼》中,有人曾經設計出一種名為 「悍馬 2000」 的腳本,雖然它能憑藉操作以極少的兵力戰勝遠多於自己部隊(比如 100 條狗衝破坦克陣),但這是在後台讀取遊戲內部資料的結果,算是真正的作弊,而不是能夠自己學習和進化的 AI。

2 年前,AlphaGo 帶給人類關於圍棋的新理解,也許再過不久,AI 也能用全新的戰術體系來顛覆人類在星際爭霸上的統治。

當然就算失敗了,當一個專門找 Bug 的遊戲測試員也是個不錯的選擇嘛。

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則