Python中文网

推荐编程书籍:Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习 [Hands-On Reinforcement Learning with Python:Master Reinforcement and Deep Reinforcement Learning Using OperAl Gym and TensorFlow],由机械工业出版社2019-01-01月出版发行,本书编译以及作者信息 为:[印度] 苏达桑·拉维尚迪兰(Sudharsan Ravichandiran) 著,连晓峰 译,此次为第1次发行, 国际标准书号为:9787111612889,品牌为机工出版, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有203页字数30万0000字,是本Python 编程相关非常不错的书。

此书内容摘要

强化学习是一种重要的机器学习方法,在智能体及分析预测等领域有许多应用。《Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习》共13章,主要包括强化学习的各种要素,即智能体、环境、策略和模型以及相应平台和库;Anaconda、Docker、OpenAIGym、Universe和TensorFlow等安装配置;马尔可夫链和马尔可夫过程及其与强化学习问题建模之间的关系,动态规划的基本概念;蒙特卡罗方法以及不同类型的蒙特卡罗预测和控制方法;时间差分学习、预测、离线/在线策略控制等;多臂赌博机问题以及相关的各种探索策略方法;深度学习的各种基本概念和RNN、LSTM、CNN等神经网络;深度强化学习算法DQN,以及双DQN和对抗网络体系结构等改进架构;DRQN以及DARQN;A3C网络的基本工作原理及架构;策略梯度和优化问题;最后介绍了强化学习的全新进展以及未来发展。

关于此书作者

作者简介

Sudharsan Ravichandiran 是一位数据科学家、研究员、人工智能爱好者以及 YouTuber(搜索 Sudharsan reinforcement learning),获得了 Anna 大学信息技术学士学位。他的研究领域包括深度学习和强化学习的实现,其中包括自然语言处理和计算机视觉。他曾是一名自由职业的网页开发人员和设计师,所设计开发的网站屡获殊荣,同时也热衷于开源,擅长解答堆栈溢出问题。

原书审稿人简介

Sujit Pal 是 Elsevier 实验室的技术研究总监, Elsevier 实验室是 Reed-Elservier 集团公司下的一个先进技术团队,研究领域包括语义检索、自然语言处理、机器学习和深度学习。他在 Elsevier 实验室主要从事搜索质量检测与改进、图像分类和重复率检测、医学和科学语料库的标注与本体开发。他曾与 Antonio Gulli 合作撰写了一本关于深度学习的著作,并在博客 Slamon Run 上撰写了一些科技文章。

Suriyadeepan Ramamoorthy 是一名来自印度 Puducherry 的 AI 研究人员和工程师,主要研究领域是自然语言理解和推理,同时积极撰写有关深度学习的博客文章。在 SAAMA 技术中,他将先进的深度学习技术应用于生物医学文本分析,同时也是一名积极推动 FSFTN领域发展的免费软件宣传者,另外对社交网络、数据可视化和创造性编程也非常感兴趣。


编辑们的推荐

暂无.

Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习 [Hands-On Reinforcement Learning with Python:Master Reinforcement and Deep Reinforcement Learning Using OperAl Gym and TensorFlow]图书的目录

