3-13:DQN與聶老師
2016年3月,DeepMind公司的AlphaGo電腦程式,以4:1的成績,擊敗世界圍棋冠軍韓國李世乭。到了當年年底,忽見中國大陸騰訊野狐圍棋網站中,在眾人一片錯愕下,橫空出世了一位絕代高手。此神秘高人戰力之強深不可測,在巨星雲集、諸帥環伺之際,竟秋風掃落葉打遍網內無敵手。他在連續幾盤擊敗聶衛平後,在螢幕上顯示了一行繁體中文字「謝謝聶老師」。
有人推測,這位”高手”,應該是AlphaGo的相關版本,因為這款大名鼎鼎的軟體,其背後的靈魂人物,正是來自台灣的師大資訊博士黃士傑。
聶衛平是個傳奇人物,他在好幾屆的「中日圍棋擂台賽」,都是擔任中國方的壓軸強棒。他可以力挽狂瀾、扭轉乾坤,每次中方戰將前線潰敗至丟盔棄甲,戰力崩盤到僅剩下他這最後一棒時,他總能憑藉一己之力起死回生,將擂台上還留有的一票日本高手,全部殺得片甲不留。
圖3-13-1. 聶衛平神定氣閒對戰眉頭深鎖小林光一,小林光一落敗回日本後,馬上將自己理了個大光頭,以示”檢討”。
DeepMind早在2014年1月26日就被Google蒐購,它的核心技術 —「深度強化式學習」,是獲得Google青睞的主要因素,著名的DQN(深度Q網路),就是由他們提出來的。
DQN,Deep Q Network,顧名思義,就是把強化學習的Q-learning,和深度神經網路結合在一起,這讓原本依據Q-table索引來定義的離散狀態,得以用深度學習來擴展至連續狀態。但也因為agent動作的預測,是改採神經網路來進行,導致整個模型架構變得複雜許多,非得使用GPU來訓練參數不可了。
上圖是一個9×9的迷宮,使用DQN技術,經過300回合訓練所得到的步數分佈數據。主角由中心位置(5,5)開始走,設法避開左上角(1,1)的魔王,儘量以最少的步數8去找到右下角(9,9)的寶藏。
可以看得出來,即使已經接近300回合的練習,仍然會有大於8的步數出現,因為這個時候epsilon仍有約0.05,也就是約20次就會有1次的隨機決定動作。但整體而言,神經網路的參數訓練部份,已經逐漸趨向穩定了。
使用DQN,其神經網路搭配強化式學習一起訓練,必然加倍消耗運算資源,不但訓練回合數比單純使用Q-table來得多,而且每一回合所使用的時間,也隨之暴漲了好幾個數量級,這讓我們不禁想起黃仁勳的名言「算力即國力」。
但這個改變是無可避免的,因為來到AI機器人時代,離散的狀態是一定要改成連續的狀態了,這時候,比DQN更加被廣泛使用的PPO(Proximal Policy Optimization),也早已步上更寬廣的舞台了。
圖3-13-3. AI機器人雙雄爭霸時代,背後都需要更好的深度強化學習演算法來精益求精。
