关于强化学习(附代码,练习和解答)

2018 年 1 月 30 日 深度学习 WILDML
关于强化学习(附代码,练习和解答)

为什么学习强化学习

强化学习是我最兴奋的领域之一。在过去的几年中,像从原始像素学习Atari游戏掌握Go 游戏这样的令人惊叹的结果得到了很多关注,但RL也被广泛用于机器人,图像处理和自然语言处理。

强化学习和深度学习技术的结合非常好。两个领域都相互影响。在强化学习方面深度神经网络被用作函数逼近器来学习好的表示,例如处理Atari游戏图像或理解Go的棋盘状态。另一方面,RL技术正在成为通常由深度学习解决的监督问题。例如,RL技术被用来实现图像处理中的注意力机制,或者优化会话界面和神经翻译系统的长期回报。最后,由于强化学习是关于做出最佳决策的,它与人类心理学和神经科学(以及许多其他领域)有一些非常有趣的相似之处。

有很多开放性的问题和基础研究的机会,我想我们将在未来几年看到多个强化学习的突破。还有什么比教书机玩星际争霸和Doom更有趣?

如何学习强化学习

那里有很多优秀的强化学习资源。两个我最推荐的是:

  • David Silver的强化学习课程

  • 理查德·萨顿和安德鲁·巴托的“强化学习:简介”(第二版)一书。

后者仍在进行中,但已经完成了80%。这门课程是基于这本书,所以两者在一起工作得很好。事实上,这两个涵盖了你最需要了解的大部分最近的研究论文。先决条件是基础数学和机器学习的一些知识。

这涵盖了理论。但是实际资源呢?实际上实现本书/课程中涵盖的算法呢?这就是这篇文章和Github仓库的介绍。我试图用Python,OpenAI Gym和Tensorflow 来实现大部分的标准增强算法我把它们分成几章(简要概述)和练习和解答,以便你可以用它们来补充上面的理论材料。所有这些都在Github存储库中

https://github.com/dennybritz/reinforcement-learning

一些更耗时的算法仍在进行中,所以请随时做出贡献。我会在我实施这个帖子的时候更新这个帖子。

目录

  • RL问题介绍,OpenAI体育馆

  • MDP和Bellman方程

  • 动态规划:基于模型的RL,策略迭代和值迭代

  • 蒙特卡罗模型预测与控制

  • 时间差分无模型预测与控制

  • 函数逼近

  • 深度学习(WIP)

  • 政策梯度方法(WIP)

  • 学习与规划(WIP)

  • 探索和开发(WIP)

已实现的算法列表

  • 动态编程策略评估

  • 动态编程策略迭代

  • 动态规划值迭代

  • 蒙特卡洛预测

  • 蒙特卡洛控制与Epsilon-Greedy政策

  • 蒙特卡洛关闭政策控制与重要性抽样

  • SARSA(政策TD学习)

  • Q-Learning(关闭政策TD学习)

  • 用线性函数逼近的Q学习

  • 雅达利游戏的深度Q学习

  • 雅达利游戏的双深度学习

  • 深度Q学习与优先体验重播(WIP)

  • 政策梯度:增强基线

  • 政策梯度:演员对基线的评论

  • 策略梯度:连续行为空间基准的演员评论家

  • 持续作用空间的确定性政策梯度(WIP)

  • 深度确定性政策梯度(DDPG)(WIP)

  • 异步优势演员评论员(A3C)(WIP)

原文出处:http://www.wildml.com/2016/10/learning-reinforcement-learning/

登录查看更多
23

相关内容

强化学习(RL)是机器学习的一个领域,与软件代理应如何在环境中采取行动以最大化累积奖励的概念有关。除了监督学习和非监督学习外,强化学习是三种基本的机器学习范式之一。 强化学习与监督学习的不同之处在于,不需要呈现带标签的输入/输出对,也不需要显式纠正次优动作。相反,重点是在探索(未知领域)和利用(当前知识)之间找到平衡。 该环境通常以马尔可夫决策过程(MDP)的形式陈述,因为针对这种情况的许多强化学习算法都使用动态编程技术。经典动态规划方法和强化学习算法之间的主要区别在于,后者不假设MDP的确切数学模型,并且针对无法采用精确方法的大型MDP。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等

