全球數(shù)據(jù)探索者大會”正式在北京拉開大幕。德?lián)銩I之父托馬斯?桑德霍姆介紹了德州撲克AI的價值和目前的研究方向。

卡耐基梅隆大學計算機系教授、德?lián)銩I之父托馬斯?桑德霍姆

你好。今天我講一下超人類的AI怎么做戰(zhàn)略性的分析和推理,這里用撲克做例子,今天我們說的是不完美信息的游戲,也就是說整個對手的狀態(tài)不被機器人所知,這個跟下棋沒有什么太大的聯(lián)系,確實和談判很像,我們知道AlphaGo的技術可以用于所有的完美信息的游戲,完美信息的游戲是有這樣的一個好性質,就是我們一個大游戲分解成各個小的子游戲,子游戲怎么樣解決的呢?通過別的子游戲的結論來學習。比如說它防御的時候,你看一下當我們看這一局的時候,你不關心其他局或者是其他的象棋步驟里面對手怎么做?你只看這一步怎么樣做就能夠學到了,而非完美的信息是什么意思?就是一個信息一個子游戲學到的,不能用于另外一個子游戲。那么不完美信息的游戲就比完美信息的游戲更難,這些是基于某一個小領域的技術,并且不可遷于其他的小領域的,比如說撲克,我們發(fā)明了這種算法能夠在這種不完美信息的情景下也能夠學習。由于完美信息和不完美信息的游戲兩者本質不一樣,AlphaGo所應用的技術不可以應用到完美的撲克游戲里面,因為兩者的性質是不一樣的。在不完美信息的游戲里面,我們的挑戰(zhàn)是不知道對手和他的行為或者是說他的行為可能性。那么對于他們以往做了些什么呢?我也不知道。

我跟我的撲克對手,我不知道他以往的行動,他也不知道我以往的行動,像我們人類面對的情景里面更多的是這一類的,不知道對手背后的盤算,那么我們想問的是對手的行動對我有什么樣的啟示,我怎么樣通過對手的行動來推測到背后的動機,我的行動也泄露了我的哪些意圖給我的對手呢?這里面有意思的是,我們不需要去解析這些行動的信號。這些信號讓我們回過頭來看這個納什的方程式,納什先生其實只是給博弈論一個定義,他并沒有給我們結論,他用一些算法,根據(jù)更窄的定義來算出,爭取更好的算法。那撲克里面有很多的數(shù)學原理,如果我們看一下納什先生的那篇博士論文,把他的博弈論方程首先展示給我們,這是1993年的時候,這里只有一個定義,那就是類似于撲克的定義。再往后對于撲克,我們有了更多的科學家和更多的定義。大家也會討論如果有更多更好的策略和戰(zhàn)略來贏撲克,最近去年,我們有數(shù)以百計的關于這個撲克的撲克研究。我講的不會太多,我只講一些重點的研究,首先有2004、2005年的學生和我一起做了這樣一個關于無損抽取的一個算法,就是說你略掉了,或者是說不知道這個游戲的99%的信息,卻依然可以去知道這個游戲的規(guī)則。

那么,我們現(xiàn)在要談的無限下注德州撲克的紙牌壓注成為最難的一個計算機界解決的標桿,里面包含了10的161次方的情景,我們看一下這個比我們在一個宇宙里面原子還要多10的161次方,這個應用包括了撲克,這里面也被很多的類似于皇家賭場的電影所引用。

而到目前為止我剛剛說的無限下注的紙牌游戲是被AI攻破的,我們看一下這種單周的關于無限下注的突破,這是第二次單挑,因為之前有一次人機對抗,當時的AI輸給了人類選手,這次我們叫做再對抗,再挑戰(zhàn)。我們的AI系統(tǒng)是我們的一個冷撲大師的智能系統(tǒng),它的對手是四個非常優(yōu)秀的撲克選手,我們一共做了12萬次的交手,在20天之內,然后下注的賭金20萬美元之多,大家有很強的動機去贏。2017年這場,我們其實把這筆20萬美元的獎金,不是每個人給20萬,而是根據(jù)這四個選手的表現(xiàn)成比例的分配,而且我們的試驗設計非常的保守,讓人類去設計整個游戲的范式,為什么這么做呢?讓人類去設計整個游戲的各種范式,以便于到最后去決定誰贏誰輸?shù)臅r候,因為是人類事先設計好的,就不會有各種的爭吵和爭議了。

那么,整個的人類在押注的時候,更多的時候會覺得人類會贏。我們看一下游戲的現(xiàn)場,丹尼爾是我的朋友,我的同事,他們單獨的一對一單調,一對一的。

一說到丹尼爾和AI單挑,AI和上面的四位撲克大師在樓上單挑。比方說杰森,他在同時看著兩桌,他在這兩桌之間可能來回切換,在他左邊的這個小屏幕上,他可以進行切換,最終的結果,我們的冷撲大師系統(tǒng)贏,而且大勝人類。同理,我們用這個冷撲大師跟中國的賭神進行對抗,中國的龍之隊,中國的六位賭神,這是國際撲克大師的贏家,這些都是頂級的撲克手。冷撲大師還是贏了我們人類的賭神。

