「擊敗星際爭霸II職業玩家」的 AlphaStar是在作弊?
「DeepMind 擊敗人類職業玩家的方式與他們聲稱的 AI 使命,以及所聲稱的『正確』方式完全相反。」
DeepMind 的人工智慧 AlphaStar 一戰成名,擊敗兩名人類職業選手。掌聲和歡呼之餘,它也引起了一些質疑。在前天 DeepMind 舉辦的 AMA 中,AlphaStar 項目領導者 Oriol Vinyals 和 David Silver、職業玩家 LiquidTLO 與 LiquidMaNa 回答了一些疑問。不過困惑依然存在……
近日,Aleksi Pietik?inen 在 Medium 上發表了文章,提出了幾點疑問,在 Twitter 和 Reddit 上引起了極大的關註:
- AlphaStar 使用了超人的速度,達到了超人的準確度。
- DeepMind 稱限制了 AI 的操作速度,不至於人類無法企及。但他們並未做到,且大概率意識到自己沒做到。
- AlphaStar 擁有超人速度的原因可能是忘了考慮人類的無效點擊。作者懷疑 DeepMind 想限制它使它更像人類,但是卻沒有做到。我們需要一些時間弄清楚這一點,不過這也正是作者寫本文的原因。
前谷歌大腦科學家 Denny Britz 也轉載了此文章並在 Twitter 上表示:「有時候誠實和謙虛一點,就像『目前已經做得不錯了,但我們還沒有達到最優,還有很長的路要走。』而不是『看!那職業選手被擊敗了!!』,這樣才能走得更遠。最讓我煩惱的是,雖然 AlphaStar 在很多方面都有令人驚訝的結果,但其聲稱『限制在人類的操作水平』的解釋讓整個事件變得更像是在做公關,對於不熟悉機器學習和星際爭霸的人來說這就是誤導。」
讓我們看看 AlphaStar 究竟哪裡「作弊」了,以下為機器之心對該文章的編譯介紹:
首先,我必須聲明我是門外漢。最近我一直追蹤 AI 發展和星際爭霸 2,不過我在這兩個領域都不是專家。如有錯漏,請見諒。其次,AlphaStar 確實是一項巨大成就,我很期待看到它以後的發展。
AlphaStar 的超人速度
AlphaStar 團隊領導 David Silver:「AlphaStar 不能比人類選手反應速度快,也不會比人類選手執行更多點擊。」
2018 年,來自芬蘭的蟲族選手「Serral」Joona Sotala 制霸星際 2。他是目前的世界冠軍,且他在當年的九場大型賽事中取得了七次冠軍,在星際 2 歷史上是史無前例的選手。他的操作速度非常快,可能是世界上最快的星際 2 選手。
在 WCS2018 上,Serral 的毒爆蟲讓局勢逆轉。
在比賽中,我們可以看到 Serral 的 APM(actions per minute)。APM 基本上表示選手點擊滑鼠和鍵盤的速度。Serral 無法長時間保持 500 APM。視頻中有一次 800 APM 的爆發,但只持續了一秒,而且很可能是因為無效點擊。
世界上速度最快的人類選手能夠保持 500 APM 已經很不錯了,而 AlphaStar 一度飆到 1500+。這種非人類的 1000+ APM 的速度竟然持續了 5 秒,而且都是有意義的動作。一分鐘 1500 個動作意味著一秒 25 個動作。人類是無法做到的。我還要提醒大家,在星際 2 這樣的遊戲中,5 秒是很長一段時間,尤其是在大戰的開始。如果比賽前 5 秒的超人執行速度使 AI 佔了上風,那麼它以大幅領先優勢獲取勝利可能是由於雪球效應。
一位解說指出平均 APM 仍是可接受的,但很明顯這種持續時間並非人類所能為。
AlphaStar 的無效點擊、APM 和外科手術般的精準打擊
大部分人類都會出現無效點擊。無意義的點擊並沒有什麼用。例如,人類選手在移動軍隊時,可能會點擊目的地不止一次。這有什麼作用呢?並沒有。軍隊不會因為你多點擊了幾下就走得更快。那麼人類為什麼還要多點擊呢?原因如下:
1. 無效點擊是人類想要加快操作速度的自然結果。
2. 幫助活躍手指肌肉。
我們前面說過 Serral 最令人震驚的不是他的速度而是準確度。Serral 不只是具備高 APM,還具備非常高的 effective-APM(下文中簡略為 EAPM),即僅將有效動作計算在內的 APM。
一位前職業玩家在看到 Serral 的 EAPM 後發推表示震驚:
Serral 的 EAPM 是 344,這實際上已經是前所未有了。APM 和 EAPM 的區別也涉及 AlphaStar。如果 AlphaStar 沒有無效動作,這是不是說明它的巔峰 EAPM 等於巔峰 APM?這樣的話 1000+的爆發更加非人類了。我們還需要考慮 AlphaStar 具備完美的準確率,它的性能好到「荒謬」的程度。它總能點擊到想去的地方,而人類會有誤點擊。AlphaStar 可能不會一直使用巔峰狀態,但在關鍵時刻,它的速度是世界最快選手的 4 倍,而準確率更是人類專業玩家想都不敢想的。星際 2 中存在一個共識:AlphaStar 的執行序列人類無法複製。其速度和準確率突破了人類現有極限。
AlphaStar 只能執行人類選手可以複製的動作?David Silver 不認同這種看法。
正確做事 vs 快速做事
AlphaStar 的首席設計工程師 Oriol Vinyals:我們正在努力構建擁有人類驚人學習能力的智能系統,因此確實需要讓我們的系統以儘可能「像人類一樣」的方式學習。例如,通過非常高的 APM,將遊戲推向極限可能聽起來很酷,但這並不能真正幫助我們衡量智能體的能力和進步,使得基準測試毫無用處。
為什麼 DeepMind 想限制智能體像人類一樣玩遊戲?為什麼不讓它放飛自我?原因是星際爭霸 2 是一個可以通過完美操作攻破的遊戲。在這個 2011 年的視頻(https://www.youtube.com/watch?v=IKVFZ28ybQs)中,AI 攻擊一組坦克,其中一些小狗實現了完美的微操。例如,在受到坦克攻擊時讓周圍的小狗都躲開。
通常情況下,小狗不能對坦克做出太大 傷害,但由於 AI 完美的微操,它們變得更加致命,能夠以最小的損失摧毀坦克。當單元控制足夠好時,AI 甚至不需要學習策略。而在沒有這種微操時,100 只小狗衝進 20 架坦克中只能摧毀兩架坦克。
並不一定對創建可以簡單擊敗星際爭霸專業玩家的 AI 感興趣,而是希望將這個項目作為推進整個 AI 研究的墊腳石。雖然這個研究項目的重要成員聲稱具有人類極限限制,但事實上智能體非常明顯地打破了這些限制,尤其是當它利用超人速度的操作來贏得遊戲時,這是完全無法讓人滿意的。
AlphaStar 能夠在單位控制方面超越人類玩家,當遊戲開發者仔細平衡遊戲時,肯定不會去考慮這一點。這種非人類級別的控制可以模糊人工智慧學習的任何戰略思維評估。它甚至可以使戰略思維變得完全沒有必要。這與陷入局部極大值不同。當 AI 以非人類級別的速度和準確率玩遊戲時,濫用卓越的控制能力很可能變成了玩遊戲時的最佳策略,這聽起來有些令人失望。
這是專業人士在以 1-5 的比分輸掉比賽之後所說的 AI 優點和缺點:
MaNa:它最強的地方顯然是單位控制。在雙方兵力數量相當的情況下,人工智慧贏得了所有比賽。在僅有的幾場比賽中我們能夠看到的缺點是它對於技術的頑固態度。AlphaStar 有信心贏得戰術上的勝利,卻幾乎沒有做任何其它事情,最終在現場比賽中也沒有獲得勝利。我沒有看到太多決策的跡象,所以我說人工智慧是在靠操作獲得勝利。
在 DeepMind 的 Replay 講解和現場比賽之後,星際爭霸玩家群體幾乎一致認為 AlphaStar 幾乎完全是因為超人的速度、反應時間和準確性而獲得優勢的。與之對抗的職業選手似乎也同意。有一個 DeepMind 團隊的成員在職業玩家測試它之前與 AlphaStar 進行了比賽。他估計也同意這種觀點。David Silver 和 Oriol Vinyal 不斷重複聲稱 AlphaStar 如何能夠完成人類可以做的事情,但正如我們已經看到的那樣,這根本不是真的。
在這個視頻中關於「AlphaStar 如何能夠完成人類可以做的事情」的描述非常粗略。
為什麼 DeepMind 允許 AlphaStar 擁有超人的操作能力
現在讓我們回顧一下這篇文章的主要觀點:
- 我們知道了 APM、EAPM 和無效點擊等概念;
- 我們對人類玩家操作能力的上限有一個粗略的了解;
- 我們知道了 AlphaStar 的遊戲玩法與開發人員聲稱允許執行的遊戲玩法完全矛盾;
- 我們的一個共識是 AlphaStar 通過超人的控制能力贏得了比賽,甚至不需要卓越的戰略思維;
- 我們知道,DeepMind 的目標不是創建一個只能微操的 AI,或者以從未打算過的方式濫用技術;
- 令人難以置信的是,在 DeepMind 的星際爭霸 AI 團隊中沒有人質疑爆發的 1500+ APM 是否對於人類而言可及。他們的研究人員可能比我更了解這個遊戲。他們正與擁有星際爭霸系列 IP 的遊戲公司暴雪密切合作,使 AI 儘可能接近人類才符合他們的利益(參見本文前面提到的 David Silver 和 Oriol Vinyals 的提到的前幾個要點和使命陳述)。
這是我對事情真相的猜測:
1)在項目一開始,DeepMind 同意對 AlphaStar 施加嚴格的 APM 限制。因此 AI 不會在演示中出現超人的操作速度。如果讓我來設計這些限制,可能包含如下幾項:
- 整場比賽的平均 APM;
- 在短時間內爆發的最大 APM。我認為每秒加上 4-6 次點擊是合理的。還記得 Serral 和他的 344 EAPM 超越了競爭對手?這還不到每秒 6 次點擊。與 MaNa 對戰的 AlphaStar 版本在連續的時間段內每秒可以執行 25 次點擊。這比人類可以做到的最快無效點擊速度要快得多,我認為原始限制是不允許這樣做的。
- 點擊之間的最短間隔。即使 AI 的速度爆發被限制,它仍然可以在當前所處時間段的某個時刻執行幾乎瞬時的動作並且仍然以非人類的方式執行。人類顯然無法做到這一點。
有些人會主張還可以在準確率上添加隨機性來進行限制,但我懷疑這會過多地阻礙訓練的速度。
2)接下來,DeepMind 會下載數以千計高排名的業餘遊戲視頻並開始模仿學習。在這個階段,智能體只是試圖模仿人類在遊戲中所做的事情。
3)智能體採用無效點擊的行為。這很可能是因為人類玩家在遊戲過程中使用了這種點擊行為。幾乎可以肯定,這是人類執行的最單調重複的行為模式,因此很可能深深紮根於智能體的行為中。
4)AlphaStar 爆發的最大 APM 受限於人類進行無效點擊的速度。由於 AlphaStar 執行的大多數操作都是無效點擊,因此沒有足夠的 APM 可用於在戰鬥中進行實驗。如果智能體未進行實驗,則無法學習。以下是其中一位開發人員昨天在 AMA 上所說的話:
AlphaStar 的首席設計工程師 Oriol Vinyals:訓練人工智慧玩低 APM 非常有趣。在早期,我們讓智能體以非常低的 APM 進行訓練,但它們根本沒有微操。
5)為了加速開發,他們改變 APM 限制以允許高速爆發。以下是 AlphaStar 在演示中使用的 APM 限制:
AlphaStar 的首席設計工程師 Oriol Vinyals:尤其是,我們在 5 秒的時間段內設置的最大 APM 為 600,在 15 秒內最大為 400,30 秒內最大為 320,在 60 秒內最大為 300。如果智能體在此期間執行更多的操作,我們會刪除/忽略這些操作。這些是根據人類統計數據設置的。
這相當於通過統計數字作弊。乍一看,對星際不太了解的人可能會覺得這樣做很合理,但它會允許我們之前討論的超人速度爆發以及超人滑鼠精度,這是不太合理的。
人類進行無效點擊的速度是有限的。最典型的無效點擊形式是對一個單位發出移動或攻擊命令。這是通過用滑鼠點擊地圖某個位置來完成的。請盡你最快的速度點擊滑鼠試試。智能體學會了這種無效點擊。它不會點擊地太快,因為它模仿的人類無法點擊太快。而能讓它達到超人速度的額外 APM 可以被認為是「自由的」APM,它可以用於更多次嘗試。
6)自由的 APM 被用於在交戰中進行實驗。這種交互在訓練中經常發生。AlphaStar 開始學習新的行為以帶來更好的結果,它開始擺脫經常發生的無效點擊。
7)如果智能體學會了真正有用的動作,為什麼 DeepMind 不回到最初對 APM 更苛刻、更人性化的限制呢?他們肯定意識到了其智能體正在執行超人的動作。星際社區一致認為 AlphaStar 擁有超人的微操技術。人類專家在 ama 中表示,AlphaStar 的最大優勢不是其單位控制,而其最大的弱點也不是戰略思維。DeepMind 團隊中玩星際的人肯定也是這麼想的,理由是因為智能體偶爾還是會進行無效點擊。
雖然在玩遊戲的大部分時間裡,它能直接執行有效動作,但它還是經常做無效點擊。這一點在它與 MaNa 的比賽中很明顯,該智能體在 800APM 上無意義地點擊移動命令。儘管這完全沒必要,而且消耗了它的 APM 資源,但它仍不忘記這麼干。無效點擊會在大規模戰爭中對智能體造成很大傷害,它的 APM 上限可能會被修改以使它在這些對抗中表現良好。
不要在意這些細節?
現在你明白是怎麼回事兒了。我甚至懷疑人工智慧無法忘記它在模仿人類玩家過程中學習到的無效點擊行為,因而 DeepMind 不得不修改 APM 上限以允許實驗進行。這麼做的缺點就是人工智慧有了超越人類能力的操作次數,從而導致 AI 以超越人類的手速,不用戰術戰略就能打敗人類。
我們對 APM 如此關心,是因為 DeepMind 擊敗人類職業玩家的方式與他們所希望的方式,以及所聲稱的「正確」方式完全相反。而 DeepMind 放出的遊戲 APM 統計圖也讓我們對此有所洞悉:
這種統計方式似乎是在誤導不熟悉星際爭霸 2 的人。它似乎在把 AlphaStar 的 APM 描述為合理的。我們可以看看 MaNa 的數據,儘管他的 APM 均值比 AlphaStar 要高,但在最高值上 AI 遠高於人類,更不用說在高 APM 時人類操作的有效性了。請注意:MaNa 的峰值是 750,而 AlphaStar 高於 1500。想像一下,MaNa 的 750 包含 50% 的無效點擊,而 AlphaStar 的 EAPM 幾乎完美……
至於 TLO 的「逆天」手速,星際爭霸主播黃旭東和孫一峰在直播時認為他明顯使用了加速鍵盤(通過特殊品牌的鍵盤熱鍵功能,設置某單個快捷鍵/組合鍵代替多次滑鼠點擊)。
加速鍵盤可以讓人類的 APM 達到不可理喻的高度,比如 15,000 多——但並不會提升你的有效操作。
然而,你用加速鍵盤能做的唯一一件事就是無效施法。出於某些莫名的原因,TLO 在濫用這個技術,這種操作的統計結果讓不熟悉星際爭霸的人看起來好像 AlphaStar 的 APM 是在合理範圍之內的。DeepMind 的介紹性博客並沒有提到 TLO 荒謬數字的原因,如果沒有解釋,這個數字就不應該被列在圖中。
這簡直是在統計數字上作弊。
可以說有局限性,可以說潛力巨大
AlphaStar 星際爭霸 2 的人機大戰吸引了人工智慧領域裡很多專業人士的關注,它對於 AI 技術的發展會有什麼樣的啟示。比賽過後,Facebook 研究科學家田淵棟在知乎上表示:
昨天晚上抽空看了一下 DM 的 demonstration 還有 live 的比賽。確實做得很好。
我星際水平很爛,星際 2 也玩得不多,相信大家已經看到了大量的遊戲評論,我就跳過了。
整個系統和 AlphaGo 第一版很接近,都是先用監督學習學會一個相當不錯的策略,然後用自對弈(self-play)加強。當然有兩個關鍵的不同點,其一是自對弈用的是 population-based 以防止掉進局部解(他們之前在 Quake 3 上也用到了);其二是在 network 裡面加了一些最近發表的神經網路模型,以加強 AI 對於遊戲全局和歷史長程關聯性的建模能力(比如說用 transformer,比如說讓 AI 可以一下子看到全部可見區域),這兩點對於不完全信息遊戲來說是至關重要的,因為不完全信息遊戲只能通過點滴的歷史積累來估計出當前的狀態,尤其是對手的狀態,多一點歷史記錄就能學得更好些,這個我們做過一些即時戰略遊戲(MiniRTS)的研究,很有體會。
星際一個很大的問題是輸出的行動空間(action space)巨大無比,我記得他們在一開始做的基線(baseline)演算法裡面用了 language model 輸出精確到單位的行動(unit-level action),但在 DM 的 blog 裡面卻說每個時間節點上只有 10 到 26 種不同的合法行動,然後在他們的 demonstration 裡面「considered Build/Train」下面有 33 個輸出。這些都讓人非常困惑。或許他們在監督學習的時候已經建立了一些子策略(比如說通過聚類的方法),然後在訓練的時候直接調用這些子策略就行了。但具體細節不明,期待完整論文出來。
另外,這次 AlphaStar 沒有用基於模型進行規劃的辦法,目前看起來是完全用經典的 off-policy actor-critic 加大量 CPU 硬來,就有這樣的效果。關於 AlphaStar 輸掉的那局。實話說被簡單的空投戰術重複幾次給拖死了,讓人大跌眼鏡。聯想到 OpenAI Five 對職業選手也輸了,主要還是應變能力不強,無法對新戰術新模式及時建模。
圍棋因為遊戲規則和雙方信息完全透明,下棋的任何一方都可以用蒙特卡羅樹搜索(MCTS)對當前局面進行臨時建模和分析,但不完全信息博弈因為得要估計對手情況就沒有那麼簡單。AlphaStar 目前似乎是無模型的(model-free,Reddit 上的解答確認了這一點)。我不知道是不是在進行充分的訓練之後,純粹無模型(model-free)的方法可以完全達到樹搜索的效果——但至少我們能看到在圍棋上,就算是用相當好的模型比如說 OpenGo,要是每盤都不用搜索而只用策略網路的最大概率值來落子,還是會經常犯錯。所以說,若是在不完全信息博弈裡面用上了基於模型(model-based)的方法,並且能夠穩定地強於無模型(model-free)方法,那在演算法上會是一個比較大的突破。所以其實深度強化學習還是有很多很多很多沒有解決的問題,你可以說它有很大局限性,也可以說它潛力巨大。
在這之上,更難的一個問題是如何讓 AI 具有高層推理的能力。人對將來的預測是非常靈活且極為穩定的,可能會想到一秒後,也可能會想到一年後,而且對新模式可以很快概括總結並加以利用。但真寫點演算法去模仿人的預測能力,就會出現各種各樣的問題,比如說對沒探索過的地方過於自信,多次預測產生累計誤差等等。那麼到底什麼樣的預測模型是穩定有效且靈活的,目前還是研究熱點,沒有一個統一的答案。對應到星際上,人在全局戰略上的優化效率要遠遠高於 AlphaStar,比如說一句「造兩個鳳凰去滅了那個來空投的稜鏡」,可能就頂 AlphaStar 自對弈幾天幾夜。這個效率的差距(可能是指數級的)是否可以用大量計算資源去填補,會是和頂尖高手對局勝敗的關鍵所在。
※Python「八宗罪」
※NeurIPS 2018 | BP不用算梯度,這樣的線性反向傳播也能Work!
TAG:機器之心 |