吳克宇 黃金才 馮旸赫
(國防科技大學系統工程學院 湖南長沙 410073)
經典的博弈論發源于經濟學[1],主要通過嚴格的數學證明和推理對多主體競爭/協作條件下的各方策略和收益進行預測評估。雖然經典的博弈論在經濟、金融、證券學、國際關系等領域中取得了廣泛的應用,但是難以有效地解決復雜大規模的社會和工程問題時。近年來,隨著人工智能技術的快速發展,以機器自博弈訓練學習為特征的智能博弈技術在解決復雜大規模問題中取得了前所未有的突破。最具有代表性的成果包括“Google DeepMind”研發的“AlphaGo”“AlphaZero”“AlphaStar”[2]等決策智能體在棋類和游戲等領域超越了人類智能,展現了智能博弈技術解決復雜問題的強大能力??梢灶A期,在不遠的將來智能博弈技術驅動的優化決策系統將在金融、交通、物流、供應鏈、國防軍事等領域發揮重要作用。與此同時,這也對具備智能博弈技術相關基礎知識結構和思維方式的人才儲備和培養方式提出了巨大需求和挑戰。
目前智能博弈相關的本科課程仍處于空白,難以滿足學術界和工業界對本科人才的相關基礎知識體系和實踐能力培養的要求,亟須建設相關的課程內容、創新相關教學方法,以適應智能化時代的需求[3]。本文總結了科研工作和研究生教育工作中的經驗,梳理了智能博弈技術相關知識體系,提出了包含“探索與利用”“馬爾科夫決策過程”“數據驅動的預測評估”“數據驅動的最優控制”以及“博弈搜索與學習”為主要內容的課程體系和配套課程實踐,探討了相關的教學建議和教學方法,建議引導學生通過如全國兵棋推演大賽等學科競賽活動提升解決實際問題的能力,希望能為相關領域人員提供參考。
智能博弈技術導論的主要目標是,使高年級本科生在已有概率論和計算機知識基礎上,對智能博弈技術從整體上形成較全面和系統的認識,從機器博弈、動態規劃、強化學習等知識的基本概念和相互關系入手,使學生掌握智能博弈技術的基本概念、基本原理和基本方法,同時結合前沿技術研究開闊學生知識視野,使學生了解相關研究與應用的新方向和新進展,通過配套的課程實踐和編程練習提高學生解決問題的能力,為將來更加深入地學習和運用智能博弈技術相關理論和方法解決實際問題奠定初步基礎。
智能博弈技術導論的課程體系共包含六個章節,課程體系結構如下。
本章首先以“AlphaGo”“AlphaZero”“AlphaStar”等近年來著名的智能博弈決策智能體作為導入,調動學生的相關知識的學習興趣和積極性。同時回顧基于機器計算的博弈發展歷史和技術路徑,闡述機器博弈和學習算法在跳棋、象棋、紅白機、圍棋、星際爭霸等典型博弈場景中算法技術和里程碑意義。最后,結合“DeepMind”的“AlphaGo”“AlphaZero”“AlphaStar”等智能系統,簡要說明現代智能博弈技術的技術架構,進而引出本課程的主要內容。
本章闡述探索和利用問題(Exploitation and Exploration Dilemma)背景和典型的算法[4],涵蓋探索和利用問題背景、多臂賭博機(Multi-armed Bandit)建模方法和基于“Upper-Confidence-Bound(UCB)”算法的最優決策方法。
本章內容作為無狀態(Stateless)隨機場景中的最優決策問題建模和算法求解,將為學生認識和理解數據驅動的決策方法奠定基礎,同時對探索和利用問題和算法的掌握還將為學生理解后續章節中關于強化學習方法中的 -greedy 算法和蒙特卡洛搜索樹中的UCT 算法奠定基礎。
本章闡述馬爾科夫決策過程(Markov Decision Process,MDP)[5]相關概念和方法,涵蓋:①MDP 的定義和概念:序貫決策問題、MDP 的定義、策略的概念;②價值函數和Bellman方程:價值函數的定義(V 函數和Q 函數)、Bellman 方程;③值迭代方法:壓縮映射、值迭代方法;④策略迭代方法:策略優化(Policy Improvement)原理、策略迭代方法。
本章內容將使用數學語言正式地引入狀態、動作、獎勵函數、策略、價值函數、最優策略、Bellman 方程等主要概念,并通過值迭代和策略迭代等動態規劃對最優策略進行求解。通過本章內容的學習,學生將對隨機動態優化問題的建模和求解有較深入的理解,同時為更好地理解和掌握策略評估TD 算法、最策略優化Q-learning 和SARSA 算法奠定基礎。
本章節將講解模型未知(Model-free)場景中基于數據驅動的策略評估方法[6],涵蓋1.蒙特卡洛估計:模型未知場景的估計問題建模、蒙特卡洛估計方法;2.時間差分(Time-difference,TD)估計算法:TD 估計的概念引入、TD的定義和方法,基于TD 的價值函數估計;3.Multi-step TD:TD 和蒙特卡洛估計方法的對比,基于Multi-step 視角對預測評估算法的統一認識。
本章節將通過理論與案例相結合的方法對相關概念和算法進行闡述,使學生能夠針對典型的問題,設計自己的TD 學習算法進行求解。通過本章節內容將建立數據增量學習與價值函數估計的關系,是學生理解后續章節中強化學習和博弈樹搜索算法設計的基礎。
本章節將講解模型未知場景中基于數據驅動的最優控制方法[7],涵蓋1.單主體決策問題概述:闡述模型未知場景中的最優控制問題的設定,回顧和對比Q 函數和V 函數;2.“On-policy TD Control”:講解“On-policy TD”和“SARSA”算法;3.“Off-policy TD Control”:講解“On-policy TD”和“Q-learning”算法;4.函數近似與深度強化學習:概述函數近似方法和深度強化學習方法。
本章節將系統地講解兩類基于價值函數的經典強化學習算法(即“SARSA”和“Q-learning”算法),并通過回顧并對比地講解值迭代和策略迭代方法,加深對強化學習算法的理解。同時,進一步說明在解決復雜問題中函數近似的必要性,并簡要闡述融合深度神經網絡進行函數近似的強化學習方法和典型應用,可以使學生對當前的研究熱點,深度強化學習,有較直觀的理解和認識,為學生在后續的研究和工作更深入地理解先進強化學習方法奠定基礎。
本章節將講解基于計算搜索和數據學習的博弈方法[8],涵蓋1.多主體決策問題概述:博弈問題和場景,博弈樹建模方法;2.“Minimax”搜索:“Minimax”搜索方法,相關案例;3.“Alpha-beta”剪枝:“Alpha-beta”剪枝算法,相關案例;4.蒙特卡洛樹搜索:蒙特卡洛搜索樹(Monte Carlo Tree Search,MCTS)的一般原理(Selection,Expansion,Simulation,Back Propagation),UCT 算法和案例講解,MCTS 算法整體流程;4.“MCTS”與學習結合:概述“MCTS”與學習方法的結合點,并以此為基礎概述“AlphaGo”“AlphaGo Zero”“AlphaZero”的技術架構;⑤智能博弈算法的發展與應用:概述以現代蒙特卡洛樹搜索為代表的技術發展和典型應用。
本章節將講解經典的博弈樹搜索算法(Minimax 搜索和Alpha-beta 剪枝)和融合學習機制的啟發式博弈搜索算法(MCTS 算法),并結合“AlphaGo”“AlphaGo Zero”“AlphaZero”等系列智能系統對相關概念進行進一步的闡述,最后簡要地闡述智能博弈技術的未來發展和可能應用。本章節內容融合前序章節中關于Bandit、蒙特卡洛估計、強化學習等概念,使學生對現代智能博弈技術的相關概念、理論方法和前沿方向有較系統的理解。
課程將針對第二章“探索與利用”、第三章“馬爾科夫決策過程”、第五章“數據驅動的預測評估”、第六章“博弈搜索與學習”分別各設置2 個學時的編程實踐課程,旨在加深學生對概念和算法的理解,初步培養學生使用相關方法解決簡單問題的能力。
針對第二章“探索與利用”,將學生的任務分成兩個部分,即建模部分和決策部分。建模部分是編程實現一個基本的Multi-armedBandit(多臂賭博機)的環境,即通過生成N 個均值不同的隨機變量。決策部分則是實現UCB 算法,能夠找到一個Multi-armedBandit(多臂賭博機)的環境中的最優選項。最后,課程將讓學生使用自己決策部分的代碼去尋找同伴建模部分環境中的最優選項,以此來增加學生實踐的趣味性和動力。
針對第三章“馬爾科夫決策過程”,以“GridWorld”中的最優路徑探索作為實踐案例,讓學生確定并編寫該環境中狀態、動作、獎勵和轉移函數等要素,加深對馬爾科夫過程建模方法的認識和理解。同時,基于該環境,讓學生分別使用值迭代和策略迭代兩種方法對問題進行求解,以此增強學生對這兩動態規劃求解方法的概念和算法的熟悉。
針對第五章“數據驅動的預測評估”,以“MountainCar”作為例子進行編程實踐。這個部分由老師準備好環境、接口、數據預處理和算法性能評估展示部分,學生負責編寫核心的學習算法部分。為了讓學生理解表格型強化學習和基于函數近似強化學習算法的區別,將讓學生分別實現表格型Q-Learning 和基于神經網絡近似的Q-Learning 算法,并對比算法達到相似性能所需要的數據量,讓學生更直觀地理解函數近似方法在強化學習中的重要性。
針對第六章“博弈搜索與學習”,以“tic-tac-toe”這一最簡單的博弈場景作為例子進行MCTS 的編程實踐。這個部分由老師準備好具備可視化、交互式的棋盤,并進行接口準備和MCTS 算法的架構搭建。學生負責理解程序結構,并編寫MCTS 算法的核心部分。為了提高學生的參與感和學習興趣,可以設置人-機,機-機的對抗博弈環境,讓學生與自己編寫的博弈智能體下棋,或者讓博弈智能體之間進行對弈。
智能博弈技術是作為一個交叉學科,涉及博弈論、機器學習、優化理論等眾多知識點,對數學基礎和編程能力有相當的要求,對于本科生具有一定的學習難度,如何有效地利用課堂課后時間讓學生掌握智能博弈技術的核心和理論,熟悉學科的相關前沿方向和思維方式,了解智能博弈技術的典型應用和發展趨勢是課程的重點目標。智能博弈技術需要在教學過程注意平衡知識傳授過程中的深度和廣度,盡量避免過于深入知識細節而使學生難以掌握技術全貌,同時又要介紹的背景和案例過多,而使得學生走馬觀花,不能真正掌握智能博弈技術的思維方式和解決問題的途徑方法。通過對前期教學科研中的經驗和實踐進行總結,我們得出了以下建議,僅供參考。
1.課堂授課聚焦主要理論方法,典型案例貫穿始終
智能博弈技術包含的概念眾多、知識點龐雜,授課過程中教師應圍繞背景的引入、基本概念的闡述、關鍵算法的講解進行深入展開。同時,教師應理清和概述與課堂中講解的核心知識點相關的其他的重要概念和方法的聯系,使學生對整體知識體系有較清晰的理解。與此同時,由于相關的理論和算法中往往涉及數學理論和公式,會對本科生的理解帶來不小的挑戰,因此教師應針對問題背景和算法理論精選案例,并在知識講授過程中以該案例貫徹始終,方便學生形象直觀地理解相關內容。
2.實踐課程引入協作與競爭,使學生“通過博弈學習博弈”
由于智能博弈技術主要依賴于機器迭代搜索和學習,學生需要通過編程實踐才能更好地掌握和理解相關思想,提高解決問題的能力。為了增加實踐課程的趣味性,提高學生學習的主動性,可以在實踐課程中將學生分成多組,分別完成算法中的不同部分,并進行競爭博弈。例如,在Bandit 問題中,可以使學生分別完成環境和Bandit 算法,并比較算法在不同環境下的能力;在MCTS 問題中,可以使學生分別編寫不同的決策智能體,并進行對抗博弈。教師在評價學生算法的基本完成度的基礎上,可以給獲得競爭優勢的組以額外的獎勵以激發學生深入思考問題、設計完成算法、協作完成任務,從而提高學生的學習效果。
3.引導學生課后主動學習,多種方式探索求真
智能博弈技術的相關研究當前正處于快速發展的階段,前沿理論和應用層出不窮,教師應引導學習主動學習。例如,可通過鼓勵學生在各種國內外相關論壇和社區提問、發言,使用和參與開源項目,不斷加深對掌握知識的理解和運用、補充學習新的知識和方法。同時,還可以引導學有余力的學生參加智能博弈相關的學科競賽,如每年一度的全國兵棋推演競賽,讓學生結合具體的場景和應用,進一步探索新的技術和方法,提升解決實際問題的能力。總之,教師應鼓勵學生通過多種方式進行主動探索和學習,不斷開闊視野,為以后相關工作和深入研究奠定良好的基礎。
4.結合課程思政設計增加學生的職業使命感
結合智能博弈技術的相關技術發展,使學生能夠了解相關技術在發明研究和改進完善過程的歷史背景、里程碑事件和重要意義,使學生能夠更好地理解和體會課程的歷史厚度和人文溫度,更好地感受認知科研工作者數十年如一日、孜孜不倦的求真探索精神,更好地培養學生在未來工作和學習中的鉆研精神。同時,在課程中穿插介紹相關領域的當前困境和短板,從而使學生認識所學知識和未來可能從事工作的重要性,著重培養學思結合、知行統一,增強學生勇于探索的創新精神、善于解決問題的實踐能力,逐步養成在實踐中增長智慧才干,在艱苦奮斗中錘煉意志品質。
智能博弈技術在未來的發展中將扮演越來越重要的作用,也是各國競相發展的重點,如何做好智能博弈技術相關知識體系的梳理和課程建設是目前亟待解決的重要課題。我們根據智能博弈技術的基礎知識體系,面向高年級本科生設計了智能博弈技術入門課程,兼顧知識深度和廣度,最后根據前期對科研工作和研究生的教學實踐,提出了四點課程建議。由于智能博弈技術是一個新興的研究方向,相關技術仍在不斷的發展和完善,課程的建設需要不斷從最新的研究和應用中吸取經驗,使教學平臺及課程體系不斷改進完善。