强化学习是现在人工智能领域里面最活跃的研究领域之一,它是一种用于学习的计算方法,其中会有一个代理在与复杂的不确定环境交互时试图最大化其所收到的奖励。现在,如果你是一个强化学习的初学者,由 Richard Sutton 和 Andrew Barto 合著的《Reinforcement Learning : An Introduction》可能就是你的最佳选择。这本书提供了关于强化学习的简单明了的关键思想和算法的解释。他们讨论了该领域的知识基础的历史延伸到了最新的发展的应用。

本书全文共分三部分,17章内容

  • 第一部分:列表(Tabular)解决法,第一章描述了强化学习问题具体案例的解决方案,第二章描述了贯穿全书的一般问题制定——有限马尔科夫决策过程,其主要思想包括贝尔曼方程(Bellman equation)和价值函数,第三、四、五章介绍了解决有限马尔科夫决策问题的三类基本方法:动态编程,蒙特卡洛方法、时序差分学习。三者各有其优缺点,第六、七章介绍了上述三类方法如何结合在一起进而达到最佳效果。第六章中介绍了可使用适合度轨迹(eligibility traces)把蒙特卡洛方法和时序差分学习的优势整合起来。第七章中表明时序差分学习可与模型学习和规划方法(比如动态编程)结合起来,获得一个解决列表强化学习问题的完整而统一的方案。

  • 第二部分:近似求解法,从某种程度上讲只需要将强化学习方法和已有的泛化方法结合起来。泛化方法通常称为函数逼近,从理论上看,在这些领域中研究过的任何方法都可以用作强化学习算法中的函数逼近器,虽然实际上有些方法比起其它更加适用于强化学习。在强化学习中使用函数逼近涉及一些在传统的监督学习中不常出现的新问题,比如非稳定性(nonstationarity)、引导(bootstrapping)和目标延迟(delayed targets)。这部分的五章中先后介绍这些以及其它问题。首先集中讨论在线(on-policy)训练,而在第九章中的预测案例其策略是给定的,只有其价值函数是近似的,在第十章中的控制案例中最优策略的一个近似已经找到。第十一章讨论函数逼近的离线(off-policy)学习的困难。第十二章将介绍和分析适合度轨迹(eligibility traces)的算法机制,它能在多个案例中显著优化多步强化学习方法的计算特性。这一部分的最后一章将探索一种不同的控制、策略梯度的方法,它能直接逼近最优策略且完全不需要设定近似值函数(虽然如果使用了一个逼近价值函数,效率会高得多)。

  • 第三部分:深层次研究,这部分把眼光放到第一、二部分中介绍标准的强化学习思想之外,简单地概述它们和心理学以及神经科学的关系,讨论一个强化学习应用的采样过程,和一些未来的强化学习研究的活跃前沿。

成为VIP会员查看完整内容
0
108

题目:Applied Reinforcement Learning with Python With OpenAI Gym, Tensorflow, and Keras

深入研究强化学习算法,并通过Python将它们应用到不同的用例中。这本书涵盖了重要的主题,如策略梯度和Q学习,并利用框架,如Tensorflow, Keras,和OpenAI Gym。

Python中的应用增强学习向您介绍了强化学习(RL)算法背后的理论和用于实现它们的代码。您将在指导下了解OpenAI Gym的特性,从使用标准库到创建自己的环境,然后了解如何构建强化学习问题,以便研究、开发和部署基于rl的解决方案。

你将学习:

  • 用Python实现强化学习
  • 使用AI框架,如OpenAI Gym、Tensorflow和Keras
  • 通过云资源部署和培训基于增强学习的解决方案
  • 应用强化学习的实际应用

这本书是给谁看的: 数据科学家、机器学习工程师和软件工程师熟悉机器学习和深度学习的概念。

地址:

https://www.springerprofessional.de/en/applied-reinforcement-learning-with-python/17098944

目录:

第1章 强化学习导论

在过去的一年里,深度学习技术的不断扩散和发展给各个行业带来了革命性的变化。毫无疑问,这个领域最令人兴奋的部分之一是强化学习(RL)。这本身往往是许多通用人工智能应用程序的基础,例如学习玩视频游戏或下棋的软件。强化学习的好处是,假设可以将问题建模为包含操作、环境和代理的框架,那么代理就可以熟悉大量的任务。假设,解决问题的范围可以从简单的游戏,更复杂的3d游戏,自动驾驶汽车教学如何挑选和减少乘客在各种不同的地方以及教一个机械手臂如何把握对象和地点在厨房柜台上。

