先贏圍棋,再勝刀塔,跟遊戲較勁的人工智慧要怎麼趕超人類?

文 | 誰是大英雄

「它感覺就像人一樣,但又有些不太一樣。」

當人類最優秀的 Dota2 玩家 Dendi 在面對人工智慧 OpenAI 比賽輸掉對局之後,他有些苦笑的說出這句來評價這個「不一般」的對手。這不禁讓我想起同樣敗負於人工智慧 AlphaGo 的柯潔,在今年 5 月 27 號最後一局圍棋人機大戰結束時,他說:「我只能猜出 AlphaGo 一半的棋,另一半我猜不到,就是差距,我和他差距實在太大。」

人類已經不是第一次在遊戲上輸給人工智慧:圍棋曾是一座高不可攀的山峰,AlphaGo 花了不到 3 年時間(2014 年開始其研究計劃)將人類最頂級選手擊敗,而訓練 OpenAI 和 Dota2 高手進行 1V1 對決,僅僅用了兩周時間,這似乎意味著,人類訓練人工智慧的速度,變得越來越快了。

所以,當我們再回顧人類在遊戲上的失敗,是否能看出這其中究竟包含了什麼?為何 OpenAI、DeepMind 這些人工智慧技術衝擊圍棋成功之後,還要衝擊 Dota2、星級 2 這樣的電腦遊戲?人類的最後一片陣地究竟在哪?一連串問號的背後,還有哪些你不知道的秘密,今天不妨一起來看看。

一場狂歡與失敗

8 月 11 日,能夠容納一萬七千名觀眾的西雅圖鑰匙體育館,來自各地的 Dota 愛好者共同見證了烏克蘭選手 Dendi 與人工智慧 OpenAI 的 1V1 比賽,也見證了 Dendi 不敵 OpenAI,並在戰局最後直接放棄的全過程。對於玩家們來說,這是一場令人難忘的失敗,而對科技愛好者來說,這卻是人工智慧的又一次突破和狂歡。

Dendi OpenAI solo_騰訊視頻 https://v.qq.com/x/cover/t0536idlwgj/t0536idlwgj.html

Dendi 原名 Daniil Ishutin,他的遊戲 ID 為 NaVi_Dendi,是 Dota2 現役選手中,極具實力和想像力的一位,在第一屆以及第二屆 Dota2 國際邀請賽中均獲得過亞軍的成績。而 Dota2 國際邀請賽被認為是全世界影響力最大,級別最高的電子競技賽事,每年全球數以千萬計的愛好者通過現場或者網路在線觀看,中國隊也在這項比賽中有著出色表現。

什麼是 Dota2?如果你不熟悉,可以腦補出《王者榮耀》這款遊戲作類比,本質上《王者榮耀》的玩法和 Dota2 相同,Dota 系列出現的很早,而且幾乎是啟發了所有 MOBA 遊戲的「鼻祖」(包括王者榮耀),而 Dota2 是 Dota 系列的正統續作,不過在這個遊戲中,要玩好遊戲對玩家的操作要求更高,需要思考的內容更多。

所以你可以理解為,Dendi 作為人類玩 Dota2 最出色的玩家之一,輸給了人工智慧,並且是在短短十多分鐘之內。在開打前 Dendi 信心滿滿,毫不畏懼對手的挑戰,在開賽時,全場觀眾高喊「Robot」為人工智慧加油,但當最終 Dendi 輸掉比賽時,所有人都對這一結果感到不可思議,畢竟在以前,電腦可從沒有在 Dota2 中戰勝過人類職業選手。

比賽選擇了頗具技巧的 1V1 對局,這個玩法和大家熟知的王者榮耀 1V1 類似,但在細節上有所差異(我會在後面講到)。在 Dota2 中,常見的有 1V1 和 5V5 兩種對局(當然也有 3V3),如果說 5V5 考量的是玩家和玩家之間的配合以及大局意識,那麼 1V1 則著重考驗玩家對遊戲細節的掌控,包括極限操作、日常基本功的訓練等,儘管不用與隊友配合,但 1V1 比賽仍然是很講究技巧的對局。

(從比賽開始就被 OpenAI 壓制的 Dendi)

