「博弈論」這個詞可能對於一些僅僅致力於機器學習前沿演算法的人並不算熟悉。其實,有意無意的,博弈論的思想一直存在於很多機器學習的探索過程中,不管是經典的 SVM,還是大火的 GAN,這些模型的背後都有博弈論的影子。
近年來,隨著機器學習的發展,機器學習要應用的場景越來越複雜,開始有人有意識的將博弈論與機器學習聯絡起來。總的來說,博弈論在機器學習研究中的作用主要有三個:(1) 解釋機器學習模型的原理與思想;(2) 建立合適的學習策略;(3) 預測人類參與者(人機互動時)的行為。基於這三個方面,本文首先解釋了博弈論的基本概念及其如何解釋機器學習中的一些模型,然後介紹了博弈論在 Multi-Agent Reinforcement Learning(MARL)中的應用,最後介紹了博弈論與機器學習結合所產生的新分支——博弈機器學習。
博弈論是什麼
嚴格來說,博弈論主要是研究理性決策者之間的衝突與合作的數學模型。這個定義有些抽象,沒接觸過博弈論的人也很難很直觀的從「博弈論」這個名字知曉博弈論到底是什麼。這個詞可以拆開來看,「博弈」這個詞很多時候是出現在圍棋、戰爭等場景中,再看一下博弈論的英文——「Game Theory」,那麼博弈論就很好理解了,就是一個研究怎麼合理玩好這個世界中存在的各種遊戲的學科。
具體來說,博弈論涉及到的「遊戲」主要可以根據 5 個特徵分類:合作性(遊戲中人是否可以與他人聯合)、對稱性(玩家們是否有相同的目標)、資訊完整性(能否知道其他玩家的決策與動向)、同步性(玩家的動作是同時進行的,還是一個玩家的動作是在另一個玩家的動作之後的)以及零和性(一個玩家得分是否會導致另外一個玩家減分)。以檯球(斯諾克)為例,這個遊戲是無法與他人合作的(非合作性),玩家們具有相同的目標(將桌上的球按一定規則擊入袋中,對稱性),玩家可以知道對面玩家的動向(資訊完整性),每個玩家需要在另一個玩家擊球失敗後開始自己的擊球(非同步性),因為紅球數是一定的,從某種程度上來說,一個玩家的得分會導致另外一個玩家得分期望的減少,故而本遊戲是零和遊戲。基於這些分類,不同的方法論可以應用在不同的遊戲中,比如納什均衡(後文會解釋)在對稱性遊戲中更容易達到。
要注意的是,這裡的「遊戲」不一定只指傳統意義上的遊戲,如下圖所示,它包括很多方面。很多問題都可以被看作是「遊戲」,這在本質上跟人工智慧就是互通的了——AI 的終極目的就是讓電腦也能玩轉人類正在玩或者將要開始玩的一些遊戲。看一下下圖,博弈論所研究的領域與 AI 正在研究的領域何其相似,再回憶在民眾間打響 AI 名聲的 AlphaGo,也正是從遊戲著手,去學習人類的思考模式。所以當博弈論遇上機器學習,一些很奇妙的「化學反應」就會發生——解釋了一些數學模型的意義、出現了一些新的探索方向,等等。
圖源 http://euler.fd.cvut.cz/predmety/game_theory/