三步理解 AlphaStar 背後的黑科技
在Alpha Zero取得圍棋領域的勝利之後,最近的大新聞是: AI又下一城,拿下了重磅即時戰略遊戲星際爭霸。 為什麼我們說這個勝利的重要性不亞於當年的阿法狗? 這背後的黑科技對我們又有怎樣的影響。 我雖不懂星際,但我懂得強化學習, 此番為大家講述。
首先, 星際爭霸, 是一個與圍棋有著本質不同的遊戲-那就是星際爭霸是非完全資訊下的博弈遊戲。 這裡的難點一個是 不完全資訊 , 其次是需要 遠期計劃 , 另外就是 實時性與多主體博弈。
何為非完全資訊, 你看所有的即時戰略遊戲, 從紅警到星際,你沒有剛剛到達過的區域都被一團戰爭迷霧所籠罩, 那裡可能有對方的軍隊在採礦, 或者大批小兵集結, 這可能與我此刻的決策關係很大, 但是卻不為我所知。 這與圍棋這樣的遊戲有著本質的區別, 因為圍棋這樣的遊戲, 即使策略在複雜, 你方和我方的情況都是一目瞭然的, 圍棋遊戲的複雜體現在策略空間的巨大導致的維度災難, 然而始終都是你知我知的。
而星際這樣的遊戲, 卻更加符合我們的真實生活, 如果你把真實的生活看成一場即時戰略遊戲, 從選擇大學專業, 找工作, 到炒股, 你所瞭解到的資訊, 永遠是你需要知道的決策資訊的一小部分, 你的對手,永遠在黑色迷霧裡行動。 這種黑霧, 對你的第一個挑戰就是, 你要應對永恆的不確定性, 即使你有一個比目前水平強大10倍的大腦, 你依然生活在不確定性的迷霧裡, 因為它是由於客觀資訊缺失造成的。 如果過度的渴望精確預測, 還可能由於在explore VS exploit 的權衡中偏向一端而走火入魔。
而多體博弈, 體現了策略建模的複雜性, 我方的最佳策略取決於有方策略,對方策略,以及盟友的策略,還有兵種的相剋,組合帶來的1+1大於2的過等等,遊戲儘可能的模擬了真實的戰爭差。 星際爭霸的挑戰還有超大的動作空間(可能性超過圍棋全部組合數百個數量級),遊戲長度很長, 而且遊戲初期做出的決定會影響最終的成敗。但最關鍵的,星際相對圍棋最大的技術挑戰在於 非完全資訊博弈 , 也是它和真實世界最接近和最有價值的地方。
下圖是alpha Star 如何處理從輸入的影象到神經網路提取的特徵,最終到做出的決策(右下)以及預測的實時預測的勝率(右上),而我們最關注的是中間的部分。為了讓大家瞭解alpha star 背後的底層技術, 我們就從最基本的ABC開始, 給大家引入:
A, 強化學習 + 深度監督學習框架
首先,這幾年的深度學習進步主要用到的是監督學習技術, 監督學習容易取得突破時因為它們最好訓練,監督資料自帶正確答案, 機器每分鐘都在學到有用資訊。 而如果我們要首先更普世的人工智慧, 監督學習時不夠用的, 因為智慧體行為的本質時根據未來的目標制定當下的行為策略,這點監督學習無能為例, 而是需要強化學習的框架。
想像一下我們是人工智慧體,我們有強化學習和監督學習可以選擇,但乾的事情是不一樣的。面對一隻老虎的時候,如果只有監督學習就會反映出老虎兩個字,之後由程式設計師來告訴AI該做什麼,但如果有強化學習就是由AI自己決定逃跑還是戰鬥,哪一個更容易通往通用智慧,是顯而易見的,對於老虎在你面前,能夠提前預測出老虎即將到來,對智慧體的生存是有意義的,但對於更加複雜的,無法由程式設計師事先編碼的情景,就需要靠強化學習來決定了你的行為。
然而無論是強化學習還是監督學習, 其背後都是神經網路, 這個模擬人腦智慧的抽象模型作為載體實現, 神經網路把一種訊號,轉化為另一種訊號, 實現資訊的抽取和轉化。在Alpha Star裡我們用到LSTM這種基於時間反饋的神經網路作為核心。
當然, 強化學習是一個對未來的優化問題, 未來有多長, 幾步, 幾百部, 還是幾萬部? 如果你走完了一萬步才知道你最後的結果對不對, 那麼這個訊號根本不足以支撐機器的學習, 因為學的太慢。 就好比一個人在資訊的荒漠裡行走, 看上去一直在勞苦, 實則勞而無功。
DeepMind 強化學習教父David Silver 喊出了 AI = DL + RL , 意思就是為了解決這個問題, 我們可以先用監督學習讓神經網路學習, 監督學習機器每時每刻都知道正確或者錯誤, 而後再上強化學習, 這樣讓機器學習到從當下到未來的戰略思考。
這就是實現alpha star最基本的框架。 監督學習為首,強化學習跟上。 那個LSTM網路先要不停的看以往人類選手的比賽記錄, 並預測它們的行動和比賽結果, 直到得到一個baseline水平。 這點, 也同時讓我們想到Karl Friston所提出的自由能原理和predictive coding法則。 智慧體必須把預測外部世界的變化作為核心目標來建立自己內在的representation(世界表徵)。 這裡的監督學習過程, 可以看作不停的預測外部世界, 減少預測誤差,建立世界表徵的過程。 下圖我們可以看到alphastar 在監督學習監督就已經達到一定的水平
圖片描述訓練成績和訓練時間的關係, 我們看到在0之前的訓練代表機器單純靠監督學習達到的基準線, 而後是強化學習階段,我們看到機器在第8天開始超越TLO的水平(世界排名44), 在第14天開始達到MaNa水平(職業排名13)
B 馬爾可夫 vs 區域性馬爾可夫決策框架
強化學習本質上還是一個數學優化優化演算法。 它的起初的成功得自一個稱為Markov決策的框架。 所謂的馬爾可夫, 就像物理把原子看成一個行星軌道模型一樣, 是一種對真實問題的霸王硬上弓的強行簡化,
首先你把真實過程分解為無數離散的時刻,這樣, 無論問題多複雜,都可以分解為狀態(state)- 行為(action)- 獎勵(reward)- 策略(policy)四要素。狀態是每個時刻你擁有的和決策相關的資訊總和,行為是你的決定, 獎勵是你的此刻收益。 而策略就是從狀態到行為的對應關係。後所謂的馬爾可夫,就是說, 當下的行為決策只和當下的狀態相關。
其實做馬爾可夫決策模型的人腦子裡的世界就是一個經典的方格迷宮。 你的狀態就是你所在的方格, 你的行為就是上下左右走,你的獎勵是中間的加號。 行走的過程每一步都只與上一步相關,此刻擁有絕對資訊(位置),因此可以簡化為下圖b的馬爾科夫決策圖框架。
a
看到這個你是不是覺得和星際爭霸相去甚遠我在騙你呢? No! . 事實上, 如果你進行比較凶狠的簡化,還真的差距不大。 首先, 星際遊戲給它拆解開無非包含這樣的幾個步驟: 1,收集資源 2, 建立生產單元 3, 建立軍事單元和武裝 4, 部隊集結並摧毀敵方生產和軍事單元 。 所謂的戰略,首先是在這些不同步驟(狀態)之間的順序和時間調配。 當然你要說地圖實在太大太複雜了, 你不要忘了深度學習的核心思維, 特徵抽取, 請看下圖, 機器眼裡的星際爭霸地圖。
機器眼裡的星際爭霸地圖, 就是這樣一個離散的單元特徵圖。上圖左邊的大圖每個格子裡有不同的單位,顯示整體的佈局, 然後對於不同的核心資訊, 我們可以又有右邊分開的格子圖表示(比如某種敵方單元的分佈)。 大家是不是想到了卷積網路眼中的特徵圖? 如果你把這樣的特徵圖看成機器真正“行動”的地圖, 你看是不是它就和剛剛那個機器走方格遊戲的距離大大拉近? 我們有離散的狀態, 可以通過一個個的格子空間表示,然後可以決定採用的動作,此刻的動作決定下一刻的狀態, 這些都和走方格遊戲類似, 只不過特徵很多很複雜,一次要控制多個單元而已。
稍等, 此處還有一個特點是剛剛說的馬爾可夫框架所不能包含的,那就是特徵圖裡面有那麼多黑色區域啊! 這些黑色區域代表了未知,未知裡面敵方的部隊可能在集結, 說明當下的狀態不包含決定我的決策的所有資訊了 。
那怎麼辦呢? 此處馬爾可夫框架很自然的擴充套件到區域性馬爾可夫框架。不要忘記神經網路是有想象力的,它可以腦補黑色區域裡的東西。 如果你通過想象填充了那些黑色區域, 你就再一次回到了馬爾可夫的世界。
怎麼腦補? 你想象一下你自己如果要預測一下明天發生什麼, 你第一步要做的是不是會議昨天做過什麼呢? 是的, 我們的記憶, 不是幫助你追憶似水年華,而是更好的預測未來(此處自行聯想predictive coding 預測編碼理論)!
我們說神經網路是一個巨大的函式模擬器, 如果你要用一個神經網路把過去和當下的資訊綜合起來, 然後擬合未來的畫面,這個神經網路就是迴圈神經網路RNN, 然後用神經網路來學習這個函式,這就自然的引入了深度強化學習。通過資料可以模擬函式,有了函式就可以把值函式的問題解決。它是類似模仿生物工作記憶的原理,資訊放在記憶裡面,將其作為決策的依據。RNN的網路結構和前向神經網路差距並不大,只是多了一個時間轉移矩陣,即當下隱藏的狀態再到下一步隱藏狀態的連線。
這個連線實際上是傳遞當下的資訊到下一刻的過程,這個傳遞過程中包含了記憶,我們可以把過去的資訊往將來不停的迭代,於是神經網路細胞當中就含有過去很多時刻的記憶,其實就是生物的Working Memory。LSTM只是在RNN的基礎上多了一記憶細胞層,可以把過去的資訊和當下的資訊隔離開來,過去的資訊直接在Cell執行,當下的決策在Hidden State裡面執行。
加入RNN(LSTM)的神經網路,可以極好的根據對過去資訊的整合來預測那些黑色區域裡可能是有敵軍部隊還是有礦藏, 就可以用來駕馭星際爭霸。
RNN隨時間展開的反向傳播, U是隱層連線
LSTM: 加入Cell
lstm網路中motif(重複單元),通過增加memory cell 引入動態的可訓練的記憶單元
C 技術細節創新
剛剛說的大框架, 可以幫助我們解決很多動作類遊戲(doom)或真實世界的空間導航問題(deepmind: navigation in complex world)。 但是沒有一些關鍵細節的創新, 依然無法在星際這樣的遊戲裡取勝。 我們看看星際具體使用了哪幾個新技術呢?
1, 多工聯合訓練: 星際爭霸最大的任務“贏得戰爭”裡其實包含無數小的任務單元,比如對不同種類礦物的採集, 對不同敵軍單位的攻擊等, 這些可以分開訓練,分別設定獎勵函式, 這些小的任務會讓整個遊戲的學習加速很多。 這種把最難的任務分解為很多基本任務分開訓練的思路, 應該可以被需要應用強化學習的工業應用大量採納。
2. 多體博弈問題, 保留所有訓練中產生的歷史版本, 並在其之間進行對戰, 這有點類似於生物“基因池”的概念。 這個過程裡,我們可以做到不會把某些個體學到的有效資訊輕易遺忘,而是在多體博弈裡有效的運用所有已經學會的東西, 同時選擇出那些最強的策略, 最終的訓練結果是一個達到納什均衡狀態的最強策略池, 這不得不讓人聯想到進化演算法, 讓人想到不同AI演算法的融合趨勢。 這個不同策略的博弈過程, 也是alphastart對未來的智慧演算法最有啟發的部分之一。
3, RNN聯合注意力attention框架改進 : Pointer Networks。我們直到所有RNN(lstm) 在當下序列建模裡的成就都和attention機制的結合有關。 而pointer network又對之前的attention進行了改進, 用輸出的結果直接反向影響注意力,決定需要注意的物件, 並且這個輸出的尺寸是可變的。
pointer network, 根據網路輸出反向決定attention焦點(所要關注的輸入資訊)的框架, 左邊是傳統seq2seq網路, 右邊是新引入的框架。 Pointer Networks 2017
4 自迴歸模型。 這裡就牽涉到策略的細節表示, 星際遊戲的策略是典型的動作序列,而且在不完全的馬爾可夫決策框架下所有決策取決於歷史, 因此對策略的表達方法用到了自迴歸的思想, 首先把當下的動作決策表述為所有過去動作為條件的一個條件概率,然後假定這些過去的動作對當下的影響是獨立的, 所以可以寫成連乘的形式:
5, 關於和人類的成績比較 : 有的人在阿法start的結果剛出來的時候說這應該是機器可以在單位時間能夠操控更多的動作導致,事實上deepmind對機器的行為做了諸多限制, 讓它不是單純因為“速度快” 這種愚蠢的原因贏得人類。
阿法star對我們的啟示:
這一次的alpha star,依然是有人說這不過是谷歌的廣告, 強化學習目前是 處在上升期的人工智慧技術, 據這張非常表格非常粗糙的估計, 深度強化學習的技術成熟期在未來5-10年, 此時此刻, 正類似於深度學習在2010的狀況。
然而我們毫無疑問看到了AI在非完全資訊博弈, 這個與真實世界的大多數任務非常接近的框架所取得的巨大進步。 AI是否會很快開始指導一場真正的人類戰爭? 我想依然沒有那麼容易, 一個最核心的問題依然是電腦遊戲是可以在大腦上無限取得資料的, alphastar在短短時間裡經歷了人類選手200年的訓練才取得了如此的成就。 想象一下, 如果到了真實世界, AI和人類的資料取得速度差不太多, 那麼誰強誰弱呢?
因此, alphastar雖然詮釋了AI的一個新的篇章, 卻無需讓我們太恐慌, 我們想的更多的應該是, 如何用alphastar裡分解出的新的技術, 真正提高RL在工業裡的使用效率, 比如 如果做出能夠進行更好多體協作,甚至直接和人進行配合的工業機器人,如何讓它幫助我們得到更好的能源調控策略一類的具體任務。
而真正的AI下一個瓶頸的突破, 一定要提高 對資料的使用效率, 和在不同任務之間的泛化能力 , 如同我在上一篇文章, 多工學習的未來之路 裡所說的。
更多閱讀
Alpha Zero登上Science封面-聽鐵哥淺析阿爾法元
作者許鐵,微訊號:ironcruiser
法國 巴黎高師 物理碩士 , 以色列理工大學(以色列85%科技創業人才的搖籃, 電腦科學享譽全球)計算神經科學博士,巡洋艦科技有限公司創始人, 《機器學習與複雜系統》紙質書作者。曾在香港浸會大學非線性科學中心工作一年 ,萬門童校長好戰友。