人類選手 Dendi 從開局就表現出了職業遊戲選手應有的判斷與操作執行力,但 OpenAI 卻也展現出了足夠「職業」的遊戲水準,在對局開始後,不論是從卡兵線到補刀,再到雙方正面較量時對技能的精準施放,都表現的異常敏銳。

由於是 1V1,所以雙方的對決中細小優勢的積累(經驗的細微差別)往往能造成更大的影響,OpenAI 在開局之後通過良好的「基本功」以及讓人驚訝的操作意識,在經驗和攻擊力上領先了 Dendi。

「請不要欺負我」Dendi 略帶「調侃」的在比賽中喊到,這個職業生涯共贏下 735449 美金的選手竟也招架不住電腦的攻勢,在第一局比賽被 OpenAI 連殺兩次之後,第二局又被殺一次,選擇了放棄對局。

這是一場疾風暴雨式的比賽,僅僅十幾分鐘,人類失敗了,敗給了人工智慧,相比今年 5 月柯潔和 AlphaGo 的圍棋大戰,甚至追溯到 20 年國際象棋中輸給「深藍」。Dendi 的失敗快了很多,但千萬不要以為 Dendi 故意放水,要知道在這場比賽之前,OpenAI 就已經擊敗了另外兩名 Dota2 高手玩家 SumaiL(世界最好的 1V1 選手)和 Arteezy(世界頂級選手)。所以比賽的結果其實早已被預料到,只不過沒有想到它能讓人類玩家輸的這麼慘。

比賽結束後,OpenAI 背後的大佬 Elon Musk 發了條推特,很顯然他對 AI 在這場比賽中戰勝人類非常高興,並表示:「OpenAI 這場比賽勝利要比圍棋和國際象棋複雜得多。」所以這裡有一個疑問出現:到底 Dota2 這樣的遊戲和圍棋相比哪裡更「複雜」?OpenAI 又為什麼會取勝?

一次升級與變革

Elon Musk 的說法不完全正確,事實上,圍棋和 Dota2 這樣的遊戲在複雜度上不在同一維度,而他所理解的複雜度,在當天那局比賽中也並沒有完全展示出來。

首先我們要理解,圍棋和 Dota2 這樣的遊戲,本質上有著不同的難點,並不是 Elon Musk 認為 Dota2 比圍棋複雜,就是圍棋沒有難度了。

大家都知道圍棋很難,它的難度在於其高度抽象性,黑白兩種顏色的棋子,要在 19*19 的棋盤之上,窮盡出所有的變化,這個量級能達到 10 的 170 次方(在圍棋的合法規則下),遠遠超過了國際象棋(後者變化是 10 的 64 次方),這也是為什麼圍棋是最後才被機器「攻克」的棋類遊戲山頭。

宇宙中原子的數量大約是 10 的 79 次方,而圍棋的變化竟比原子數量還要多,所以想要用窮舉的方法將圍棋所有可能出現的情況裝進機器里,這是計算機難以做到的事情,也是過去人類遲遲沒有找到辦法讓機器圍棋戰勝人類的原因。所以當 DeepMind 通過訓練人工智慧 AlphaGo 戰勝人類之後,才引起了強烈轟動,因為藉助深度學習技術,人類第一次讓計算機展現出了創造性「思考」的能力。

(圖片來自 AI Research)

至於 Dota2,它是歸屬於 MOBA 類型的競技遊戲:遊戲中每個玩家要選擇一個英雄角色,通過與對手的較量,積累優勢,並最終摧毀敵方基地獲勝。從遊戲本質講,它的變化更多在於團隊配合與戰局的分析,時機的掌控,包括隨機應變的能力等。

Dota2 這樣的遊戲,難點在於競技的雙方陣容有著不同的搭配和剋制關係。遊戲中有「敏捷」「智力」和「力量」三種不同類型,一共 113 名不同的角色(另外還有 148 件不同特性的裝備),這些技能各異的英雄之間有著微妙的平衡與制約。當團隊對抗時,不但要比拼操作上的技巧,更重要的是陣容的平衡以及局勢的判斷,什麼時候進攻,什麼時候撤退,當隊友被殺時是選擇支援還是暫時撤退,這些考驗分工協作和團隊配合的操作,不單單需要有「創造性思考」的能力,更要有團隊配合與隨機應變的能力。

