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