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