描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121411885
一、本书内容之广,令人惊讶,对深度强化学习进行了庖丁解牛式的解读,要想了解、学习、上手深度强化学习,这本书将是你的不二选择。
二、本书作者之众,令人惊叹,本书作者团队是国内外开源社区的一群年轻青年学者和工程师,从科研角度到工程实践,解读深度强化学习知识,契合当下读者的诉求。
三、本书案例之多,令人惊喜,模仿学习、分层强化学习、多智能体强化学习、并行计算、图像增强、阿尔法下棋、机器人学习应有尽有,更难能可贵的是,本书后作者根据自己经验总结出深度强化学习的研究实践技巧,应该颇具价值,供读者学习。
深度强化学习结合深度学习与强化学习算法各自的优势解决复杂的决策任务。得益于 DeepMind AlphaGo 和 OpenAI Five 成功的案例,深度强化学习受到大量的关注,相关技术广泛应用于不同的领域。本书分为三大部分,覆盖深度强化学习的全部内容。部分介绍深度学习和强化学习的入门知识、一些非常基础的深度强化学习算法及其实现细节,包括第 1~6 章。第二部分是一些精选的深度强化学习研究题目,这些内容对准备开展深度强化学习研究的读者非常有用,包括第 7~12 章。第三部分提供了丰富的应用案例,包括 AlphaZero、让机器人学习跑步等,包括第 13~17 章。本书是为计算机科学专业背景、希望从零开始学习深度强化学习并开展研究课题和实践项目的学生准备的。本书也适合没有很强的机器学习背景、但是希望快速学习深度强化学习并将其应用到具体产品中的软件工程师阅读。
基础部分 1 第 1 章 深度学习入门 2
1.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 感知器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 多层感知器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 激活函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.1 梯度下降和误差的反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.2 随机梯度下降和自适应学习率 . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.3 超参数筛选 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7.1 过拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7.2 权重衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7.3 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7.4 批标准化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7.5 其他缓和过拟合的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.9 循环神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.10 深度学习的实现样例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.10.1 张量和梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.10.2 定义模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.10.3 自定义层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.10.4 多层感知器:MNIST 数据集上的图像分类 . . . . . . . . . . . . . . . . . . . 33
1.10.5 卷积神经网络:CIFAR-10 数据集上的图像分类 . . . . . . . . . . . . . . . . 35
1.10.6 序列到序列模型:聊天机器人 . . . . . . . . . . . . . . . . . . . . . . . . . . 36
第 2 章 强化学习入门 43
2.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2 在线预测和在线学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2.2 随机多臂赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 对抗多臂赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.4 上下文赌博机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3 马尔可夫过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.2 马尔可夫奖励过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.3.3 马尔可夫决策过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.3.4 贝尔曼方程和性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3.5 其他重要概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.4 动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.4.1 策略迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.4.2 价值迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.4.3 其他 DPs:异步 DP、近似 DP 和实时 DP . . . . . . . . . . . . . . . . . . . 68
2.5 蒙特卡罗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.5.1 蒙特卡罗预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.5.2 蒙特卡罗控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.5.3 增量蒙特卡罗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.6 时间差分学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.6.1 时间差分预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.6.2 Sarsa:在线策略 TD 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.6.3 Q-Learning:离线策略 TD 控制 . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.7 策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.7.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.7.2 基于价值的优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.7.3 基于策略的优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.7.4 结合基于策略和基于价值的方法 . . . . . . . . . . . . . . . . . . . . . . . . 105
第 3 章 强化学习算法分类 110
3.1 基于模型的方法和无模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.2 基于价值的方法和基于策略的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.3 蒙特卡罗方法和时间差分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.4 在线策略方法和离线策略方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
第 4 章 深度 Q 网络 119
4.1 Sarsa 和 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.2 为什么使用深度学习: 价值函数逼近 . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.3 DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.4 Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.5 Dueling DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.6 优先经验回放 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.7 其他改进内容:多步学习、噪声网络和值分布强化学习 . . . . . . . . . . . . . . . 128
4.8 DQN 代码实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
第 5 章 策略梯度 146
5.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.2 REINFORCE:初版策略梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.3 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.4 生成对抗网络和 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.5 同步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.6 异步优势 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.7 信赖域策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.8 近端策略优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.9 使用 Kronecker 因子化信赖域的 Actor-Critic . . . . . . . . . . . . . . . . . . . . . . 159
5.10 策略梯度代码例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.10.1 相关的 Gym 环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.10.2 REINFORCE: Atari Pong 和 CartPole-V0 . . . . . . . . . . . . . . . . . . . . . 165
5.10.3 AC: CartPole-V0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.10.4 A3C: BipedalWalker-v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.10.5 TRPO: Pendulum-V0 . . . . . . .
为什么写作本书
人工智能已经成为当今信息技术发展的主要方向,国务院印发的《新一代人工智能发展规划》中指出:2020 年我国人工智能核心产业规模超过 1500 亿元,带动相关产业规模超过 1 万亿元;2030 年人工智能核心产业规模超过 1 万亿元,带动相关产业规模超过 10 万亿元。深度强化学习将结合深度学习与强化学习算法各自的优势来解决复杂的决策任务。近年来,归功于 DeepMind AlphaGo 和 OpenAI Five 这类成功的案例,深度强化学习受到大
量的关注,相关技术广泛用于金融、医疗、军事、能源等领域。为此,学术界和产业界急需大量人才,而深度强化学习作为人工智能中的智能决策部分,是理论与工程相结合的重要研究方向。本书将以通俗易懂的方式讲解相关技术,并辅以实践教学。
本书主要内容
本书分为三大部分,以尽可能覆盖深度强化学习所需要的全部内容。部分介绍深度学习和强化学习的入门知识、一些非常基础的深度强化学习算法及其实现细节,请见第 1~6 章。
第二部分是一些精选的深度强化学习研究题目,请见第 7~12 章,这些内容对准备开展深度强化学习研究的读者非常有用。为了帮助读者更深入地学习深度强化学习,并把相关技术用于实践,本书第三部分提供了丰富的例子,包括 AlphaZero、让机器人学习跑步等,请见第 13~17 章。
如何阅读本书
本书是为计算机科学专业背景、希望从零学习深度强化学习并开展研究课题和实践项目的学生准备的。本书也适用于没有很强机器学习背景、但是希望快速学习深度强化学习并把它应用到具体产品中的软件工程师。
鉴于不同的读者情况会有所差异(比如,有的读者可能是次接触深度学习,而有的读者可能已经对深度学习有一定的了解;有的读者已经有一些强化学习基础;有的读者只是想了解强化学习的概念,而有的读者是准备长期从事深度强化学习研究的),这里根据不同的读者情况给予不同的阅读建议。
- 要了解深度强化学习。
第 1~6 章覆盖了深度强化学习的基础知识,其中第 2 章是关键、基础的内容。如果您已经有深度学习基础,可以直接跳过第 1 章。第 3 章、附录 A 和附录 B 总结了不同的算法。
- 要从事深度强化学习研究。
除了深度学习的基础内容,第 7 章介绍了当今强化学习技术发展遇到的各种挑战。您可以通过阅读第 8~12 章来进一步了解不同的研究方向。
- 要在产品中使用深度强化学习。
如果您是工程师,希望快速地在产品中使用深度强化学习技术,第 13~17 章是您关注的重点。您可以根据业务场景中的动作空间和观测种类来选择相似的应用例子,然后运用到您的业务中。
董豪
2021 年 4 月
郭毅可(香港浸会大学副校长、教授,帝国理工学院教授,数据科学研究所所长,英国皇家工程院院士,欧洲科学院院士)
我对这本书覆盖内容的范围之广印象深刻。从深度强化学习的基础理论知识,到包含代码细节的技术实现描述,作者们花了大量的精力致力于提供综合且广泛的内容。这样的书籍是初学者和科研人员非常好的学习材料。拥抱开源社区是深度学习得到快速发展不可或缺的一个原因。我很欣慰这本书提供了大量的开源代码。我也相信这本书将会对那些希望深入这个领域的研究人员非常有用,也对那些希望通过开源例子快速上手的工程师提供良好的基础。
陈宝权(北京大学教授,前沿计算研究中心执行主任,IEEE Fellow)
本书提供的深度强化学习内容非常可靠,缩小了基础理论和实践之间的差距,以提供详细的描述、算法实现、大量技巧和速查表为特色。本书作者均是研究强化学习的知名大学研究者和将技术用在各类应用中的开源社区实践者。这本书为不同背景和阅读目的的读者提供了非常有用的资源。
金驰(普林斯顿大学助理教授)
这是一本在深度强化学习这个重要领域出版得非常及时的书。本书以一种简明清晰的风格提供了详尽的工具,包括深度强化学习的基础和重要算法、具体实现细节和前瞻的研究方向。对任何愿意学习深度强化学习、将深度强化学习算法运用到某些应用上或开始进行深度强化学习基础研究的人来说,这本书都是理想的学习材料。
李克之(伦敦大学学院助理教授)
这本书是为强化学习、特别是深度强化学习的忠实粉丝提供的。从 2013 年开始,深度强化学习已经渐渐地以多种方式改变了我们的生活和世界,比如会下棋的 AlphaGo 技术展示了超过专业选手的理解能力的“围棋之美”。类似的情况也会发生在技术、医疗和金融领域。深度强化学习探索了一个人类基本的问题:人类是如何通过与环境交互进行学习的?这个机制可能成为逃出“大数据陷阱”的关键因素,作为一条强人工智能的必经之路,通向人类智慧尚未企及的地方。本书由一群对机器学习充满热情的年轻研究人员编著,它将向你展示深度强化学习的世界,通过实例和经验介绍加深你对深度强化学习的理解。向所有想把未来智慧之匙揣进口袋的学习者推荐此书。
评论
还没有评论。