译者序
原书前言
第1章 强化学习简介 1
1.1什么是强化学习 1
1.2强化学习算法 2
1.3强化学习与其他机器学习范式的不同 3
1.4强化学习的要素 3
1.4.1智能体 3
1.4.2策略函数 3
1.4.3值函数 4
1.4.4模型 4
1.5智能体环境接口 4
1.6强化学习的环境类型 5
1.6.1确定性环境 5
1.6.2随机性环境 5
1.6.3完全可观测环境 5
1.6.4部分可观测环境 5
1.6.5离散环境 5
1.6.6连续环境 5
1.6.7情景和非情景环境 5
1.6.8单智能体和多智能体环境 6
1.7强化学习平台 6
1.7.1OpenAI Gym和Universe 6
1.7.2DeepMind Lab 6
1.7.3RLGlue 6
1.7.4Project Malmo 6
1.7.5VizDoom 6
1.8强化学习的应用 7
1.8.1教育 7
1.8.2医疗和健康 7
1.8.3制造业 7
1.8.4库存管理 7
1.8.5金融 7
1.8.6自然语言处理和计算机视觉 7
1.9小结 8
1.10问题 8
1.11扩展阅读 8
第2章 从OpenAI和TensorFlow入门 9
2.1计算机设置 9
2.1.1安装Anaconda 9
2.1.2安装Docker 10
2.1.3安装OpenAI Gym和Universe 11
2.2OpenAI Gym 13
2.2.1基本模拟 13
2.2.2训练机器人行走 14
2.3OpenAI Universe 16
2.3.1构建一个视频游戏机器人 16
2.4TensorFlow 20
2.4.1变量、常量和占位符 20
2.4.2计算图 21
2.4.3会话 21
2.4.4TensorBoard 22
2.5小结 25
2.6问题 25
2.7扩展阅读 25
第3章 马尔可夫决策过程和动态规划 26
3.1马尔可夫链和马尔可夫过程 26
3.2MDP 27
3.2.1奖励和回报 28
3.2.2情景和连续任务 28
3.2.3折扣因数 28
3.2.4策略函数 29
3.2.5状态值函数 29
3.2.6状态—行为值函数(Q函数) 30
3.3Bellman方程和最优性 30
3.3.1推导值函数和Q函数的Bellman方程 31
3.4求解Bellman方程 32
3.4.1动态规划 32
3.5求解冰冻湖问题 38
3.5.1值迭代 39
3.5.2策略迭代 43
3.6小结 45
3.7问题 45
3.8扩展阅读 46
第4章 基于蒙特卡罗方法的博弈游戏 47
4.1蒙特卡罗方法 47
4.1.1利用蒙特卡罗方法估计π值 47
4.2蒙特卡罗预测 50
4.2.1首次访问蒙特卡罗 51
4.2.2每次访问蒙特卡罗 52
4.2.3利用蒙特卡罗方法玩二十一点游戏 52
4.3蒙特卡罗控制 58
4.3.1蒙特卡罗探索开始 58
4.3.2在线策略的蒙特卡罗控制 59
4.3.3离线策略的蒙特卡罗控制 61
4.4小结 62
4.5问题 62
4.6扩展阅读 63
第5章 时间差分学习 64
5.1时间差分学习 64
5.2时间差分预测 64
5.3时间差分控制 66
5.3.1Q学习 66
5.3.2SARSA 72
5.4Q学习和SARSA之间的区别 77
5.5小结 77
5.6问题 78
5.7扩展阅读 78
第6章 MAB问题 79
6.1MAB问题 79
6.1.1ε贪婪策略 80
6.1.2Softmax探索算法 82
6.1.3UCB算法 83
6.1.4Thompson采样算法 85
6.2MAB的应用 86
6.3利用MAB识别正确的广告标识 87
6.4上下文赌博机 89
6.5小结 89
6.6问题 89
6.7扩展阅读 89
第7章 深度学习基础 90
7.1人工神经元 90
7.2ANN 91
7.2.1输入层 92
7.2.2隐层 92
7.2.3输出层 92
7.2.4激活函数 92
7.3深入分析ANN 93
7.3.1梯度下降 95
7.4TensorFlow中的神经网络 99
7.5RNN 101
7.5.1基于时间的反向传播 103
7.6LSTM RNN 104
7.6.1利用LSTM RNN生成歌词 105
7.7CNN 108
7.7.1卷积层 109
7.7.2池化层 111
7.7.3全连接层 112
7.7.4CNN架构 112
7.8利用CNN对时尚产品进行分类 113
7.9小结 117
7.10问题 117
7.11扩展阅读 118
第8章 基于DQN的Atari游戏 119
8.1什么是DQN 119
8.2DQN的架构 120
8.2.1卷积网络 120
8.2.2经验回放 121
8.2.3目标网络 121
8.2.4奖励裁剪 122
8.2.5算法理解 122
8.3构建一个智能体来玩Atari游戏 122
8.4双DQN 129
8.5优先经验回放 130
8.6对抗网络体系结构 130
8.7小结 131
8.8问题 132
8.9扩展阅读 132
第9章 基于DRQN玩Doom游戏 133
9.1DRQN 133
9.1.1DRQN架构 134
9.2训练一个玩Doom游戏的智能体 135
9.2.1基本的Doom游戏 135
9.2.2基于DRQN的Doom游戏 136
9.3DARQN 145
9.3.1DARQN架构 145
9.4小结 145
9.5问题 146
9.6扩展阅读 146
第10章 A3C网络 147
10.1A3C 147
10.1.1异步优势行为者 147
10.1.2A3C架构 148

部分内容试读

强化学习是一种自我进化型的机器学习,可以更接近于实现真正的人工智能。本书通 过 Python 语言编写的丰富示例进行了详细解释。