第二章 强化学习算法

读者应该知道,我们将利用各种深度学习和强化学习的方法在这本书。然而,由于我们的重点将转移到讨论实现和这些算法如何在生产环境中工作,我们必须花一些时间来更详细地介绍算法本身。因此,本章的重点将是引导读者通过几个强化学习算法的例子,通常应用和展示他们在使用Open AI gym 不同的问题。

第三章 强化学习算法:Q学习及其变体

随着策略梯度和Actor-Critic模型的初步讨论的结束,我们现在可以讨论读者可能会发现有用的替代深度学习算法。具体来说,我们将讨论Q学习、深度Q学习以及深度确定性策略梯度。一旦我们了解了这些,我们就可以开始处理更抽象的问题,更具体的领域,这将教会用户如何处理不同任务的强化学习。

第四章 通过强化学习做市场

除了在许多书中发现的强化学习中的一些标准问题之外,最好看看那些答案既不客观也不完全解决的领域。在金融领域,尤其是强化学习领域,最好的例子之一就是做市。我们将讨论学科本身,提出一些不基于机器学习的基线方法,然后测试几种基于强化学习的方法。

第五章 自定义OpenAI强化学习环境

在我们的最后一章,我们将专注于Open AI Gym,但更重要的是尝试理解我们如何创建我们自己的自定义环境,这样我们可以处理更多的典型用例。本章的大部分内容将集中在我对开放人工智能的编程实践的建议,以及我如何编写这个软件的建议。最后,在我们完成创建环境之后,我们将继续集中精力解决问题。对于这个例子,我们将集中精力尝试创建和解决一个新的视频游戏。

成为VIP会员查看完整内容
0
96
小贴士
相关资讯
强化学习精品书籍
平均机器
10+阅读 · 2019年1月2日
【干货】强化学习介绍
人工智能学家
9+阅读 · 2018年6月24日
强化学习——蒙特卡洛方法介绍
论智
5+阅读 · 2018年6月3日
OpenAI强化学习实战
炼数成金订阅号
6+阅读 · 2018年5月14日
【强化学习】强化学习入门以及代码实现
产业智能官
15+阅读 · 2017年9月4日
技术 | 强化学习入门以及代码实现
AI100
47+阅读 · 2017年8月26日
相关VIP内容
专知会员服务
58+阅读 · 2020年6月22日
专知会员服务
108+阅读 · 2020年5月22日
专知会员服务
52+阅读 · 2020年3月26日
专知会员服务
57+阅读 · 2020年3月2日
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
97+阅读 · 2020年3月1日
【强化学习】深度强化学习初学者指南
专知会员服务
102+阅读 · 2019年12月14日
相关论文
A Survey of Methods for Low-Power Deep Learning and Computer Vision
Abhinav Goel,Caleb Tung,Yung-Hsiang Lu,George K. Thiruvathukal
10+阅读 · 2020年3月24日
Image Segmentation Using Deep Learning: A Survey
Shervin Minaee,Yuri Boykov,Fatih Porikli,Antonio Plaza,Nasser Kehtarnavaz,Demetri Terzopoulos
31+阅读 · 2020年1月15日
Yang Liu,Mirella Lapata
5+阅读 · 2019年8月22日
Brett Daley,Christopher Amato
4+阅读 · 2018年10月23日
GEP-PG: Decoupling Exploration and Exploitation in Deep Reinforcement Learning Algorithms
Cédric Colas,Olivier Sigaud,Pierre-Yves Oudeyer
3+阅读 · 2018年8月17日
CIRL: Controllable Imitative Reinforcement Learning for Vision-based Self-driving
Xiaodan Liang,Tairui Wang,Luona Yang,Eric Xing
4+阅读 · 2018年7月10日
Ermo Wei,Drew Wicke,David Freelan,Sean Luke
10+阅读 · 2018年4月25日
Mason Liu,Menglong Zhu
11+阅读 · 2018年3月28日
Yun Chen,Yang Liu,Victor O. K. Li
4+阅读 · 2018年2月9日
Zhiyuan Xu,Jian Tang,Jingsong Meng,Weiyi Zhang,Yanzhi Wang,Chi Harold Liu,Dejun Yang
7+阅读 · 2018年1月17日
Top