深度强化学习落地指南
  • 推荐0
  • 收藏0
  • 浏览413

深度强化学习落地指南

魏宁 (作者) 

  • 书  号:978-7-121-41644-6
  • 出版日期:2021-08-12
  • 页  数:202
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:郑柳洁
纸质版 ¥109.00
本书从工业界一线算法工作者的视角,对深度强化学习落地实践中的工程经验和相关方法论做出了深度思考和系统归纳。本书跳出了原理介绍加应用案例的传统叙述模式,转而在横向上对深度强化学习落地过程中的核心环节进行了完整复盘。主要内容包括需求分析和算法选择的方法,动作空间、状态空间和回报函数设计的理念,训练调试和性能冲刺的技巧等。本书既是前人智慧与作者个人经验的交叉印证和精心整合,又构成了从理论到实践再到统一方法论的认知闭环,与市面上侧重于算法原理和代码实现的强化学习书籍形成了完美互补。
从实用性角度对强化学习进行了归纳和梳理,囊括了作者对强化学习应用落地的全新思考,涉及知识丰富,联系问题突出,条理清晰
前言
本书的创作动机
自从AlphaGo重新点燃了世人对人工智能(Artificial Intelligence)的热情,作为其核心技术之一的深度强化学习(Deep Reinforcement Learning,DRL)便吸引了无数关注的目光。来自全世界的研究者不断发布新的算法和“爆款”应用(如图1外围所示),新闻媒体也争相送上溢美之词,相关的公共研究平台和开源社区一片欣欣向荣,仿佛通用人工智能已经在向人类招手。然而,在光环背后,许多人对DRL落地过程的复杂性缺乏认识。此外,除了案例形式的论文或报道,业界鲜少见到对其中设计理念和工程技巧的系统性归纳,这阻碍了DRL在各行各业的进一步推广。

与此同时,针对DRL的批评也从未停歇过。囿于理论层面的固有短板,DRL算法在学习效率、可复现性和泛化能力上饱受质疑(如图1中心所示)。现实中,除了视频游戏等少数领域,DRL在实用性方面尚未表现出足够广泛的说服力。尤其是随着近年来人工智能热潮的整体降温,社会各界越来越关注DRL在噱头之外所能创造的真实经济效益,“强化学习无用论”甚嚣尘上,悲观情绪也在这个领域蔓延开来。然而,作为一线从业人员,笔者亲眼见证了DRL算法在物流、交通和制造业应用中的成功落地,以及其在降本增效方面的确切效果。脱离了具体情境的一味贬损,使得DRL的潜在价值在很多时候被轻易忽视。
在笔者看来,上述关于DRL的两极化评价皆源自对其不切实际的期待。就现阶段而言,DRL既不是通往强人工智能的天堂之路,也不是只会花拳绣腿的玩具摆设。一种较为公允的评价是“有时能用,有时更好”,以此为标准更容易理性地看待DRL这项技术。作为从业者,也应该努力超越抽象的算法原理和机械的动手实践,在认知层面通过归纳总结形成统一的方法论,并向外界积极地分享自己的所思所得。长此以往,DRL终将在誉谤之间找到合适的位置,并为推动社会进步贡献应有的价值。本书便是笔者基于以上愿景,忝然执笔的抛砖引玉之作。
本书的阅读对象
本书对于任何希望了解DRL算法的落地过程、关心实操层面的相关理念和技巧的读者来说都十分有价值。本书既可以帮助初试牛刀的新手快速弥合DRL算法原理和落地实践之间的断层,也可以供具备一定实践经验的算法工作者查漏补缺和开拓思路。本书侧重方法论层面的归纳总结,基本不涉及理论推导和代码实现,建议有相关需求的读者借助其他渠道夯实基础,并与本书内容形成互补。
在将DRL算法应用于实际任务时,首先要进行需求分析,客观评估DRL对于当前任务的适用性和性能提升空间,并明确任务中的智能体(学术界对决策主体的惯用名称,本书统称为Agent)和环境;随后分别设计动作空间、状态空间和回报函数等核心要素,从而完成对强化学习问题的完整定义;接下来根据这些定义和任务自身的特点选择合适的DRL算法,并经过训练调试得到策略模型;如果策略性能不够理想,还需要根据对实验现象的分析持续改进上述流程和算法细节,必要时采用额外的性能提升措施,直到获得满意的策略为止;最后,将训练好的策略部署到生产环境中。

本书的组织方式
本书使用独立章节,分别对图2所示DRL落地流程中的七个核心环节进行了系统介绍。读者既可以按照目录顺序通读本书,从而获得关于DRL算法应用过程的全貌,也可以将本书作为工具书,根据实际需要跳跃式地阅读相应章节,不同章节之间存在联系的内容会特别注明。以下是本书各章的内容简介。
? 第1章系统介绍如何就DRL算法的适用性对目标任务进行需求分析;
? 第2章介绍动作空间的常见类型,以及广义动作空间设计的三项基本原则和相关设计理念;
? 第3章介绍状态空间设计的注意事项和具体步骤,并强调其与动作空间和回报函数的协同设计理念;
? 第4章详细讨论回报函数中的各类成分、回报函数的设计方法和原则,以及应该避免的设计陷阱,随后简单介绍最优回报问题和基于学习的回报函数方案;
? 第5章梳理DRL算法的发展脉络,讨论根据任务特点选择算法的一般方法,随后深入介绍几种主流DRL算法的原理,并分析各自的优缺点及其可用的改进措施;
? 第6章介绍DRL算法的训练和调试过程中的方方面面,包括训练前的准备工作、超参数调整技巧和训练状态监控,并针对新手提供一些有用建议;
? 第7章补充几种可用于进一步提升DRL算法性能的通用方案,及其应用过程中的注意事项。
致谢
本书最初源自知乎专栏《深度强化学习落地方法论》,从发布之日起陆续收到许多强化学习爱好者各种形式的交流反馈,笔者从中汲取了宝贵营养,在此向他们表示诚挚的谢意。电子工业出版社郑柳洁女士在本书策划和创作过程中提供了大量专业指导,感谢她的辛勤付出。同时,也要感谢“深度强化学习实验室”同仁的大力支持,愿我们携手共同推动社区的繁荣发展。最后,感谢学术界、工业界各位前辈的鼓励和肯定,感谢家人在本书创作过程中给予的理解和包容,这本书献给你们!

