图书前言

前言

当前有很多版本的《强化学习》教材,其中Richard S. Sutton 、Andrew G. Barto等学者于1998年出版的《强化学习》尤为经典,此教材的第2版于2018年面世,这两本教材属于人工智能强化学习领域一致公认的经典巨作。2003年,我修读博士研究生的时候,业内还没有提出深度学习和深度强化学习的概念,当时选修的机器学习课程的教材之一就是Sutton和Barto教授撰写的第1版《强化学习》。Sutton等教授的教材深度剖析了强化学习方法的思想和原理,传播了强化学习的基本思想和基础理论。2019年,强化学习领域科学家俞凯先生翻译出版了Sutton和Barto教授原著《强化学习》的中文版,该中文版教材翻译质量极高,让中国学者对强化学习基本理论方法的学习变得更为便利。

那么,我为什么要写这本教材呢?其实我一直在等该领域内能有资深教授出版一本比较实用的、涵盖深度学习和深度强化学习基础的教材。经典的强化学习教材内没有提供这些内容,况且,正如俞凯先生在《强化学习》中文版教材前言中提到的,Sutton和Barto教授撰写的《强化学习》并非一本实用主义的算法普及书籍,而是强化学习思想的深度解析之作。所以,经典强化学习教材的编写大多从根本上可能就没有囊括深度强化学习等方法的初衷。直到2019年,我们教研组同事在教学中都感觉到从论文提炼出的关于深度强化学习和多智能体强化学习等内容的简单讲义让学生复习和参考都颇为不便,我便萌生了写这本书的意向。2019年11月,我们开始编写这本书,经过多年教学的积累,再加上这几年的准备和逐年的拓展,终于完成了本书。与深度学习、深度强化学习、多智能体强化学习的自由灵活组合等对应,这本教材通过微课版提供了讲授深度强化学习的灵活性,让教师在课程讲授中可以很方便地对教材内容和方法进行取舍、组合或延伸。 

本书共8章,第1章为强化学习基础知识,介绍人工智能、机器学习和强化学习的发展、分类和基本概念;第2章和第3章较深入地讲述了强化学习的基本原理方法,如表格型求解法和基本的深度强化学习的原理和方法;第4章以第2章和第3章为基础,介绍了多个深度强化学习经典算法,包括值函数梯度、策略梯度等类型;第5章和第6章延伸到贝叶斯强化学习和其他类型的强化学习算法;第7章和第8章讲解目前较新的多智能体强化学习基本原理和算法。为方便读者自学,本书配备了微课视频(可扫二维码观看),以动画和板书推导形式讲解主要知识点;本书还提供了源程序和实验数据集,更配有源程序讲解PPT和视频。

〖3〗强化学习原理与实践(微课版)前言〖3〗本书主要面向高等院校相关专业的本科生、研究生。此外,本书也可供广大在工作中需要应用强化学习解决实际问题的工程技术人员和教师等参考使用。对于工程技术人员来说,本书的理论推导部分在一些简单应用或参照现有方法解决问题的过程中可能还不会涉及。然而,本书阐述的强化学习方法基本原理在深层次研究开发中还是有掌握的必要,因为如果不理解基本原理,遇到新的开发难题时,则难以发现底层问题并解决。对于该读者群,各章的基本原理将有助于填补他们知识的空白。

对于相关专业教师和学习强化学习或人工智能、机器学习等课程的学生,本书既可作为强化学习课程教材,也可作为强化学习部分的参考教材。

为了方便自学阅读的读者,本书篇幅较长,尽可能像讲课一样,把知识点的细节阐述清楚。因此,读者可以按章节顺序阅读本书。当然,为节省时间,工程技术人员也可以按照实际需求,自由跳跃选读本书的章或小节,并下载程序源代码,测试修改,完成实际工程项目。另外,相关专业课程的教师则可以按需选取章节资料,本书提供PPT课件,让广大同行比较方便地备课和准备课件。