本书读者
《Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习》主要针对对人工智能感兴趣,并想要零基础学习强化学习的从事机器学习开发人员和热衷于深度学习的爱好者。通过阅读本书,并通过在工作或项目中实现实际案例,将会使读者成为强化学习方面的专家。对线性代数、微积分和 Python 编程语言有一定基础将 有助于理解本书的内容。


本书主要内容
第 1 章 强化学习简介,有助于理解什么是强化学习及其是如何工作的。在此将学习强化学习的各种要素,如智能体、环境、策略和模型,同时将会分析用于强化学习的不同类型的环境、平台和库。在本章结束处,还将介绍强化学习的一些应用。

第 2 章 从 OpenAI 和 TensorFlow 入门,主要是针对各种强化学习任务配置所用计算机。在此将学习如何通过安装 Anaconda、 Docker、 OpenAI Gym、 Universe 和 TensorFlow 来配

置计算机。然后,将学习如何在 OpenAI Gym 中模拟智能体,还将学习如何构建一个视频游戏机器人。另外,还将学习 TensorFlow 的基本原理,并了解如何使用 TensorBoard 进行可视化。
第 3 章 马尔可夫决策过程和动态规划,首先解释了什么是马尔可夫链和马尔可夫过程,然后将学习如何将强化学习问题建模为马尔可夫决策过程(MDP)。另外,还将了解几个基本概念,如值函数、 Q 函数和 Bellman 方程。接下来,分析什么是动态规划,以及如何使用值函数和策略迭代来解决冰冻湖问题。

第 4 章 基于蒙特卡罗方法的博弈游戏,介绍了蒙特卡罗方法以及不同类型的蒙特卡罗预测方法,如首次访问蒙特卡罗和每次访问蒙特卡罗。另外,还将学习如何利用蒙特卡罗方法玩二十一点游戏。然后,探讨了不同的在线策略和离线策略的蒙特卡罗控制方法。

第 5 章 时间差分学习,其中包括时间差分(TD)学习、时间差分预测、时间差分离线策略和在线策略控制方法,如 Q 学习和 SARSA。另外,还将学习如何利用 Q 学习和SARSA 解决出租车问题。

第 6 章 MAB 问题,其中涉及强化学习的一个经典问题:多臂赌博机(MAB)或 k 臂赌博机问题。在此将学习如何利用各种探索策略来解决该问题,如贪婪、 Softmax 探索、UCB 和 Thompson 采样。在本章结束处,还将分析如何通过 MAB 向用户显示正确的广告标识。

第 7 章 深度学习基础,其中涵盖了深度学习的各种基本概念。首先,将学习什么是神经网络,然后是不同类型的神经网络,如 RNN、 LSTM 和 CNN。在此将通过构建一些诸如生成歌词和分类时尚产品等任务的应用程序来进行学习。

第 8 章 基于 DQN 的 Atari 游戏,其中介绍了一种应用最广泛的深度强化学习算法,称为深度 Q 网络(DQN)。将通过分析其各个组成部分来学习了解 DQN,然后讨论如何构建一个智能体利用 DQN 来玩 Atari 游戏。接下来,将研究一些改进的 DQN 架构,如双 DQN和对抗网络体系结构。

第 9 章 基于 DRQN 玩 Doom 游戏,解释了深度递归 Q 网络(DRQN)及其与 DQN 的不同。在此将讨论如何构建一个智能体利用 DRQN 来玩 Doom 游戏。在本章结束处,还将学习深度注意力递归 Q 网络(DARQN),这是将注意力机制添加到 DRQN 架构中。

第 10 章 A3C 网络,解释了异步优势行为者评论家(A3C)网络的工作原理。详细探讨了 A3C 架构,并将学习如何利用 A3C 构建一个爬山的智能体。

第 11 章 策略梯度和优化,涵盖了策略梯度是如何有助于在无需 Q 函数情况下找到正确策略,还将探讨深度确定性策略梯度(DPPG)法。在本章结束处,还将学习最先进的策略优化方法,如信赖域策略优化(TRPO)和近端策略优化(PPO)。

第 12 章 Capstone 项目—基于 DQN 的赛车游戏,提供了构建一个利用对抗性DQN赢得赛车比赛的智能体的详细方法。

