大家好!
我们拥有可用于预购的有关强化训练的最佳书籍之一,最初由Maxim Lapan撰写,名为“
深度强化学习动手 ”。 这是
俄语翻译的封面:

为了让您欣赏本书的摘要,我们为您提供了作者撰写的评论对原始版本的翻译。
你好
我是一个自学成才的爱好者,热衷于深度学习。 因此,当Packt出版社的代表与我联系并建议写一本实用的书来介绍当前具有强化功能的深度学习状态时,我有点害怕,但是我犹豫了一下后,乐观地假设:“哦,会有一段有趣的经历。”
我不会说这项工作是给我轻松的机会,当然不是。 您没有休假,没有空闲时间,对“冻结的愚蠢”的持续恐惧以及对每一章的最后期限的追求(每章和示例代码两周)。 但是,总的来说,一切都非常积极有趣。
在简要描述每一章的内容之前,让我们描述
整本书的
思想 。
四年前开始进行RL实验时,我可以使用以下信息来源:
也许还有别的东西,但这是最重要的信息来源。 所有这些都离实践很远:
- Sutton and Barto的书,也称为“ RL书”,仅提供该学科的理论基础。
- 与RL有关的文章几乎每天都会发布,但仍然很少包含指向特定代码的链接。 仅公式和算法。 如果幸运的话,将显示超级参数。
- David Silver课程于2015年在伦敦大学学院(UCL)教授。 它很好地概述了当时存在的方法,可以直观地掌握它们,但是,在这里理论仍然胜过实践。
同时,我深深地迷上了
DeepMind文章 (“神经网络可以学会以像素为单位玩Atari游戏!哇!”),我感到这种枯燥的理论具有巨大的实用价值。 因此,我花了很多时间研究理论,实现各种方法并对其进行调试。 正如您可能猜到的那样,这并不容易:您可能花了几周的时间来完善该方法,然后发现您的实现不正确(或者更糟的是,您误解了公式)。 我认为这样的训练不会浪费时间-相反,我认为这是学习某些东西的最正确方法。 但是,这需要很多时间。
两年后,当我开始撰写本文时,我的主要目标是:向熟识这种引人入胜的学科的读者提供有关RL方法的全面实用信息,就像我曾经做过的那样。
现在有关这本书的一些知识。 它主要侧重于实践,并且我尝试最小化理论和公式的数量。 它包含关键公式,但是没有给出证据。 基本上,我试图对正在发生的事情有一个直观的了解,而不是寻求最大程度的表达。
同时,假定读者具有深度学习和统计学的基础知识。 本书中有一章概述了PyTorch库(因为所有示例都使用PyTorch给出),但是这一章不能被视为神经网络信息的自给自足。 如果您以前从未听说过丢失和激活功能,请先阅读其他书籍,今天有很多书籍。 (请注意,例如,“
深度学习 ”一书)。
在我的书中,您会发现许多复杂程度不同的示例,从最简单的示例开始(
CrossEntropy
环境中的
CrossEntropy
方法在
CrossEntropy
中包含约100行),最后以相当大的项目结束,例如,学习AlphGo Zero或用于在交易所进行交易的RL代理。
示例代码已完全上载到GitHub ,Python中有超过14k行代码。
本书包括18章,涵盖了现代深度学习的最重要方面,并进行了强化:
- 第1章 :提供有关强化学习范式的介绍性信息,演示它与有老师和没有老师的学习有何不同。 在这里,我们考虑与强化学习有关的中央数学模型:马尔可夫决策过程:(MPPR)。 逐步了解MPNR:我谈论的是马尔可夫链,这些链已转变为增强的马尔可夫过程(增加了增强的组成部分),最后转变为成熟的马尔可夫决策过程,在整个过程中也考虑了代理商的行为。
- 第2章 :讨论OpenAI Gym ,它是RL的通用API,旨在在包括Atari在内的各种环境中工作,解决经典问题,例如CartPole,连续学习任务等。
- 第3章 :概述了PyTorch API。 本章无意作为DL的完整指南,但是,它为理解后续章节奠定了基础。 如果您使用其他工具来解决深度学习问题,那么它应该可以很好地介绍漂亮的PyTorch模型,以便您更轻松地理解以下各章中的示例。 在本章的最后,我们将教一个简单的GAN,它将生成并区分Atari屏幕截图和其他游戏。
- 第4章 :研究最简单,最强大的方法之一:CrossEntropy。 在本章中,我们将教您第一个可以解决CartPole环境中的问题的网络。
- 第5章 :本章开始介绍有关值的迭代算法的第二部分 。 第5章讨论了使用Bellman方程来解决FrozenLake环境中的问题的电子表格培训的简单方法。
- 第6章 :本章向您介绍玩Atari游戏的DQN。 该代理的架构与著名的DeepMind文章完全相同。
- 第7章 :介绍了几种现代DQN扩展,以帮助提高基础DQN的稳定性和性能。 在本章中,“ 彩虹:结合Deep RL中的改进 ”一文中的方法; 所有这些方法都在本章中实现,我将解释它们的基本思想。 这些方法是:N步DQN,双DQN,噪声网络,优先级回放缓冲区,决斗网络和类别网络。 在本章的最后,所有方法都组合成一个通用的代码示例,与“彩虹文章”中所做的完全相同。
- 第8章介绍了第一个中型项目,说明了RL在解决实际问题中的实践方面。 在本章中,将使用DQN对代理进行培训以在交换上执行操作。
- 第9章 :本章从政策梯度技术这本书的第三部分开始。 在本文中,我们了解了这种方法,以及与上面已经考虑过的值进行枚举的方法相比,它们的优缺点。 该系列中的第一种方法称为REINFORCE。
- 第10章介绍了如何处理RL最严重的问题之一:策略梯度可变性。 在尝试了基本的PG水平之后,您将熟悉演员批评方法。
- 第11章讨论了如何在现代硬件上并行执行行为者批判方法。
- 第12章 :第二个实际示例,描述了如何解决与自然语言处理相关的问题。 在本章中,我们教一个简单的聊天机器人在康奈尔电影院对话框的材料上使用RL方法。
- 第13章 :关于Web自动化的另一个实际示例:MiniWoB被用作平台。 不幸的是,OpenAI拒绝使用MiniWoB,因此很难找到有关它的信息(以下是一些细节)。 但是MiniWoB的想法很聪明,因此在本章中,我将展示如何配置和培训代理以解决与之相关的一些问题。
- 第14章 :本书的最后第四部分专门介绍更高级的方法和技术。 第14章重点介绍连续管理任务,并介绍了A3C,DDPG和D4PG解决某些PyBullet环境中问题的方法。
- 第15章 :讨论有关连续管理的更多问题,并以TRPO,PPO和ACKTR为例,向您介绍“信任区”现象。
- 第十六章 :致力于没有梯度的强化教学方法(遵循“黑匣子”原理); 它们被定位为DQN和PG方法的更具扩展性的替代方案。 这里应用进化策略和遗传算法来解决连续控制的几个问题。
- 第17章 :研究基于模型的RL方法,并描述DeepMind试图填补基于模型的方法与基于非模型的方法之间的空白。 本章实现了Breakout的I2A代理。
- 第18章 :这本书的最后一章讨论了在玩Connect4时使用的AlphaGo Zero方法。 然后,完成的代理将用作电报机器人的一部分,以检查结果。
仅此而已! 希望您喜欢这本书。