(Dota2 的一大難點在於陣容的搭配與剋制)

所以,Elon Musk 所說的複雜,是在圍棋之後更進一步加入新能力的複雜,它在嘗試的新問題是「人工智慧之間的配合」以及「不完全掌握戰局情況下局面的判斷」,但這並不意味圍棋不複雜。這時我們可以進一步去看,就知道為什麼 OpenAI 當天的比賽並沒有完全展現出 Dota2 這款遊戲的「複雜」?

OpenAI 和 Dendi 的對決中,選擇的是 1 對 1「單挑」的形式。這種形式不要求隊友的配合,只考慮玩家個人基本功以及細節操作,所以這時候訓練 OpenAI 就不需要考慮團隊配合,只需要讓它掌握個人技巧,在這一點上 OpenAI CTO Greg Brockman 在當天比賽中這樣介紹:

「我們只是通過讓它自己玩遊戲來訓練自己,我們沒有為它指定任何戰術,沒有讓它從人類高手那裡學習,從最開始它就是自己和自己在進行訓練,完全進行充滿隨機性結果的訓練,開始進步很緩慢,不過最終達到非常專業的水準。」

「它最開始選擇英雄後會到處亂跑,然後被防禦塔幹掉,但逐漸能夠掌握到一些戰術,比如一開始進行兵線清理時不懂得什麼是兵線,但後來可以學會補刀。這是經過非常多細微提升之後,它們變得像一個非正式選手,之後變得更有攻擊性,更懂得去做一些引誘(戰術)。」

這樣的方式正是 OpenAI 團隊用短短兩周時間就被訓練出來戰勝人類的原因所在,在 OpenAI 的官網上有一小段視頻,告訴大家它究竟學會了哪些東西:

看AI如何學習Dota2技巧_騰訊視頻 https://v.qq.com/x/cover/i053845u3m0/i053845u3m0.html

  • 補刀(Last Hitting):給小兵最後一擊以獲得金幣
  • 轉移仇恨(manipulating Creep aggro):在遊戲中通過誘導攻擊改變小兵和防禦塔的攻擊對象
  • 卡兵線(Creep Blocking):在雙方軍團兵線前進的路上利用物理碰撞改變小兵的路徑,從而達到延緩兵線的目的。
  • 壓制(Zoning):在地方不補刀獲取經驗和金錢時進行騷擾。
  • 攻擊閃避(Raze Dodging):通過學習技能攻擊與施放效果來更好躲避傷害。
  • 攻擊誘騙(Raze Faking):通過施放技能和改變攻擊對象向敵人發起佯攻從而遏制敵人。
  • 新情況(New Situation):通過訓練來處理遊戲中發生的非常規事件,比如敵人出三隻運裝備的動物信使時應該如何處理。
  • 追殺(Chasing):長距離追逐對方虛弱敵人並完成擊殺。

你不必完全了解這些指令都是什麼意思,你只要知道 OpenAI 通過「左右互搏」的訓練方式,已經具有比肩人類選手的「單挑」能力,而這個過程,是人類玩家長年累月練習才能達到的技巧,但這個訓練背後,OpenAI 暫時沒有團隊配合的能力。

一定有人好奇,以前我們在玩單機遊戲時不就存在著 AI 機器人的說法嗎?那麼這些人工智慧專家現在在訓練的 AI 究竟有哪些不同之處?

很重要的不同在於,過去在這些遊戲當中存在的 AI 機器人,他們也許比你有更好的操作細節,但它們整體是「機械」的,它們不會思考,更不要說有自己成型的戰略體系。過去我們不論是打紅警也好,星際也好,選擇一個「冷酷的敵人」,它們通過「作弊」的方式形成優勢,就是資源更多,軍隊訓練更快,或者科技更快,但它們都沒有自己的「戰術」,在職業玩家眼裡,它們只是用來熱身的工具罷了。

「這是重複了一個又一個生命周期後形成的經驗,所以它探索了各種不同的戰術,它從那些擊敗他的對手中學習,同時比任何人類都探索著更多的戰術。」

