AI研究和實(shí)用化,為何從棋牌開始?
為什么在人工智能領(lǐng)域,科學(xué)家總是熱衷于讓AI跟人類下棋,玩游戲?從簡(jiǎn)單的跳棋、五子棋,到更加復(fù)雜的中國(guó)象棋、國(guó)際象棋,以及最近非常熱門的圍棋和德州撲克。每次AI在某個(gè)智力游戲上成功地?fù)魯∪祟愡x手,便會(huì)讓大家唏噓不已,慨嘆AI會(huì)在不久的將來取代人類…
幸運(yùn)的是,AI接手地球還并未發(fā)生。我們不僅不需要如此杞人憂天,而且還會(huì)欣喜地發(fā)現(xiàn)人工智能的技術(shù)進(jìn)步給生活帶來了更多便利。一個(gè)會(huì)下棋的AI也并非科學(xué)家的終極目標(biāo),其更積極的意義在于,AI算法在研究棋藝的過程中不斷精進(jìn)和提升,會(huì)帶來更多設(shè)計(jì)上的創(chuàng)新,從而在根本上提升人工智能算法的能力和適用范圍。
而科學(xué)家之所以樂于選擇棋類游戲,一方面是因?yàn)樗鼈冏怨乓詠砭捅徽J(rèn)為是人類智力活動(dòng)的象征,模擬人類活動(dòng)的AI自然要以此為目標(biāo)。成功達(dá)到人類甚至高于人類水平,可以吸引更多人關(guān)注并投身于人工智能的研究和應(yīng)用中來。
另一方面,棋類也很適合作為新的AI算法的標(biāo)桿(Benchmark)。棋類游戲的規(guī)則簡(jiǎn)潔明了,輸贏都在盤面,適合計(jì)算機(jī)來求解。理論上只要在計(jì)算能力和算法上有新的突破,任何新的棋類游戲都有可能得到攻克。
除了棋類游戲,牌類游戲(比如德州撲克、橋牌、麻將、斗地主等)也逐漸成為人工智能研究的新方向。而在更加大型的電子游戲方面,比如星際爭(zhēng)霸、我的世界(Minecraft),科學(xué)家也開始了新一輪的AI算法的創(chuàng)新。這些不同的游戲在研究人員的眼里究竟有什么區(qū)別?這些研究成果對(duì)我們的生活又有什么意義呢?下面我們就為大家扒一扒這兩個(gè)問題。
棋牌類AI家族了解棋牌類AI,我們可以先從它的分類講起。這一家族按照牌面“坦誠(chéng)”度的不同,可以分為兩支脈絡(luò):一支擅長(zhǎng)“打開天窗說亮話”,另一支則是“猜測(cè)推理”的智能高手。
國(guó)際象棋、圍棋等盤面信息都是公開的,對(duì)弈雙方接收到的信息完全相同,因此也被稱為“完全信息類”的AI博弈;而德州撲克、橋牌、麻將等游戲,每個(gè)人無法看到對(duì)手手里的牌,所以稱之為“非完全信息類”的AI博弈。
完全信息類——看得到我就算得出
顧名思義,即棋面信息大家都可看到,博弈雙方接收到的信息是完全對(duì)等的,如國(guó)際象棋和圍棋。此類博弈中,AI每次只需要根據(jù)當(dāng)前盤面,搜索計(jì)算以后各種情況下自己的勝率。為了提高搜索效率,一般需要對(duì)搜索過程中產(chǎn)生的“博弈樹”進(jìn)行廣度和深度剪枝。就是我們平常下棋時(shí)常說的算多遠(yuǎn)和算多準(zhǔn)。為了算得遠(yuǎn),我們一般需要讓AI少看對(duì)手和自己不太可能走的地方,稱之為策略函數(shù)。為了算的準(zhǔn),我們需要更加準(zhǔn)確地評(píng)估多步后的盤面自己的勝率,稱之為價(jià)值函數(shù)。找到了合適的函數(shù),再加上計(jì)算機(jī)的強(qiáng)大計(jì)算力,讓AI達(dá)到或超過人類成為可能。在博弈樹和策略價(jià)值函數(shù)的選擇上,“完全信息類”棋類AI算法經(jīng)歷了從“AlphaBeta剪枝算法”、“蒙特卡洛樹搜索”到“深層神經(jīng)網(wǎng)絡(luò)”的迭代更新,功能也不斷“進(jìn)化”。
跳棋、五子棋 | 難度指數(shù) ★
跳棋和五子棋的空間復(fù)雜度較低。甚至在不需要對(duì)博弈樹剪枝的情況下,計(jì)算機(jī)憑借強(qiáng)大的計(jì)算能力便可以計(jì)算所有盤面的可能。所以在這種相對(duì)簡(jiǎn)單的棋類游戲中,人類已經(jīng)不存在戰(zhàn)勝AI的可能。
中國(guó)象棋、國(guó)際象棋 | 難度指數(shù) ★★★
象棋的空間復(fù)雜度較高,暴力求解的方法并不可行。但是相對(duì)而言容易找到適合的價(jià)值函數(shù)。以國(guó)際象棋為例,可以根據(jù)棋盤上殘留棋子的類型和位置給出一個(gè)大致的評(píng)分。比如,棋盤上如還有皇后加10分,有車加5分,有馬加3分,以此為基礎(chǔ)計(jì)算函數(shù)。為了提高效率,國(guó)際象棋還有巨大的開局和終局?jǐn)?shù)據(jù)庫(kù)來保證殘局計(jì)算的準(zhǔn)確度。依靠這些規(guī)則,1997年“深藍(lán)”第一次戰(zhàn)勝了人類國(guó)際象棋冠軍。其后,電腦象棋程序甚至可以在PC上運(yùn)行并擊敗頂級(jí)人類選手。
圍棋 | 難度指數(shù) ★★★★
圍棋的空間復(fù)雜度高,據(jù)估計(jì)圍棋的決策點(diǎn)大概有10的170次方之多。找到合適的策略和價(jià)值函數(shù)一直是圍棋AI的核心問題。蒙特卡洛樹搜索算法用概率的方法幫助圍棋AI找到了一個(gè)較為準(zhǔn)確的價(jià)值函數(shù),并幫助程序達(dá)到了業(yè)余高段的水平。而借助深度神經(jīng)網(wǎng)絡(luò),研究員尋找到了更好的策略和價(jià)值函數(shù)的計(jì)算方法。通過增強(qiáng)學(xué)習(xí),AI還可以無限模擬各種對(duì)弈情境,生成上億數(shù)據(jù),用來訓(xùn)練生成更準(zhǔn)確的函數(shù)。集大成的 “AlphaGo”在2016年以4:1歷史性戰(zhàn)勝了世界頂級(jí)圍棋棋手李世石。而正在進(jìn)行的AlphaGo新版本與柯潔之戰(zhàn),不知道又給我們帶來何種新算法和啟示。
非完全信息類——三缺一也不怕了嗎在博弈過程中,如果雙方得到的信息是不完全、不對(duì)等的,需要通過猜測(cè)對(duì)方底牌計(jì)算概率,就屬于非完全信息類,如德州撲克、橋牌、麻將等。
非完全信息博弈要求更為復(fù)雜的推理能力,不僅要看別人打了什么牌,還要猜測(cè)別人手里有什么牌,并根據(jù)對(duì)手行動(dòng)暗示出的信息,來計(jì)算自己的最優(yōu)出牌出法。由于對(duì)手的行為不僅暗示他的信息,也取決于他對(duì)我們的私人信息有多少了解,我們的行為透露了多少信息。所以,這種“循環(huán)推理”,導(dǎo)致一個(gè)人很難孤立地推理出游戲的狀態(tài)。
現(xiàn)代博弈理論創(chuàng)建者、計(jì)算機(jī)先鋒馮·諾依曼有句名言,用來形容非完全信息類對(duì)弈再合適不過:“現(xiàn)實(shí)世界有很多假象、騙術(shù),需要你去思考別人對(duì)你的策略到底看穿了多少。這就是我提出的理論所涉及的博弈。”
德州撲克 | 難度指數(shù) ★★★★
德州撲克的搜索復(fù)雜度是10的160次方,和國(guó)際圍棋接近。博弈中主要采用“納什均衡”原理——在一個(gè)特定時(shí)刻,尋找相對(duì)于其他參與人的最優(yōu)反應(yīng)。與圍棋相比,撲克不僅要根據(jù)不完全信息進(jìn)行復(fù)雜決策,還要應(yīng)付對(duì)手的虛張聲勢(shì)、故意示弱等招數(shù)。去年年底,來自阿爾伯塔大學(xué)、查爾斯大學(xué)和布拉格捷克理工大學(xué)的計(jì)算機(jī)科學(xué)家開發(fā)的DeepStack在二人無限注德州撲克中打敗了人類職業(yè)玩家;今年年初,卡內(nèi)基?梅隆大學(xué)所開發(fā)的Libratus又擊敗了四個(gè)更加優(yōu)秀的職業(yè)選手,這是AI在不完全信息博弈中堪稱里程碑式的突破。對(duì)于人工智能而言,下一個(gè)挑戰(zhàn)是征服多人撲克。
麻將 | 難度指數(shù) ★★★
目前麻將主要風(fēng)靡于亞洲,所以國(guó)標(biāo)麻將和日本麻將都有比較強(qiáng)的AI,高于人類平均水平,但是和人類頂尖高手的水平還是有較大的距離。麻將的搜索復(fù)雜程度遠(yuǎn)遠(yuǎn)小于圍棋和德州撲克,但是由于(一般)是四人博弈,其對(duì)技術(shù)的要求和二人零和博弈(例如一對(duì)一德州撲克)很不相同。二人零和博弈的解法主要是尋找納什均衡策略或近似納什均衡策略,多人博弈中由于存在多個(gè)均衡的可能性以及多人的相互影響,納什均衡策略沒有任何性能的保證,從技術(shù)上來講這意味著大家?guī)缀跻獜念^再來,這在技術(shù)上帶來了新的挑戰(zhàn)(和多人撲克比較類似)。
星際爭(zhēng)霸,我的世界 | 難度指數(shù) ★★★★★
星際爭(zhēng)霸和我的世界這類游戲的復(fù)雜程度不僅在信息的不對(duì)稱,更在于其更加開放的游戲規(guī)則。此類游戲更加類似人們?cè)诂F(xiàn)實(shí)世界中遇到的情況。游戲規(guī)則的開放性讓游戲世界會(huì)出現(xiàn)很多計(jì)算機(jī)很難處理的新情況。比如特殊的從未出現(xiàn)過的地形特點(diǎn),對(duì)手長(zhǎng)時(shí)間的密謀和規(guī)劃等。排除計(jì)算機(jī)在運(yùn)行速度上的優(yōu)勢(shì),計(jì)算機(jī)還未真正在這些游戲上證明自己的能力。
小貼士:與完全信息類對(duì)弈相比,有時(shí)候德州撲克、麻將對(duì)弈輸了,不全是因?yàn)榇虻貌缓?,有可能從一開始牌不好,所以贏面比較低。運(yùn)氣的成分在這類棋藝比賽中非常重,這一點(diǎn)與國(guó)際象棋和圍棋大不同。在圍棋中,專業(yè)選手和非專業(yè)選手的對(duì)決,從來不會(huì)因?yàn)檫\(yùn)氣的存在而馬失前蹄或極其偶然地咸魚翻身。
棋牌類AI的意義在哪里?從社會(huì)層面的反饋看,有人會(huì)顧慮,機(jī)器對(duì)弈人類獲得成功,會(huì)破壞棋類藝術(shù)本身的意味,它們會(huì)讓專業(yè)棋手的價(jià)值受到挑戰(zhàn),甚至讓更多的人放棄學(xué)習(xí)棋類運(yùn)動(dòng);有人卻覺得這樣的賽事可以普及各種棋類,讓更多人對(duì)這些棋類、游戲等產(chǎn)生興趣;還有人會(huì)夸大AI帶來的對(duì)人類的威脅……
可能在技術(shù)進(jìn)步的過程中,確實(shí)會(huì)引發(fā)一些社會(huì)問題,但這在人類每個(gè)歷史階段都會(huì)遇到,人類也不會(huì)因此而放慢技術(shù)進(jìn)步的步伐,一些現(xiàn)在看起來引發(fā)大眾不適的社會(huì)問題,一定會(huì)逐步解決。愛因斯坦說過:“科學(xué),究竟是給人帶來幸福還是帶來災(zāi)難,全取決于人自己。” 畢竟,在一場(chǎng)場(chǎng)人腦和AI的巔峰對(duì)決中,并不是機(jī)器打敗了人類,而是人類超越了自己!
未來AI更廣泛的用途一定會(huì)是在類似無人駕駛、智能安防以及人工智能助理這種真正意義上的非完全信息類的真實(shí)環(huán)境里。在真實(shí)世界,AI遇到的問題千變?nèi)f化,不會(huì)有一個(gè)統(tǒng)一的規(guī)則、統(tǒng)一的函數(shù)就能幫助其解釋相應(yīng)的行為。棋牌類AI只是人工智能非常早期的演練而已。
所以,AI在各種棋牌游戲和人類對(duì)戰(zhàn),其意義不在于輸贏本身,更重要的是人們對(duì)這類游戲都耳熟能詳,能夠通過比賽了解到AI的最新進(jìn)展,這對(duì)AI的發(fā)展有很大促進(jìn)作用,畢竟AI進(jìn)化的過程還相當(dāng)長(zhǎng),即便是圍觀群眾,也需要了解這個(gè)未來會(huì)與每個(gè)人的生活都息息相關(guān)的領(lǐng)域。
我們也期盼著棋牌類AI的成功和突破能夠啟發(fā)AI在其他方面的研究和應(yīng)用,并能將創(chuàng)新應(yīng)用到更多行業(yè)和領(lǐng)域,激勵(lì)更多的人投身于AI的研究和實(shí)用化,讓人類生活更加便捷、高效和智能化,使整個(gè)人類和大自然都能夠受益于AI。在對(duì)弈過程中,人工智能研究領(lǐng)域的技術(shù)、專家人才培養(yǎng)體系也得以更加完善,從而推動(dòng)人工智能去攻克一個(gè)又一個(gè)技術(shù)和應(yīng)用的“高地”。
PS本文作者:微軟亞洲研究院資深研究員楊懋、主管研究員秦濤