目录

第1章 需求分析 1
1.1 需求分析:勿做DRL铁锤人 1
1.2 一问“是不是” 2
1.2.1 Agent和环境定义 2
1.2.2 马尔可夫决策过程和强化学习 3
1.3 二问“值不值” 5
1.3.1 试试规则和启发式搜索 5
1.3.2 别忘了传统强化学习 7
1.3.3 使用DRL的理由 7
1.4 三问“能不能” 9
1.4.1 场景固定:两个分布一致 9
1.4.2 数据廉价:多、快、好、费 13
1.5 四问“边界在哪里” 16
1.6 本章小结 18
参考文献 19
第2章 动作空间设计 23
2.1 动作空间设计:这里大有可为 23
2.1.1 被忽视的价值 23
2.1.2 动作空间的常见类型 24
2.1.3 动作空间设计的基本原则 26
2.2 动作空间的完备性 26
2.2.1 功能完备 27
2.2.2 时效完备 29
2.3 动作空间的高效性 30
2.3.1 化整为零:以精度换效率 31
2.3.2 有机组合:尺度很重要 33
2.4 动作空间的合法性 35
2.4.1 非法动作屏蔽机制 36
2.4.2 Agent的知情权 37
2.5 本章小结 39
参考文献 40
第3章 状态空间设计 43
3.1 状态空间设计:特征工程的诱惑 43
3.2 状态空间设计的两种常见误区 44
3.2.1 过分依赖端到端特征学习 44
3.2.2 极致特征工程 44
3.3 与动作空间和回报函数的协同设计 45
3.3.1 与动作空间尺度一致 45
3.3.2 以回报函数为中心 46
3.4 状态空间设计的四个步骤 47
3.4.1 任务分析 47
3.4.2 相关信息筛选 49
3.4.3 泛化性考量 53
3.4.4 效果验证 58
3.5 本章小结 61
参考文献 62
第4章 回报函数设计 64
4.1 回报函数设计:面向强化学习的编程 64
4.2 稀疏回报问题 65
4.2.1 孤独无援的主线回报 65
4.2.2 稀疏回报问题的本质 66
4.3 辅助回报 67
4.3.1 子目标回报 67
4.3.2 塑形回报 70
4.3.3 内驱回报 76
4.3.4 回报取值的注意事项 77
4.4 回报函数设计的常见陷阱 78
4.4.1 鲁莽 79
4.4.2 贪婪 80
4.4.3 懦弱 82
4.5 最优回报问题 83
4.6 基于学习的回报函数 84
4.6.1 经典方法 84
4.6.2 前沿方法 85
4.7 本章小结 87
参考文献 88
第5章 算法选择 92
5.1 算法选择:拿来主义和改良主义 92
5.1.1 DRL算法的发展脉络 92
5.1.2 一筛、二比、三改良 94
5.1.3 从独当一面到众星捧月 96
5.2 牢记经典勿忘本 97
5.2.1 DQN 98
5.2.2 DDPG 99
5.2.3 A3C 102
5.3 关注SOTA算法别留恋 105
5.3.1 TD3 105
5.3.2 SAC 107
5.3.3 PPO 110
5.4 其他算法 112
5.5 本章小结 113
参考文献 113
第6章 训练调试 119
6.1 训练调试:此事要躬行 119
6.2 训练前的准备工作 120
6.2.1 制定训练方案 120
6.2.2 选择网络结构 124
6.2.3 随机漫步 128
6.2.4 数据预处理 129
6.3 训练进行时 131
6.3.1 反脆弱:拥抱不确定性 131
6.3.2 调节超参数 134
6.3.3 监控训练状态 143
6.4 给初学者的建议 146
6.5 本章小结 148
参考文献 149
第7章 性能冲刺 154
7.1 性能冲刺:为DRL注入强心剂 154
7.2 课程学习 155
7.2.1 源任务及其分类 155
7.2.2 应用方式 157
7.3 额外监督信号 162
7.3.1 有监督预训练 163
7.3.2 辅助任务 164
7.4 进化策略 169
7.4.1 基本原理 169
7.4.2 关键细节 170
7.4.3 应用方式 174
7.5 本章小结 175
参考文献 176

读者评论

相关博文

  • 如何在AI工程实践中选择合适的算法?

    如何在AI工程实践中选择合适的算法?

    博文小编 2021-09-07

    【原创:魏宁《深度强化学习落地指南》作者】 在使用深度强化学习(Deep Reinforcement Learning,DRL)算法解决实际问题的过程中,明确任务需求并初步完成问题定义后,就可以为相关任务选择合适的DRL算法了。 ...

    博文小编 2021-09-07
    148 0 0 0