Greg Brockman 在賽後的簡單採訪中這樣表示了 OpenAI 的學習能力,所以讓我們更期待的,其實應該是 OpenAI 要在一年之後,正式挑戰 Dota2 的團隊賽,到明年,也許我們真正能夠看到它和圍棋相比所展現出的「複雜」,那或許才是真正的「變革」。

博弈遊戲的邊界與融合

這邊 OpenAI 在訓練 Dota2,那邊 DeepMind 和 Facebook 在緊鑼密鼓的訓練著星際爭霸 2,為什麼這些專註於人工智慧技術的前沿科技公司,不約而同的都熱衷於從電腦遊戲中訓練人工智慧?這個問題你是不是也好奇過?

從石頭剪刀布到麻將、紙牌,從圍棋到 Dota、星際爭霸,這些遊戲的過程或簡單或複雜,但卻有著天然的相似性,我們稱之為「博弈」。從很早以前,人們就已經嘗試定義什麼是遊戲,路德維希·維特根斯坦最早希望從諸多要素中對遊戲進行定義,其中一項就是「競爭」。「博弈」是最能展現出社會複雜性特徵的要素之一,人工智慧挑戰圍棋之後再挑戰 Dota2 和星際二,一個重要原因也在於此。

在圍棋的對局中,雙方隨時都能看到對方目前的情況,意味著玩家沒有隱藏信息,過去的所有信息一目了然,所謂知己知彼,靠的是玩家對於遊戲規則的透徹理解和想像力,大家熟知的國際象棋、圍棋等都是這樣,它們被稱為「完全信息博弈遊戲」。圍棋作為「完全信息博弈遊戲」最複雜的代表,成為了人工智慧要戰勝的目標,AlphaGo 的勝利意味著這種類型的遊戲已經不再是人工智慧的盲區。

有了「完全信息博弈遊戲」,自然就有「不完全信息博弈遊戲」:對局的雙方無法完全了解遊戲局勢,在瞬息萬變的局勢下,雙方需要根據當前狀況進行一定的猜測和判斷,這種判斷和猜測的基礎是對於收集的有限信息來進行的,所以這些猜測和判斷可能會贏也可能會輸,這種博弈不但要抓時機,還要「猜得准,所以靠的不光是對規則的掌握,更是如何在獲取不到足夠信息之下贏得「最優局」,這方面,Dota2 以及星際爭霸 2 是最典型的代表。

(Dota2 和 星際爭霸2 比較)

雖然屬於不同類型的遊戲,但 Dota2 和星際爭霸 2 有著相似之處:

第一,遊戲中對局雙方無法知曉全部信息。戰場籠罩的「戰爭迷霧」讓雙方不能直接看到當前對方局勢,只能夠通過不斷偵查獲取信息從而進行判斷。

第二,遊戲中實力的變化更加動態化。沒有誰是絕對強勢和弱勢,真正勝利的一方也許是在某一時間點抓住了對方的弱勢,而這一時間點的判斷是通過偵查和經驗判斷來做出的複雜決策。

第三,對局雙方可以通過誘導、佯攻的方式改變戰場走向。即便處於弱勢,也能通過一些心理博弈達到局勢的轉化。

不過,Dota2 和星際 2 有所不同,星際爭霸 2 是一款即時戰略遊戲(Real-time Strategy,簡稱 RTS),它本身的規則就是,通過建造戰爭工廠,採集資源,生產不同的兵種,來完成對於對方的戰爭勝利,和我們小時候玩過的紅警、帝國等遊戲類似,但又有不少區別:

  • 在星際 2 當中,玩家可以選擇神族、人族和蟲族中的一方,這三個陣營除了兵種不同之外,作戰方式和發展方式也明顯不同,而紅警、帝國當中不同國家的設定基礎都是一樣的。
  • 星際 2 中沒有絕對強勢的兵種和絕對弱勢的兵種,不同於紅警和帝國中某些兵種的設定,星際 2 中的兵種屬性平衡做的非常好,強大的兵種需要耗費更多資源,並且也有其自身的弱點。
  • 星際 2 中的資源有限,(兵種)人口有限,如何在有限的資源內生產不同類型的兵種,搭配形成最大的優勢是玩家在偵查之後要做出的決策,而紅警、帝國這樣的遊戲不存在這樣的限制。

