智能博弈技术导论课程建设思考*
2022-11-25吴克宇黄金才冯旸赫
吴克宇 黄金才 冯旸赫
(国防科技大学系统工程学院 湖南长沙 410073)
经典的博弈论发源于经济学[1],主要通过严格的数学证明和推理对多主体竞争/协作条件下的各方策略和收益进行预测评估。虽然经典的博弈论在经济、金融、证券学、国际关系等领域中取得了广泛的应用,但是难以有效地解决复杂大规模的社会和工程问题时。近年来,随着人工智能技术的快速发展,以机器自博弈训练学习为特征的智能博弈技术在解决复杂大规模问题中取得了前所未有的突破。最具有代表性的成果包括“Google DeepMind”研发的“AlphaGo”“AlphaZero”“AlphaStar”[2]等决策智能体在棋类和游戏等领域超越了人类智能,展现了智能博弈技术解决复杂问题的强大能力。可以预期,在不远的将来智能博弈技术驱动的优化决策系统将在金融、交通、物流、供应链、国防军事等领域发挥重要作用。与此同时,这也对具备智能博弈技术相关基础知识结构和思维方式的人才储备和培养方式提出了巨大需求和挑战。
目前智能博弈相关的本科课程仍处于空白,难以满足学术界和工业界对本科人才的相关基础知识体系和实践能力培养的要求,亟须建设相关的课程内容、创新相关教学方法,以适应智能化时代的需求[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.结合课程思政设计增加学生的职业使命感
结合智能博弈技术的相关技术发展,使学生能够了解相关技术在发明研究和改进完善过程的历史背景、里程碑事件和重要意义,使学生能够更好地理解和体会课程的历史厚度和人文温度,更好地感受认知科研工作者数十年如一日、孜孜不倦的求真探索精神,更好地培养学生在未来工作和学习中的钻研精神。同时,在课程中穿插介绍相关领域的当前困境和短板,从而使学生认识所学知识和未来可能从事工作的重要性,着重培养学思结合、知行统一,增强学生勇于探索的创新精神、善于解决问题的实践能力,逐步养成在实践中增长智慧才干,在艰苦奋斗中锤炼意志品质。
结语
智能博弈技术在未来的发展中将扮演越来越重要的作用,也是各国竞相发展的重点,如何做好智能博弈技术相关知识体系的梳理和课程建设是目前亟待解决的重要课题。我们根据智能博弈技术的基础知识体系,面向高年级本科生设计了智能博弈技术入门课程,兼顾知识深度和广度,最后根据前期对科研工作和研究生的教学实践,提出了四点课程建议。由于智能博弈技术是一个新兴的研究方向,相关技术仍在不断的发展和完善,课程的建设需要不断从最新的研究和应用中吸取经验,使教学平台及课程体系不断改进完善。