就课程教学而言,相关专业课程可分为基本原理类和实践实验类这两大类。首先,在基本原理大类的课程中,可把重点放在基本原理和推导过程的章节,例如第2章、第3章、第4章、第5章及第7章。当然,如果强化学习仅作为课程的一个章节,教师可以选讲第2~4章。如果是专门的强化学习课程,教师可以讲解全部章节,大概需要48课时,若因课时有限,可以跳过第5章“贝叶斯强化学习”和第8章“多智能体深度强化学习”的具体方法部分。

人工智能、机器学习和强化学习课程大多具有实践部分,本书也为这种实践实验类型课程提供了资料。教师可以自由选取各章节后面附带的方法、程序部分的材料。根据教师同行的经验,完全讲解全部代码,以大水漫灌方式讲解程序的效果并不好。所以,本书提供的课件只给出程序框架,代码说明结合了原理部分给出的重要知识点。教师可让学生将代码其余部分作为课外阅读功课,或以作业形式,修改代码,让学生给出结果分析。计算机类涉及程序的课程中,让学生阅读和理解真正的代码的学习效果已经获得高校计算机专业教职员工的广泛认可。

除第1章外,本书的每章大致包括了各类强化学习方法的基本原理、算法结构、模型构建和代码实现。每章都包括一些知识回顾、前后关系和内容特色,帮助读者建立上下文的联系。特别是本书包括了微课部分,其内容讲解特色是虚拟教室、理论推导、迭代更新和代码讲解。微课视频是在虚拟教室授课录制的,提供了作者在虚拟黑板上的板书,非常适合理论推导;视频还给出了逐步演示的公式推导过程,展示了基本理论,把计算每一步骤用数学公式清晰表达,让学生加强对算法的理解。此外,读者也可以通过微课的线上、线下反馈,以便作者随时对课程加以补充、修正和增加新视频。最后,微课视频详细讲解了各算法的主体程序,让学生从公式、参数到算法程序一站式掌握知识。微课的实践部分,用视频一步一步指导学生做实验,讲解实验平台搭建,演示算法的设计、运行和分析;更具特色的是,实践部分还有优秀学生代表在教室录制的视频,这些视频包含了论文报告、实验和论文撰写思路的示例。

本书得到作者的老师、朋友、同事和同学大量宝贵的支持、鼓励和帮助。我首先要感谢我的父母、妻子妮娜和我的女儿萱萱及儿子君泽。他们给予我无限的关爱和体谅。2020-2023年,我一直和他们境内外两地分隔,他们无怨无悔地忍耐我三年的缺席,我心含愧疚并感激家人承担了原属于我的家务和孩子教育工作。家人和朋友的关心和支持成为我写作和改进本书的源动力。

感谢我中山大学的同事,他们大度地容忍我的输入错误、丑陋的排版及图片设计,并分担了因我时间紧张而未能担任的工作。尤其要感谢中山大学超算中心、机器感知控制实验室的同事们对本书写作的支持: 同事黄碧莹老师,承担了很多烦琐的排版编辑和文字校对工作;周中柱博士,为本书写作素材做准备,用业余时间做了系列实验,并书写整理了大量程序和讲解;还要感谢过去几年在中山大学听我讲授人工智能、机器学习、强化学习的学生。他们实际上是本书讲义版本的测试者,感谢同学们容忍了我很多打字、排版错误和尴尬的语法。还要感谢很多在线课程的学生提供了有益反馈。

最后,也是最重要的部分,感谢我的博士研究生导师罗琼教授和博士后导师曹建农教授,他们的鼓励、指导和支持让我能鼓起勇气完成本书。还有4位博士生和硕士生与我一起共同完成了整本书的草稿,他们是: 梁泳恒、丁泓、王海涛和王剑。感谢他们为本书所做的一切工作和付出,使本书得以出版。

因本人水平有限,书中难免存在不足之处,还请各位读者不吝赐教指正,感谢!

吴贺俊2026年4月