不論是 Dota2 還是星際 2,在現實世界中,我們遇到很多場景都類似這些遊戲這樣的「不完全信息博弈遊戲」:不但局面複雜多變,而且獲得的信息往往是有限的,往往需要多方協作達成最優解。所以人類一旦能訓練出這種具有處理「不完全信息博弈遊戲」的人工智慧,將會徹底改變我們的決策策略,在醫學檢查、金融分析甚至是戰爭分析中都將發揮巨大的作用。這也是為什麼 DeepMind 和 OpenAI 會花大力氣去進行這些遊戲的研究所在,也是 Elon Musk 看到 OpenAI 初戰告捷之後發推特來表示驕傲的原因。

可以說,正是因為有 Dota2 和星際爭霸 2 這樣的遊戲存在,才使得人工智慧有機會從更高層面影響人類社會,在「不完全信息博弈遊戲」中,人工智慧的飛躍會將我們的認知帶到一個嶄新的層面。

在看得見的未來

訓練一個強大的人工智慧顯然是困難的,但這個訓練速度卻在加快。

在早期的 AlphaGo 訓練中,通過對 30 萬盤圍棋的學習,計算機開始擁有應對這些不同棋局的能力,這個過程不僅僅是記住這 30 萬盤圍棋,更是通過棋局泛化出學習能力,具有了像人一樣的「棋力」。

訓練圍棋的過程,科學家們使用的是蒙特卡洛樹搜索與兩個深度神經網路(策略網路和價值網路)相結合的方法:策略網路的作用是選擇在哪裡落子,價值網路的作用是衡量走這一步對全局的影響。

之後,通過讓 AlphaGo 自身與自身進行「左右互搏」,在隨機變換棋局的情況下不斷提升水平,這種學習叫做鞏固學習,AlphaGo 可以自己給自己設問題,並自己做出解答,而不論是問題還是答案,圍繞的統統都是「贏棋」這一目標。在今年 5 月與柯潔對戰時,DeepMind 官方稱其已經不再需要觀看棋譜了,整個過程花了不到三年時間。

和 AlphaGo 不同的是,在 OpenAI 的訓練中,它們直接選擇了「左右互搏」的方式,OpenAI 在沒有學習任何比賽經驗的情況下,自己摸索出了獲得勝利的方法,這個過程重複了兩個禮拜,就戰勝了人類最厲害的職業選手。

雖然目前不知道 OpenAI 是否會在之後的訓練中參考人類比賽時的資料,但可以確信的是,通過讓人工智慧自己去理解遊戲中的各種要素,自己摸索規則學會在遊戲中獲勝的這個方法,將來可能適用於更多領域,換句話說「左右互搏」的方式也許將會適用於許多場景的人工智慧訓練上,而且訓練速度也許越來越快。

對遊戲玩家而言,一個更加聰明的 AI 自然能夠對遊戲水平起到不錯的提升,也許當我們再去玩一些劇情遊戲時,故事走向能根據玩家的行為作出相應的調整,顯得更加有互動性。

而對人類來說,一個更聰明的人工智慧不僅將幫助我們完成複雜局勢的輔助決策,它公正、理智且不需休息,最重要的是,它的進化速度將會慢慢超過我們的認識,如《未來簡史》作者尤瓦爾·赫拉利所說:AI 會改變人類變革的基本原則,讓我們的生命會從一個有限的有機體變成無限的無機體。

頭圖來自視覺中國

原文鏈接 → 先贏圍棋,再勝刀塔,跟遊戲較勁的人工智慧要怎麼趕超人類?

推薦閱讀:

首戰告負:王者不戀戰,機器無哀言
圍棋人機大戰一周年:被AlphaGo改變的世界
Master 橫掃圍棋各路高手,是時候全面研究通用人工智慧了!
《深度卷積網路:從AlphaGo到GAN》連載:1.3.6~1.4.5

TAG:人工智能 | AlphaGo | openai |