為了取得高分,AI沒有按常理玩遊戲

為了取得高分,AI沒有按常理玩遊戲
我們想讓你知道的是

一項研究測試不同演算法玩遊戲的能力,無意中發現了其中一個遊戲的漏洞。

弗萊堡大學(University of Freiburg)一個研究團隊上個月在arXiv貼出論文預印本,探討機械學習領域中,演化策略(Evolution Strategies, ES)演算法跟強化學習(Reinforcement Learning, RL)的表現有何分別。

實驗中他們以八個Atari遊戲作測試,讓兩套演算法運行各自一小時及五小時,再比較分數。

在其中一個遊戲的測試中,研究人員發現ES演算法發現了兩個有趣的玩法。

這個遊戲稱為Q*bert,是1982年面世的經典街機遊戲,其後出現不同平台版本。實驗版本的遊戲畫面中,總共有6層共21個方格(頂層一格、第二層兩格、第三層三格,如此類推),踏上格子會使其變色,玩家每次可跳到鄰近一格,並需要將每格變成特定顏色才可過關。

當然,遊戲不會這麼簡單,期間還會出現一些敵人,需要避開或者殺死。另外,如果玩家在邊緣跳下便會死亡。

研究人員指出,演算法其中一個特別的玩法是,在遊戲開始時取得一些分數,然後不再追求完成那一關,反而控制主角站在邊緣,引誘敵人一起「自殺」。因為它發現如果敵人在主角旁邊,而它跳下去時,敵人會跟隨自己跳下,雖然會失去一條生命,但殺死敵人又會取得足夠分數獲得額外生命,於是它令主角周而復始地跟敵人自殺,不斷取得更高分數。

以下是遊戲影片︰

另一個特別玩法相信源於演算法發現了遊戲設計的漏洞,它先完成第一關,再讓主角以看起來隨機的方式跳來跳去。基於不明原因,遊戲並未前往至第二關,反而所有格子開始以不同顏色閃來閃去,主角不斷跳,分數就一直增加︰

不過研究人員也提到,演算法並非每次都利用這個漏洞取得高分數,有不少時間都取得低分。也有些時候,雖然演算法成功找到漏洞,卻所有格子開始閃的時候「自殺」︰

Q*bert最初街機版本的設計者戴維斯(Warren Davis)表示,他不熟識其他版本,但這種玩法看起來不太對勁,應不會在街機版本見到。

相關文章︰

資料來源︰

或許你會想看
更多『新聞』文章 更多『科技』文章 更多『Kayue』文章
Loader