有人要問了,我們這個冷撲大師的系統(tǒng)是什么原理呢?基本上我們用的是已驗證正確的技術,這里面沒有深度學習。所以說在上面主要有三個選擇,第一個選擇是有很多的一些游戲的規(guī)則的輸出,還有一些更小的游戲的抽象化,最后有一個算法進行藍圖戰(zhàn)略的執(zhí)行。然后在我們的子博弈的解決器里面,實際上也是在游戲的過程中來進行問題的解決,有一個自我改善的模塊,它能夠把所有的這些本身的AI的后臺的主機在晚上的時候做一個更新。

對于軟件的運行,在我們的匹茲堡的超級計算機中心的這臺計算機有1200萬小時的游戲的時間積攢。所以說它有很多的輸入的信息,如果我們把AlphaGo和它進行對比的話,AlphaGo是用人類的游戲歷史,我們沒有做這個東西,我們是白手起家的。好像是我們對著鏡子給自己進行拳擊,然后突然跳起來飛踢泰森的關系,我們也是一樣的,我們通過AlphaGo來進行自我游戲實現(xiàn)的。我們看看第一個解析,是模塊里面使用新的抽象化的算法,相對來說獲得一個更小的規(guī)則,然后我們會有一個平衡化的過程。然后重新回到我們最初的游戲中進行我們所謂的藍圖戰(zhàn)略。

然后這里有兩個抽象化,一個是勝利的抽象化,是定期進行算法的計算,我們也是從最初的計算機里面,2016年的時候做過,現(xiàn)在我們用一個最大的抽象化,我們是進行了一個平衡化的算法,來獲得多種抽象化,所以從第一個賭局到我們的第二個賭輪里面,在所有的賭輪里面都可以進行,第四個賭輪里面我們使用了子博弈的解決器,這里面有一個產品的抽象畫,所以這樣的話我們可以對于我們的客戶端有一個更好的理解了。第三個正式的抽象化是從我們的撲克的賭輪中,我們這里使用了人工智能之外,還加入了一些大賭局和小賭局的概念,所以說我們可以有最初的一個初級算法,然后把它進行一個優(yōu)化,但是暫時沒有辦法來進行拓展,所以說我們還需要把它第一個賭局進行一個慢慢的往外拓展,后來到了子博弈的解決器,我們這里稍微多講一些,當然這也是整個架構的最新一部分。這里有五個新部分,第一個部分很可能是可以把它當前的對手的一些內容考慮在內,第二個,它是屬于一些戰(zhàn)略中的,你的子博弈的,這個計算方式很可能不會比這個藍圖戰(zhàn)略更差。然后,如果說對手在當前的階段犯一個錯誤的話,我們可以重新再考慮到它這樣的一個情況下,然后同時考慮到出現(xiàn)的錯誤,但是還能夠保證你的勝利,所以說它是可以更好的與真正的人進行比賽的時候,不會出現(xiàn)這種類似的錯誤。

還有就是說關于子博弈的解決問題。一開始的時候,你解決這個問題一再進行游戲。但是我們在這里先要再次解決剩余的一些,就是說整個局我要重新的做一遍,每當對手走一步,我都會把剩下的部分再重新算一遍。另外,它還可以把當時,你可以猜想的步驟,再把步驟的實際這一步計算在內,這些都是在我們的抽象中,還有它可以啟動得比較早,以前都是在最后一個賭輪,現(xiàn)在我們放在第三個賭輪里面,如果這里沒有在子博弈中的這種牌的抽象化,我們這樣做是因為我們希望能夠通過一種新方式進行子博弈的解決。

最后一個模塊,它就是自我改善的模塊,它采用了完全不同的一種方法來進行自身的改善。并且它也使用了之前我們所說的平衡的戰(zhàn)略。那么我通常是怎么做的呢?就是說我們需要把一系列的對手模塊聚集在一起進行一個開發(fā),我覺得它是比較有風險的一個方法,特別是對于一些頂級玩家來講,因為頂級玩家是屬于世界上的這個方面的專家,他們是很容易來反漏洞的專家,所以說這個過程中,很容易會遇到困難,然后我們讓我們的對手行為集成告訴我們說我們自己戰(zhàn)略里面的漏洞在哪,這樣我們在這個超級計算機里面,我們的算法就會把這些加入到我們的行為的抽象畫里去,之后我們就可以把它添加到我們的庫里面去,我們可以在自己的主機里面把一些理性的內容再加入。

所以這里是在我們的頂端的AI,當然還有一些其他的,這里是我選取的一些最好的。左邊是我們的,右手邊是其他人的,這張圖的意義是講到了我們每年都要進行改善。可能是從理論上達到10的一百多次方。

