洋洋
精彩的人機(jī)對(duì)抗
2017年1月11日,在美國匹茲堡舉行了一場(chǎng)別開生面的國際撲克大賽。這次的參賽選手非常特別,4名人類頂尖選手對(duì)戰(zhàn)美國卡內(nèi)基-梅隆大學(xué)開發(fā)的人工智能Libratus!
在20天的比賽時(shí)間里,4名人類頂尖選手充分發(fā)揮集體的力量,每天比賽后,他們會(huì)在酒店房間里碰頭,花數(shù)小時(shí),一起分析當(dāng)天的比賽有沒有什么可以汲取的教訓(xùn)。為了找到Libratus在策略上的漏洞,他們約定每個(gè)人每天都嘗試不同的打法,下不同的賭注。
第一天,人類的詭異的游戲策略取得了成功。他們贏得了開門紅!在隨后的幾天,雖然AI一直處于領(lǐng)先地位,但優(yōu)勢(shì)沒有特別明顯。比如到了第三天,Libratus贏得了大概19.3萬美元的賭注,但在第四天,人類選手就將差距縮小到4.2萬美元。之后,雙方又激烈爭奪,到了第六天,AI只贏了5.5萬美元的賭注。雙方基本上不分輸贏!觀戰(zhàn)者似乎預(yù)料到了結(jié)局。2015年人機(jī)撲克大戰(zhàn)時(shí),AI以較大的劣勢(shì)輸給了人類,這次也會(huì)一樣!在各大賭博網(wǎng)站上,人們預(yù)言Libratus必?cái)?,賠率達(dá)到了4:1!
然而,形勢(shì)突然逆轉(zhuǎn)。到了第7天,Libratus不斷擴(kuò)大優(yōu)勢(shì),贏得賭注越來越多。與此同時(shí),人類選手很難找到它的漏洞,即使找到了,第二天這個(gè)漏洞就消失了,每一天,Libratus都在進(jìn)步,它不只是從不露出破綻,似乎也知道每個(gè)人類對(duì)手的弱點(diǎn)!最終到了比賽截止日——1月30日,四個(gè)人類玩家大敗而歸,他們一共輸了176萬美元籌碼。
撲克比賽會(huì)受到運(yùn)氣的影響,然而這次比賽,雙方一共打了12萬手牌,牌運(yùn)的影響幾乎微乎其微,比賽結(jié)果的可信度高達(dá)99.77%,AI有不可逆轉(zhuǎn)的優(yōu)勢(shì)!
這是AI首次在一對(duì)一無限注德州撲克比賽中,擊敗人類職業(yè)選手!在撲克牌領(lǐng)域,人類又要失守了!也許你會(huì)問,AI已經(jīng)在象棋、圍棋方面擊敗了人類選手,撲克牌那么簡單,這有什么好奇怪的?
這是一個(gè)突破性的成就
實(shí)際上,AI要戰(zhàn)勝人類撲克牌選手會(huì)更難。為什么這么說呢?
無論是象棋、圍棋,還是跳棋,比賽中AI可以掌握的信息是非常完全的,比如AI可以知道棋子布局、雙方已下和剩余棋子的數(shù)量。根據(jù)對(duì)手的棋子下的位置,利用強(qiáng)大的算法,AI可以從對(duì)手這個(gè)完全確定的狀態(tài)作出進(jìn)一步預(yù)測(cè),然后采取針對(duì)性的防御措施就可以了。
但撲克是典型的不完全信息博弈游戲,它包含著許多隱含信息。拿這次Libratus參與的撲克游戲——德克薩斯撲克牌來說。
德克薩斯撲克牌是現(xiàn)在全球撲克大賽中最主要的比賽類型。它跟普通撲克牌一樣,只不過沒有大小王牌,總牌數(shù)是52張。發(fā)牌一共有5輪。在第一輪里,玩家得先下盲注,然后才會(huì)收到兩張面朝下的底牌。隨后又會(huì)進(jìn)行第二輪發(fā)牌,這次發(fā)的3張牌是面朝上的公牌;緊接著再發(fā)三輪牌,玩家會(huì)陸續(xù)收到3張公牌。在每一輪發(fā)牌中,玩家們會(huì)輪流下注,對(duì)手則可以選擇加注、跟注、棄牌等等。經(jīng)過所有押注圈后,若仍不能分出勝負(fù),游戲會(huì)進(jìn)入“攤牌”階段,也就是讓所剩的玩家亮出各自的底牌以較高下,持大牌者獲勝。這次Libratus打的一對(duì)一無限注德州撲克,是德州撲克的一種類型,主要特征就是玩家下的注不受限制,風(fēng)險(xiǎn)更大。
顯然,打撲克牌涉及到對(duì)不完全信息的處理。比如,你不知道你的對(duì)手的底牌是什么,你也不知道下一張牌會(huì)發(fā)什么,但你必須得根據(jù)這些不完全信息,猜測(cè)對(duì)手的底牌和下一張牌的可能性,還需要根據(jù)對(duì)手的下注、跟注、棄牌等動(dòng)作,再?zèng)Q定下多少注。一些人即使自己的牌很小,但會(huì)選擇詐唬的方式,下很大的注,這個(gè)時(shí)候如果你沒法識(shí)破騙術(shù),嚇得棄了牌,你就輸了。這些都是撲克牌中不完全信息的表現(xiàn)。
撲克牌也很復(fù)雜,一對(duì)一無限注德州撲克每一輪發(fā)牌,有10160的局面可能,這比宇宙中的原子數(shù)量還要多(目前可觀測(cè)宇宙約有1075個(gè)原子),近似無窮。當(dāng)然,圍棋的局面變化更多,大約有10170。但撲克牌的不完全信息,使得AI打撲克比下圍棋難度大得多,這幾乎是一場(chǎng)心理戰(zhàn)。所以,當(dāng)AI接二連三地攻占了各項(xiàng)棋藝項(xiàng)目,只有撲克牌一直未能攻破。
那么,Libratus有什么訣竅?
有個(gè)強(qiáng)大的后援
首先,Libratus有一個(gè)強(qiáng)大的后援——匹茲堡超算中心的超級(jí)計(jì)算機(jī)Bridges。Bridges不是當(dāng)今世界最大、最快、最強(qiáng)勁的超級(jí)計(jì)算機(jī),但它可能是面向公眾開放的,最大、最快、最強(qiáng)勁的超級(jí)計(jì)算機(jī)。生物學(xué)家、地質(zhì)學(xué)家、經(jīng)濟(jì)學(xué)家等都可以使用Bridges。Bridges的處理能力和內(nèi)存分別是一臺(tái)高端筆記本電腦的7000倍和17000倍,使得原本在個(gè)人電腦上耗時(shí)數(shù)月的計(jì)算,僅僅幾個(gè)小時(shí)就搞定。
Bridges消耗了大約1500萬個(gè)核心小時(shí)的計(jì)算量來構(gòu)建Libratus。在Libratus的比賽過程中,還在持續(xù)優(yōu)化Libratus的策略,讓這個(gè)AI可以玩得更好。
那么,具體說來,Libratus的學(xué)習(xí)策略是什么樣的呢?與阿爾法狗不同的是,Libratus并沒有使用目前相當(dāng)紅火的深度學(xué)習(xí)技術(shù),而是采用強(qiáng)化學(xué)習(xí)的技巧。
首先,研究者教會(huì)了Libratus游戲規(guī)則,并給它定下了簡單的小目標(biāo)——贏錢,之后,讓它自己和自己對(duì)打了數(shù)萬億手,在這一過程中,它會(huì)不斷嘗試偶然發(fā)現(xiàn)的新的打法。Libratus會(huì)總結(jié)怎樣的玩法會(huì)成功,怎樣的玩法會(huì)失敗,并利用這些觀察結(jié)果制定策略。
這種方法的一個(gè)明顯優(yōu)點(diǎn)是,Libratus不會(huì)只學(xué)習(xí)別的撲克玩家使用的策略,它可以創(chuàng)造出自己的獨(dú)特打法,有時(shí)甚至能發(fā)明一套違反直覺的打法。例如,當(dāng)Libratus手持弱牌,而對(duì)手提高了賭注時(shí),程序有時(shí)也會(huì)跟著提高賭注。這樣的打法很冒失,畢竟這樣做提高了輸牌的幾率,要是此時(shí)對(duì)方識(shí)破了這一騙術(shù),因?yàn)槭殖趾门贫岣哔€注,那Libratus可就輸慘了。
但這其實(shí)是一招好棋。它可以讓Libratus學(xué)會(huì)人類的詐唬,以及不被詐唬。在匹茲堡的人機(jī)大戰(zhàn)中,Libratus通過詐唬成功騙了四位人類選手,贏下了許多局。
Libratus使用的另外一招是 “殘局解算”。 在每一手牌之后,Libratus會(huì)自我學(xué)習(xí),并精確地計(jì)算出發(fā)第4手牌和第5手牌所能承受的最大風(fēng)險(xiǎn)。如果你現(xiàn)場(chǎng)觀察,就會(huì)發(fā)現(xiàn)在這兩個(gè)發(fā)牌階段,Libratus花的時(shí)間更多。
最后一招是游戲后的“持續(xù)自我強(qiáng)化”。當(dāng)人類對(duì)手每天晚上在酒店里總結(jié)經(jīng)驗(yàn)教訓(xùn)、尋找AI的破綻時(shí), Libratus也在持續(xù)“進(jìn)化”。它會(huì)填補(bǔ)在比賽時(shí)出現(xiàn)的漏洞,這就意味著Libratus可以不斷提高自己的比賽水平,讓人類對(duì)手發(fā)現(xiàn)不了什么破綻。Libratus甚至?xí)鶕?jù)人類選手是否注意到自己的漏洞,來決定先修補(bǔ)哪些漏洞。
意義重大
Libratus的取勝意義重大。因?yàn)閷?duì)不完全信息的處理能力,才更能適應(yīng)現(xiàn)實(shí)世界。在生活中,人類的很多決策,比如金融交易、拍賣、政治和商業(yè)談判、軍事或網(wǎng)絡(luò)安全策略以及規(guī)劃醫(yī)療方案等,都跟處理不完全信息有關(guān),如果AI能處理這些信息,那將會(huì)帶來突破性的變革。
想象一下,如果你有一個(gè)能“讀心”的機(jī)器人,它身上的傳感器能讓它有記憶功能,同時(shí)能通過感知對(duì)手一些微小的生理變化,如出汗量、瞳孔變化,來判斷出對(duì)手的壓力程度。當(dāng)你派它去解決商業(yè)、軍事、政治和外交方面的問題,是不是會(huì)比人類談判高手更出色?
當(dāng)然,人類也不必太恐慌,擔(dān)心Libratus會(huì)讓自己沒法繼續(xù)玩德州撲克,或者讓自己失去工作。因?yàn)長ibratus仍然需要超級(jí)計(jì)算機(jī)來執(zhí)行計(jì)算程序并改進(jìn)策略,而這一過程的成本會(huì)非常昂貴。在這次人機(jī)大戰(zhàn)比賽期間,Libratus依靠的Bridge超級(jí)計(jì)算機(jī),共運(yùn)行了150臺(tái)服務(wù)器,耗費(fèi)大概203萬美元。所以,暫時(shí)你還不用擔(dān)心無敵的撲克AI出現(xiàn)在市場(chǎng)上。