Python强化学习实战:应用OpenAIGym和TensorFlow精通强化学习和深度强化学习pdf下载pdf下载

Python强化学习实战:应用OpenAIGym和TensorFlow精通强化学习和深度强化学习百度网盘pdf下载

作者:
简介:本篇主要提供Python强化学习实战:应用OpenAIGym和TensorFlow精通强化学习和深度强化学习pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2019-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色


编辑推荐

适读人群 :对人工智能感兴趣,并想要零基础学习强化学习的从事机器学习开发人员和热衷于深度学习的爱好者

提供示例代码,可根据书中文前提供地址下载,或关注“科技电眼”微信号,回复书后条码下方ISBN号获取。

内容简介

强化学习是一种重要的机器学习方法,在智能体及分析预测等领域有许多应用。《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领域发展的免费软件宣传者,另外对社交网络、数据可视化和创造性编程也非常感兴趣。


内页插图

目录

译者序
原书前言


第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.1 OpenAI Gym和Universe 6
1.7.2 DeepMind Lab 6
1.7.3 RLGlue 6
1.7.4 Project Malmo 6
1.7.5 VizDoom 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.2 OpenAI Gym 13
2.2.1 基本模拟 13
2.2.2 训练机器人行走 14
2.3 OpenAI Universe 16
2.3.1 构建一个视频游戏机器人 16
2.4 TensorFlow 20
2.4.1 变量、常量和占位符 20
2.4.2 计算图 21
2.4.3 会话 21
2.4.4 TensorBoard 22
2.5 小结 25
2.6 问题 25
2.7 扩展阅读 25

第3章 马尔可夫决策过程和动态规划 26
3.1 马尔可夫链和马尔可夫过程 26
3.2 MDP 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.3 Bellman方程和最优性 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.1 Q学习 66
5.3.2 SARSA 72
5.4 Q学习和SARSA之间的区别 77
5.5 小结 77
5.6 问题 78
5.7 扩展阅读 78

第6章 MAB问题 79
6.1 MAB问题 79
6.1.1 ε贪婪策略 80
6.1.2 Softmax探索算法 82
6.1.3 UCB算法 83
6.1.4 Thompson采样算法 85
6.2 MAB的应用 86
6.3 利用MAB识别正确的广告标识 87
6.4 上下文赌博机 89
6.5 小结 89
6.6 问题 89
6.7 扩展阅读 89

第7章 深度学习基础 90
7.1 人工神经元 90
7.2 ANN 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.4 TensorFlow中的神经网络 99
7.5 RNN 101
7.5.1 基于时间的反向传播 103
7.6 LSTM RNN 104
7.6.1 利用LSTM RNN生成歌词 105
7.7 CNN 108
7.7.1 卷积层 109
7.7.2 池化层 111
7.7.3 全连接层 112
7.7.4 CNN架构 112
7.8 利用CNN对时尚产品进行分类  113
7.9 小结 117
7.10 问题 117
7.11 扩展阅读 118

第8章 基于DQN的Atari游戏  119
8.1 什么是DQN 119
8.2 DQN的架构 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.1 DRQN 133
9.1.1 DRQN架构 134
9.2 训练一个玩Doom游戏的智能体 135
9.2.1 基本的Doom游戏 135
9.2.2 基于DRQN的Doom游戏 136
9.3 DARQN 145
9.3.1 DARQN架构 145
9.4 小结 145
9.5 问题 146
9.6 扩展阅读 146

第10章 A3C网络 147
10.1 A3C 147
10.1.1 异步优势行为者 147
10.1.2 A3C架构 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 章介绍了强化学习的最新进展以及未来发展。

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

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


译者