前言
“水之积也不厚,则其负大舟也无力。风之积也不厚,则其负大翼也无力。”
深度强化学习是机器学习王冠上的一颗璀璨明珠。从AlphaGo到ChatGPT,处处都有它的身影。
虽然深度强化学习问世至今已有多年,但鲜见适合初学者学习的、讲解清楚的、系统的、原理与实践并重的深度强化学习教材。这是阻碍更多人掌握深度强化学习的“拦路虎”。其中一个原因是,强化学习领域和深度学习领域的技术相对复杂——不易想清楚,更不易讲清楚。强化学习领域有一本权威的英文教科书,笔者曾在几年内读了几遍,似懂非懂。某些知名高校的强化学习英文课程,听得云里雾里。有的发表在知名学术期刊上的深度强化学习高被引论文,也存在值得商榷之处。
一本好书是一条捷径,尽管著书是一项苦差事、著“填坑”书更是呕心沥血坐冷板凳啃硬骨头。
本书从原理和实践的角度,尽量详细、清楚、系统地讲解深度学习、强化学习,以及深度强化学习中的精选方法及其编程实现,以期为读者夯实深度强化学习基础。唯有夯实基础,才能走得更远。希望本书对有志精通深度强化学习的读者有所帮助。
本书假设读者已经学习过“高等数学”“线性代数”“概率论与数理统计”等数学类课程、使用过Python语言进行编程、学习过机器学习中的监督学习方法。如果还没有学习过机器学习,推荐在开始学习本书之前学习《机器学习原理与实践(微课版)》(清华大学出版社,2022年6月出版)的前两章。
本书共分5章。
第1章简要介绍深度强化学习的概念、历史及应用领域,并为编程实现奠定基础。
第2章回顾神经网络,重点讲解深度神经网络、卷积神经网络及循环神经网络。
第3章主要讲解强化学习、有限马尔可夫决策过程,以及依赖模型的求解方法。
第4章主要讲解行动价值方法,包括蒙特卡洛方法、Q学习、DynaQ,以及使用深度神经网络等监督学习模型的行动价值方法。
第5章主要讲解策略梯度方法,包括蒙特卡洛策略梯度方法和行动评价方法,并给出不完全观测情况下的应对办法。
本书共有41个实验。希望通过一系列循序渐进的原创实验,引领读者独立编程实现深度强化学习方法,以加深读者对深度强化学习的理解,并具备应用深度强化学习解决实际问题的能力。在做每个实验时,如果只根据实验提示就能独立完成实验,可给自己一个“优秀”的成绩;如果在参考实验解析后可以独立完成实验,可给自己一个“良好”的成绩;如果在参考附录中给出的实验程序和中文注释后可以完成实验,可给自己一个“中等”的成绩。
受学识、表达、精力等因素所限,书中难免存在不足之处,恳请读者指正。
感谢我的父母、妻女,没有他们的支持与多方面持续付出,就不会有这本书。如果没有选择写作此书,他们的生活和学习将会更好,因此亏欠于他们。谨以此书献给我的父母、妻女。同时,感谢所有支持过本书写作与帮助过本书出版、发行的人们!
“当你学会了,尝试去教人;当你获得了,尝试去给予。”
陈喆2024年1月于沈阳
