2023/5/18 10:13:27 阅读:115 发布者:
0 引 言
2017年,国务院发布《新一代人工智能发展战略规划》,其中“高级机器学习理论”专栏中明确指出:“研究统计学基础理论……小样本学习、深度强化学习、无监督学习、半监督学习、主动学习等学习理论和高效模型”。《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中明确指出:“加强原创性引领性科技攻关,瞄准人工智能、量子信息……等前沿领域,实施一批具有前瞻性、战略性的国家重大科技项目”“培育壮大人工智能、大数据等新兴数字产业,促进共享、平台经济健康发展”。因此,开展强化学习基础理论和方法的研究,将有力地支撑国家人工智能科技战略规划实施,具有重大意义。强化学习作为人工智能技术的重要组成部分,在控制、游戏、推荐、计算机视觉、自然语言处理、数学、生物信息学、智能交通等领域有广泛应用。
1 课程建设的背景与意义
强化学习(Reinforcement Learning)是一种试错的机器学习方法,通过智能体与环境的交互,针对智能体做出的动作获得环境反馈,进而更新智能体知识和经验,选择下一个动作再次对环境进行探索。从分类上讲,强化学习技术是机器学习技术的一部分,但与监督学习、非监督学习等其他机器学习方法有明显不同:①强化学习的学习过程中没有监督信号,只有奖励反馈和实验试错;②强化学习的环境反馈具有延时性;③智能体的动作会影响后续接收到的序列数据;④强化学习的过程与时间序列相关,是一个序贯决策的过程。
由于深度学习(Deep Learning)模型的快速发展,与传统强化学习的结合使得对复杂环境的表征成为了可能,形成了深度强化学习技术(Deep Reinforcement Learning),实现了将强化学习的决策能力与深度学习的表征能力的有效融合,面向自动驾驶、机械臂控制等复杂场景具有重要应用。其中最著名的深度强化学习应用当属2016年谷歌DeepMind公司研发的基于强化学习的围棋程序AlphaGo,击败了世界围棋大师李世石,震惊世界的同时也拉开了深度强化学习从学术界走向大众认知的帷幕。此外,深度强化学习技术也可以应用在其他学科领域,如生物工程、机械制造、化学分析、药物合成等,能够促进众多有决策需求的学科发展。
近年来,国内外高校逐步开设了强化学习、深度强化学习相关的课程[1]。在国外,英国伦敦大学学院David Silver教授于2015年开设了面向研究生的Reinforcement Learning课程;美国卡耐基梅隆大学Katerina Fragkiadaki助理教授于2017年开设了Deep Reinforcement Learning & Control课程,介绍了强化学习及控制领域的最新进展。在国内,清华大学李升波教授于2018年开设了面向研究生的强化学习与控制课程,以理论基础与算法设计融合的方式介绍强化学习的框架体系;北京大学张志华教授于2018年开设了面向本科生和研究生的强化学习基础课程。上述强化学习相关课程的开设,在很大程度上帮助了学生了解强化学习技术,但同时面临着诸多教学困境。
2 课程教学现状与困境
2.1 选课学生受限
国内外已经开设的强化学习课程,主要受众还是计算机、自动化相关专业的本科生或研究生,这些专业的学生拥有相对较好的编程基础,因此教师在讲授强化学习算法以及指导实验实践的过程中,可以将理论与代码相结合。但是,强化学习技术不仅仅在计算机和自动化领域应用,在物理、化学、材料、生物、机械、金融等领域也具有广泛应用,这些专业的学生需求同样迫切,因此,强化学习技术的课程教学方法须改变,以适应各个专业、不同层面的学生群体[2]。
2.2 教学方式滞后
当下,国内几乎所有高校都开展了机器学习、人工智能类相关课程的教学工作,但大多属于科普类专业课的讲授模式,即从监督学习、非监督学习到强化学习都有涉猎,但受限于课时数,每一部分都不深入,更鲜见学术前沿内容的讲授。这种教学模式使得学生通常只能做到“大致了解”,但是对于其深层次的数学原理理解不透,对最新的前沿技术(可能来源于最新发表的学术论文)更是无法掌握。特别是强化学习技术,相比监督和非监督学习,有着更为完整的数学理论支撑,但往往无法讲透;同时,强化学习技术仍处于飞速发展期,内容更新迭代速度很快,而目前的强化学习课程多为普及型,主要讲解的是强化学习前期发展的一些技术算法,对于国际前沿科研机构和学者的最新成果往往无法囊括,使得无法直接应用于所在领域的科研,教学内容有一定的滞后性[3]。
2.3 教学实践断续
强化学习是一门理论与实践结合十分紧密的课程。每一个强化学习算法,都有其实际应用的典型例子,例如单智能体强化学习经典算法DQN最早成功应用于雅达利游戏,但在目前强化学习授课过程中,教师往往会倾向于强化学习算法流程的教学,要么忽视了编程实践的重要性(例如只准备少量编程实验),要么实验内容与算法教学的呼应不强。这使得课程的算法理论教学与实践应用指导脱节,学生在学习时往往感到枯燥无味,甚至由于听不懂个别算法细节丧失学习兴趣,不利于学习质量的整体提升。
3 强化学习技术与应用课程教学改革思路与做法
3.1 构建基础扎实、前沿引领、实验丰富、循序渐进的课程体系
针对“强化学习技术与应用”这门课程,为了保证不同年级、不同专业、不同程度的学生都可以在课程学习过程中有较好的收获,在课程体系设计方面,要采用基础扎实、前沿引领、实验丰富、循序渐进的教授方式,具体包括几下几点。
(1)在基础讲解方面,首先讲解课程导论并介绍课程评价方式,目的是使学生了解课程的内容、特点及其涉及的主要知识体系;其次介绍机器学习基础,由于强化学习是机器学习的一部分,因此不能把强化学习的讲授与机器学习技术分割开来;进一步介绍强化学习基础,主要介绍强化学习的概念、分类、发展历史等,同时精讲马尔可夫决策过程、动态规划算法、多臂老虎机方法、策略迭代算法、价值迭代算法等经典算法,这些算法是深度强化学习方法的基础,后期较为复杂的多智能体强化学习算法也离不开这些经典思想的运用。
(2)在前沿引领方面,讲授顺序从单智能体算法逐步过渡到多智能体算法,引入学术前沿的算法来着重解决强化学习算法中存在的问题,包括多智能体探索与合作、多智能体间通信决策等问题,追踪近3年发表在人工智能领域顶级会议NeurIPS、ICML、ICLR的前沿论文,动态更新教学内容重点。
(3)在实验布置方面,实验内容循序渐进,从最基础的强化学习基础仿真环境的搭建,到深度学习手写数字识别问题的解决,再到利用讲授的单智能体强化学习算法实现经典的像素小游戏。在有一定的编程实现基础后,教师及助教团队将带领学生利用多智能体强化学习经典算法COMA等来实现各种复杂游戏,让学生掌握一定的高级算法编程实现能力。最后,布置团队大作业,综合深度强化学习算法和实际应用场景,逐步引导学生完成一个完整的科研课题,回顾整个课程的内容,分享收获,反思不足,展望未来。
综上所述,在课程的体系设计上,从理论知识的讲解到实验实践,始终坚持由浅入深的渐进式教学方法,让所有学生,无论哪个专业、前期基础如何,都能够在课堂上掌握一定的强化学习知识和技术,未来都可以在自己的学科方向上较快地开展应用研究工作[4]。
3.2 “五位一体”核心内容教学方法
“五位一体”核心内容教学方法是指“应用实例讲解、理论举例讲解、结构动画讲解、类比方法运用、算法总结对比”。
(1)应用实例讲解。大量引入具体应用实例进行讲解,例如引入“双足机器人”行走视频,深化学生对强化学习中智能体与环境的探索交互过程认知。
(2)理论举例讲解。当遇到较为抽象的数学公式时,采用该方法,将公式推导过程应用到实际问题的计算中,帮助学生快速理解公式意义。
(3)结构动画讲解。对于较为复杂的算法(如面向连续动作空间的单智能体强化学习方法DDPG),采用该方法,通过幻灯片动画的形式,一步步展示深度模型的计算流程,从而使得原本繁杂的模型计算脉络变得清晰。
(4)类比方法运用。当遇到晦涩难懂的概念解释时采用该方法,例如讲授单智能体强化学习算法PPO从On-policy到Off-policy变化的重要性时,将On-policy比喻为“一边下棋一边学”,将Off-policy比喻为“一边看别人下棋一边学”,以解释前者为“要学习的策略与智能体和环境互动的策略相同”,而后者为“要学习的策略与智能体和环境互动的策略不同”,以便学生更容易理解吸纳。
(5)算法总结对比。通过比较一类算法的异同,加深学生对知识的理解,例如比较Q-learning、DQN、DDPG、PPO这4种算法,从迭代方法、On/Off-policy、Q函数形式、状态空间、动作空间和探索策略6个方面讲授。
3.3 “教材—课件—视频—代码”融合的教具体系
本课程的教具包含了纸质教材、PPT课件、教学视频以及带有详细注释的源代码文件共4个部分。其中,教材有两本,一是Richard S. Sutton等人编著的经典教材《强化学习(第2版)》,二是授课团队于2020年编著的《深度强化学习:学术前沿与实战应用》。两本教材各有优势,Sutton等人的教材对基础知识的讲授更为透彻,授课团队的教材对近两年的学术前沿跟踪更为紧密。教学视频来自于网络,包括强化学习的应用类视频和对某一个算法讲解的视频。实验源代码包括了课程中布置的20个基础实验和4个高级实验的全部代码及解释,并开源于Github网站。通过4种类型教具的提供,实现多元化教学,使学生可以更好地对知识进行学习、回顾与实践,实现教学质量和育人水平的全面提升。
3.4 “手把手实验、理论实践对应、基础高级结合”的复合型多种类实验教学方法
实验教学过程中,教师及助教带领学生逐行学习代码的编写与运行,并将重要的代码位置作为填空题留给学生思考填写,不断强化学生的代码实操能力[5]。“手把手实验、理论实践对应、基础高级结合”的实验教学模式包括以下几方面内容。
(1)手把手实验。配备充足的、专业技术过硬且经验丰富的助教老师(由授课团队的青年骨干教师和博士后担任),在代码实操阶段真正实现一对一、手把手教学。这种方法特别适用于非计算机专业、编程基础不强的学生,可以使学生的问题在课堂上得到快速解决。
(2)理论实践对应。在讲解代码时,不仅逐行解释代码的含义,同时强调代码中对关键强化学习算法步骤的实现。例如,在讲解Q-learning算法编程时,将Q函数更新数学公式与代码一一对应,使学生可以准确地将二者联系,加深对算法的理解。
(3)基础高级结合。安排学生先从最基本的强化学习环境搭建开始学习,接下来是深度学习的实验样例,然后才是20个单智能体强化学习算法的实验,最后进行4个多智能体深度强化学习算法的实验。实验难度逐步提升,让学生逐渐适应强化学习的代码实操,体会自己实现算法带来的无穷乐趣。
4 教学效果
4.1 多位本科生发表CCF-A类论文并获最佳论文奖
通过两年来“强化学习技术与应用”全校性公选课的开展,授课团队培养了一批优秀的本科学生。例如,本学院软件工程专业2021年本科毕业生王昊,获评北京市优秀毕业生、我校徐特立最高奖学金(全校3 000余名本科生中排名第一),作为第一作者获得CCF-A类会议ACM SigKDD 2021最佳论文亚军。再如,本学院软件工程专业2021年本科毕业生张青龙,获评北京市优秀本科毕业设计论文、我校优秀毕业生,作为第二作者获得CCF-A类会议ACM MobiCom 2021最佳社区论文亚军。我校徐特立学院计算机科学与技术专业2022年本科毕业生叶语霄获评我校优秀毕业生,以第一作者被CCF-A类会议IEEE ICDE 2023录用论文一篇,并作为队长带队在3 442支参赛队伍中获得2022中国高校计算机大赛—人工智能创意赛全国总决赛特等奖。
4.2 课程得到学生及行业人士的一致好评
自2020年课程第一次开设,百余名选课学生分别来自我校计算机学院、机电学院、信息与电子学院、数学学院、自动化学院、徐特立学院等大一到大四的学生,覆盖学科范围较为全面。学生对课程的学习热情高涨,近两年平均分为89.40分。有学生评价此课程“深入浅出,重视基础知识,引导学生真正打开了强化学习算法的大门”。
与此同时,授课团队已为中国兵器工业集团公司、中国航天科技集团公司、中国航天科工集团公司、中国船舶工业集团公司、北京航空航天大学等企业和高校进行了共4期约240余人次参加的强化学习技术专业培训,得到了工业界一线工程师和学术界高校教师的广泛认可,并受邀在2022年全国高校大数据专业教学研讨与教师培训会议等多个全国教学类研讨会中进行经验讲授。
5 结 语
强化学习技术是人工智能的重要组成部分,在计算机、自动化、数学、物理、材料、金融等学科领域具有广泛应用。针对国内外已有强化学习技术课程面临的选课学生受众面窄、教学方式浅显滞后、理论实践联系不紧密等问题,对强化学习技术与应用课程进行了改革探索。通过构建基础扎实、前沿引领、实验丰富、循序渐进的课程体系,对“五位一体”核心内容教学方法进行实践,建立了“教材—课件—视频—代码”融合的教具体系辅佐课程讲授,并通过“手把手实验、理论实践对应、基础高级结合”的复合型多种类实验教学方法强化讲授内容,取得了积极的教学与人才培养成果。
参考文献:
[1] 李君, 陈万明, 董莉. “新工科”建设背景下人工智能领域研究生培养路径研究[J]. 学位与研究生教育, 2021, 339(2): 29-35.
[2] 王婧. 基于先导课的本科机器学习教学方法[J]. 计算机教育, 2020, 307(7): 111-114.
[3] 张永飞, 欧阳元新, 郑锦, 等. 综合素养导向的人工智能方向研究型教学改革[J]. 高等工程教育研究, 2021(5): 29-33.
[4] 武迪, 戴琼海. 高校人工智能人才培育战略的道与路[J]. 中国高等教育, 2021, 678(20): 13-15.
[5] 李德毅, 马楠. 智能时代新工科: 人工智能推动教育改革的实践[J]. 高等工程教育研究, 2017(5): 8-12.
基金项目:国家自然科学基金联合基金重点支持项目(U21A20519)。
作者简介:刘驰,男,北京理工大学教授,研究方向为智能物联网与强化学习技术,chiliu@bit.edu.cn。
引文格式:刘 驰. 强化学习技术与应用课程建设探索[J].计算机教育,2023(4):34-38.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!