下面我們再講一下,在我們實驗室里面研究的一些情況,還有就是說如何來解決非完整的信息的內容,這是我們的一些在做的課題,所以在游戲中和我們之前講的,它會有一個非完整性信息,需要有一個抽象化的尋找器,然后我們要知道它里邊的一個,游戲中會出現(xiàn)的問題的路徑,然后我們有一個這種算法,它可以把一些概率來進行計算,如果說你這個模型離我們的偏差這么遠,然后它這個模塊會來進行改善,我們在撲克中是來做競賽的,所以我們在比賽中需要應用來進行一個模擬,雖然規(guī)則不是這么清楚。所以同樣的一個概念,如果我們的模塊,現(xiàn)實當中只有這么一個差異的話,我們可以來改善我們的戰(zhàn)略。然后讓它更適合現(xiàn)實中的情況。

第二點,在我們之前說過,可能在事件當中最好的是平衡戰(zhàn)略,也是我們能夠獲得的最好的理論,今年夏天開始,我們有更多的一些算法了。

第三個,我們在雙方都會出現(xiàn)比較大的,或者是很多的錯誤的時候,我們是不是能解決這些問題。盡管傳統(tǒng)意義上來講,我們覺得有一些錯誤可能是可以進行計算化的,但是現(xiàn)在在計算機里面的一些技術可以用更好的辦法來進行一個改善。最后,就是在利用或者是說開發(fā)之間的這種對比,在游戲中,我們需要去發(fā)現(xiàn)對方的漏洞。然后開始通過這種非游戲理論的方式,考慮到自己如何不會被對方所利用。

所以說如果你開始采用游戲理論的時候,有人如果說利用了這種游戲理論或者是博弈理論是不安全的,但是現(xiàn)實中不見得如此,你可以利用別人的同時,也可以保證自己不被利用,也可以保證自己的安全性。像我之前提到的這些技術,不僅僅是被用來編程,這些被用來任何一個你有互動的過程中,這個當中不光有一方,還有不完整的信息,對于新技術的能力,之所以這么振奮,是因為我們看到了這種戰(zhàn)略性的機器中有很多的類似知識的復制。我認為這種戰(zhàn)略定價,或者是說戰(zhàn)略產品的組合,也可以利用它來進行一個優(yōu)化。

現(xiàn)在,在AI當中,我們不光可以節(jié)省更多的人力,同時,又可以做得比最好的人類更強,讓我們有更多的理由來利用到實際中。有一些人可能覺得大多數(shù)的現(xiàn)實中的應用,總會存在著不完美信息,就算是不看做一個游戲,那么我們想象一下,比如說在定價中的利用,如果對方的這個競爭對手的價格已經固定了,如果突然對方改變了這個價格,你需要實現(xiàn)自己的價值優(yōu)化,需要反應,這里面是一個反映式的模塊。戰(zhàn)略性的定價可以讓你來驅動市場的發(fā)展,同時可以事先進行價格的思考,同樣你戰(zhàn)略性的產品和組合優(yōu)化,在金融中的使用也比較多,比如說戰(zhàn)略性的結構或者是說戰(zhàn)略貿易執(zhí)行等等,還有自動的溢價。我們使用眼鏡改善我們的視力,為什么不能用AI來改善自己的戰(zhàn)略邏輯呢?

還有像拍賣中,如果說有這種投機式的拍賣,如果沒有人知道底價的情況下,是不是可以采用合理的競猜。還有像電影版權,不同的一些流媒體公司,他們可能要買一些不同的視頻流,到底如何能夠構建一個更好的視頻流的組合,如何來進行更好的談判。大部分的應用會考慮到網絡安全問題,如何來防護漏洞和操作系統(tǒng)中的問題,以及政治運動中,我到底要花多少錢,基于我競爭對手的預算來進行計算。還有自動駕駛車輛中,或者是說半自動駕駛的車隊由不同公司來進行運維的時候,如何來獲得一個更好的道路規(guī)則。有很多的一些軍隊或者是說在實體安全方面的應用,還有生物適應或者是說一些醫(yī)藥的安排中,我們已經有了多種的計劃能夠把這些,比如說對患者人群來進行更好的一個規(guī)劃,才能夠避免進行一些疫苗的注射和癌癥的防護等等,當然我們還有娛樂式的,訓練式的應用技術,在很多的新的游戲中,同時也會有一些社交的游戲。

最后一張幻燈片我想指出的是人工智能不光是深度學習,還有一些重要的部分和領域,現(xiàn)在有一些新的技術和領域,我們叫做戰(zhàn)略性邏輯,它是我們戰(zhàn)略博弈的一部分,同時我們還有向對手建模等等,這些也是需要很多的模型。機器學習是關于過去,但是我們從過去的數(shù)據(jù)中學習來希望能夠預測到未來或者是說在未來能夠做到更多有益的東西,戰(zhàn)略性邏輯會關系到很多的可能性,是關于未來而推出的游戲,我們已經做了一些試驗,希望能夠獲得更多結果,謝謝大家。

分享到

liwz

need 500 dollars today

相關推薦