第 13 章 最新进展和未来发展,提供了有关强化学习的各种相关进展信息,如想象力增强智能体(I2A)、基于人类偏好的学习、基于演示的深度 Q 学习(DQfd)和事后经验回放(HER),然后将讨论不同类型的强化学习方法,如分层强化学习(HRL)和逆向强化学习。


更好地利用本书
阅读本书需要以下软件:

Anaconda。

Python。

任何 Web 浏览器。

Docker。

下载示例代码文件
可以在 www.packtpub.com 上根据账户下载本书的示例代码文件。如果是从其他途径购买本书,可以访问 www.packtpub.com/support 并注册,从而可直接将文件邮件发送。


可以通过以下步骤下载代码文件:
1)在 www.packtpub.com 登录或注册。
2)选择 SUPPORT 标签页。
3)点击 Code Downloads & Errata。
4)在 Search box 中输入书名,并按照提示进行操作。

下载完成后,请确保采用以下最新版本进行文件夹解压缩:

Windows 系统下的 WinRAR/7-Zip。

Mac 系统下的 Zipeg/iZip/UnRarX。

Linux 系统下的 7-Zip/PeaZip。

本书的代码包还在Github上托管,具体地址为https://github.com//PacktPublishing/Hands- On- Reinforcement- Learning- with- Python。

如果代码有更新,同时也会在现有的 Github 代码库中更新。

另外,还可以从 https://github.com/PacktPublishing/ 丰富的图书和视频目录中获得其他代码包。敬请关注!


彩页下载

本书还提供了包含书中截屏 / 图表的所有彩色图像的 PDF 文件。可以从 http://www.packtpub.com/sites/default/fles/downloads/HandsOnReinforcementLearningwithPython_ColorImages.pdf 下载。


约定惯例

本书中使用了一些文本约定。

CodeInText :表示文本中的代码关键字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“Mount the

downloaded WebStorm–10*.dmg diskimage file as another disk in your system”。


代码块的设置如下:

任何命令行输入 / 输出表示如下:

粗体: 表示一个新词、一个重要的词或在屏幕上看到的单词。例如,在菜单或对话框

中以文本形式显示的单词。

警告或重要提示在此显示。

提示和技巧在此显示。


译者序


强化学习是人工智能相关的前沿领域。本书主要针对零基础学习强化学习的相关人员。通过一些实际案例,深入浅出地介绍了强化学习相关的理论知识与实现。


全书分为 13 章:

首先介绍了强化学习的各种要素,其中包括智能体、环境、策略和模型以及相应平台和库;

第 2 章学习了 Anaconda、 Docker、 OpenAI Gym、 Universe 和TensorFlow 等安装配置;

第 3 章介绍了什么是马尔可夫链和马尔可夫过程、强化学习问题建模与马尔可夫决策过程之间的关系、动态规划的基本概念等;

第 4 章主要介绍了蒙特卡罗方法以及不同类型的蒙特卡罗预测和控制方法;

第 5 章介绍了时间差分学习、预测、离线 / 在线策略控制等相关知识;

第 6 章介绍了强化学习领域的一个经典问题,即多臂赌博机问题,其中主要涉及各种探索策略方法;

第 7 章主要介绍了深度学习的各种基本概念、神经网络及其不同类型,如 RNN、 LSTM 和 CNN ;

第 8 章介绍了一种应用广泛的深度强化学习算法 DQN,以及双 DQN 和对抗网络体系结构等改进架构;

第 9 章阐述了 DRQN 并引入 DARQN ;

第 10 章探讨了 A3C 网络的基本工作原理及架构;

第 11 章主要是关于策略梯度和优化问题,其中包括信赖域策略优化和近端策略优化等先进的优化方法;

第 12 章详细介绍了利用对抗性 DQN 构建赛车智能体的具体实现过程;

第 13 章介绍了强化学习的最新进展以及未来发展。

全书内容丰富,结构合理,并通过实际项目的实现来阐述相关的理论知识,易于读者理解和掌握。作者在强化学习方面具有丰富的实践经验,同时通过各种博客科技文章的撰写积累了理论与实践结合的表述能力。

水平有限,难免存在不当与错误之处,恳请广大读者批评指正!


译者


关于此书评价

暂无.

书摘内容

暂无.

Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习 [Hands-On Reinforcement Learning with Python:Master Reinforcement and Deep Reinforcement Learning Using OperAl Gym and TensorFlow]最新最全的试读、书评、目录、简介信息由Python中文网整理提供。

上一篇:没有了

下一篇:Python量化交易实战