當我昨天看到OpenAI的人工智能,在一項獎金2400萬美元的電子競技賽事上,擊敗DotA2人類頂級高手時,整個人感覺超興奮。
這是因為,一方面我是一個電子競技的粉絲。盡管沒玩過DotA 2,但我經常在Twitch上觀看其他其他電競賽事,高中時我還當過一陣半職業選手。
更重要是的,像DotA這類多人在線戰術競技游戲(MOBA),以及星際2這類實時策略游戲(RTS),通常被認為遠超目前人工智能的駕馭能力。因為這兩類游戲需要長期戰略決策、多人合作,比國際象棋、圍棋有著更復雜的狀態和動作空間。
DeepMind已經在星際2上研究了一段時間,前不久剛剛發布了新的進展,但目前為止,相關研究還沒有取得重大突破。大家普遍認為,距離人工智能在星際2上吊打人類頂級玩家,至少還有一兩年的時間。
這就是OpenAI這個成果如此令人震驚的原因。這是怎么回事?最有有什么人工智能方面的突破是我沒有注意到的么?于是我開始研究這個DotA 2人工智能到底干了什么,它是如何訓練的,以及在什么樣的游戲環境中運行。
我的結論是:這是一個令人印象深刻的成就。但不是一次AI上的突破。
通過這篇文章,我想提供一個關于此事的清醒解釋。實際上,過度炒作人工智能的進步才是真正危險的事情。例如,下面這位在推特上的發言,才是真正的誤導。
這是伊隆·馬斯克的推特,這位硅谷鋼鐵俠不單創辦了特斯拉,而且創辦了OpenAI。上面這篇推特中,馬斯克大意是說:OpenAI搞出了史上首個擊敗電子競技頂級玩家的人工智能。這比搞國際象棋和圍棋什么的復雜多了。
在第二條推特中,馬斯克再次發表曾被AI屆猛轟的觀點:沒人喜歡被管制,但對公眾構成危險的一切(汽車、飛機、食品、藥物等)都應該受到管制。AI也是一樣。
當然,馬斯克還發了一條,就不翻譯了,貼圖如下
首先要聲明的是,我今天要談及的炒作或者誤導,并不是OpenAI研究人員的錯誤。OpenAI一直在研究方面都有諸多貢獻。目前,OpenAI還沒有公布他們解決方案的細節,所以外界很容易就會得出錯誤的結論。
現在開始切入正題。我們先來看看DotA 2的人工智能程序,到底解決了一個多困難的問題?尤其是與AlphaGo相比。
1v1不能與5v5相提并論
在正常的DotA 2游戲中,兩個對抗的隊伍各由五名玩家組成。游戲過程中需要高級策略、團隊溝通和協調,一局比賽通常要45分鐘。
而這次人工智能擊敗人類的比賽,采用了1v1的模式,這種模式有太多限制。例如雙方基本上只能沿著單線前進,并嘗試擊殺對方,游戲過程幾分鐘就結束了。
在1v1模式中,擊敗對手主要靠機械技能和短期策略,并不涉及長期規劃和協調,而后者才是對當前AI技術來說最具挑戰性的部分。
事實上,在這次的人機DotA 2對抗中,可以采用的有效動作數量,少于圍棋人機大戰;有效的狀態空間(目前局面情況),如果以智能的方式表示,應該比圍棋要小。
AI可以獲取更多信息
OpenAI的人工智能程序,極有可能是構建在DotA 2原有的機器人接口之上,可以獲取更多人類玩家看不到的信息。即使OpenAI的研究人員限制了這些信息的獲取,人工智能仍然能夠得到比人類更精準的信息。
例如技能的施放,人類玩家必須緊盯屏幕,并且估算與對手之間的距離。而AI知道確切的距離,并且能立即決定是否施放技能。獲得精準的數字信息是一個很大的優勢。其實對戰過程中你就能看到,AI有幾次攻擊都是在最大距離上展開。
反應時間
AI可以立即作出反應,人類不行。再加上剛才說的信息優勢,AI的優勢進一步擴大了。比方,一旦對手逃離攻擊范圍,AI可以立刻取消攻擊命令。
使用單一英雄
DotA 2中有上百種不同的英雄角色,各具不同的能力和優勢。而AI掌握的只是其中一個英雄:Shadow Fiend(影魔)。影魔通常會立刻展開攻擊,而不是在一段時間內學習掌握更復雜的攻擊技能,這更加有利于發揮AI在信息和反應方面的優勢。
所以,鑒于1v1主要比拼機械技能,AI擊敗人類玩家并不奇怪。鑒于游戲環境被嚴格限制,造成一些列戰術和策略也被限制,而且對戰中幾乎沒有必要進行長期規劃或協調。
再次重申我的結論:這次AI擊敗DotA玩家,比在圍棋中擊敗人類冠軍要容易得多。人類沒有在AI領域突然取得突破。
這次在DotA對抗中之所以AI獲勝,是因為研究人員聰明的設置了問題,使得AI可以繞過目前人工智能的技術限制。
據說這個OpenAI訓練這個AI打DotA花了2周。與之相比,AlphaGo在Google的GPU集群上進行了數月的分布式大規模訓練。兩個程序之間的計算要求有著數量級的區別。
最后夸夸這個會玩DotA的AI,到底有何精彩之處?
完全通過自學訓練
AI不需要任何訓練數據,也不會從人類的比賽中學習。整個學習過程隨機開始,并且通過和自己對抗進行學習。雖然這不是什么新技術,但令人驚訝的是,AI學會了人類玩家已經在使用的技術。這很酷。
AI可能還有其他技術,甚至人類都不知道。這與我們在AlphaGo中看到的類似,圍棋選手已經開始學習AI的下棋方式。
AI+電競的重要一步
在具有挑戰性的環境中(例如DotA 2和星際2)來測試AI技術是非常重要的。AI可以為游戲提供更多的價值,游戲也會助推AI更快發展。
不完美信息
在DotA對決中,人類玩家智能看到地圖的一小部分,視線受到妨礙。AI可能也一樣,雖然還不清楚OpenAI如何處理這個問題的細節。
這意味著與圍棋、國際象棋、Atari游戲機等環境不同,AI在DotA中處于一個部分可觀察的環境,而無法獲知關于游戲當前狀態的完整信息。這類問題通常難以解決,話雖如此,但目前還不清楚1v1的DotA 2比賽中,視野的重要性到底幾何。
不管怎樣,非常期待看到OpenAI關于這次比賽的技術報告。