新書推薦:
《
新能源材料
》
售價:NT$
290.0
《
传统文化有意思:古代发明了不起
》
售價:NT$
199.0
《
亚述:世界历史上第一个帝国的兴衰
》
售價:NT$
490.0
《
人工智能与大数据:采煤机智能制造
》
售價:NT$
440.0
《
新民说·逝去的盛景:宋朝商业文明的兴盛与落幕(上下册)
》
售價:NT$
790.0
《
我从何来:自我的心理学探问
》
售價:NT$
545.0
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:NT$
390.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
|
內容簡介: |
强化学习是一种重要的机器学习方法,在智能体及分析预测等领域有许多应用。本书共13章,主要包括强化学习的各种要素,即智能体、环境、策略和模型以及相应平台和库;Anaconda、Docker、OpenAIGym、Universe和TensorFlow等安装配置;马尔可夫链和马尔可夫过程及其与强化学习问题建模之间的关系,动态规划的基本概念;蒙特卡罗方法以及不同类型的蒙特卡罗预测和控制方法;时间差分学习、预测、离线在线策略控制等;多臂赌博机问题以及相关的各种探索策略方法;深度学习的各种基本概念和RNN、LSTM、CNN等神经网络;深度强化学习算法DQN,以及双DQN和对抗网络体系结构等改进架构;DRQN以及DARQN;A3C网络的基本工作原理及架构;策略梯度和优化问题;*后介绍了强化学习的最新进展以及未来发展。
|
目錄:
|
译者序
原书前言
第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 RL-Glue 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
10.1.3 A3C的工作原理 149
10.2 基于A3C爬山 149
10.2.1 TensorBoard中的可视化 155
10.3 小结 158
10.4 问题 158
10.5 扩展阅读 158
第11章 策略梯度和优化 159
11.1 策略梯度 159
11.1.1 基于策略梯度的月球着陆器 160
11.2 DDPG 164
11.2.1 倒立摆 165
11.3 TRPO 170
11.4 PPO 173
11.5 小结 175
11.6 问题 175
11.7 扩展阅读 175
第12章 Capstone项目基于DQN的赛车游戏 176
12.1 环境封装函数 176
12.2 对抗网络 179
12.3 回放记忆 180
12.4 训练网络 181
12.5 赛车游戏 186
12.6 小结 189
12.7 问题 189
12.8 扩展阅读 189
第13章 最新进展和未来发展 190
13.1 I2A 190
13.2 基于人类偏好的学习 193
13.3 DQfd 194
13.4 HER 195
13.5 HRL 196
13.5.1 MAXQ值函数分解 196
13.6 逆向强化学习 198
13.7 小结 199
13.8 问题 199
13.9 扩展阅读 199
附录 知识点 200
|
內容試閱:
|
强化学习是一种自我进化型的机器学习,可以更接近于实现真正的人工智能。本书通过 Python 语言编写的丰富示例进行了详细解释。本书读者本书主要针对对人工智能感兴趣,并想要零基础学习强化学习的从事机器学习开发人员和热衷于深度学习的爱好者。通过阅读本书,并通过在工作或项目中实现实际案例,将会使读者成为强化学习方面的专家。对线性代数、微积分和 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 章 深度学习基础,其中涵盖了深度学习的各种基本概念。首先,将学习什么是神V原书前言经网络,然后是不同类型的神经网络,如 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.comsupport 并注册,从而可直接将文件邮件发送。可以通过以下步骤下载代码文件:1)在 www.packtpub.com 登录或注册。2)选择 SUPPORT 标签页。3)点击 Code Downloads & Errata。4)在 Search box 中输入书名,并按照提示进行操作。下载完成后,请确保采用以下最新版本进行文件夹解压缩:VIPython 强化学习实战:应用 OpenAI Gym 和 TensorFlow 精通强化学习和深度强化学习 Windows 系统下的 WinRAR7-Zip。 Mac 系统下的 ZipegiZipUnRarX。 Linux 系统下的 7-ZipPeaZip。本 书 的 代 码 包 还 在 Github 上 托 管, 具 体 地 址 为 https:github.comPacktPublishingHands- On- Reinforcement- Learning- with- Python。如果代码有更新,同时也会在现有的 Github 代码库中更新。另外,还可以从 https:github.comPacktPublishing 丰富的图书和视频目录中获得其他代码包。敬请关注!彩页下载本书还提供了包含书中截屏 图表的所有彩色图像的 PDF 文件。可以从 http:www.packtpub.comsitesdefaultflesdownloadsHandsOnReinforcementLearningwithPython_ColorImages.pdf 下载。约定惯例本书中使用了一些文本约定。CodeInText :表示文本中的代码关键字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:Mount thedownloaded WebStorm10*.dmg diskimage file as another disk in your system。代码块的设置如下:任何命令行输入 输出表示如下:粗体: 表示一个新词、一个重要的词或在屏幕上看到的单词。例如,在菜单或对话框中以文本形式显示的单词。警告或重要提示在此显示。提示和技巧在此显示。联系我们欢迎读者反馈。一般反馈: 发送电子邮件到 feedback@packtpub.com,并在邮件主题注明书名。如果对本书有任何疑问,请发送邮件到 questions@packtpub.com。勘误: 尽管已尽一切努力确保内容的准确性,但难免还是有错误存在。如果在本书中发现错误,请告知我们,将不胜感激。请访问 www.packtpub.comsubmit-errata,选择具体图书,点击 Errata Submission Form 链接,并输入详细信息。盗版: 如果在网上看到任何非法复制图书作品,请提供具体地址和网站名称,我们将不胜感激。请将上述材料发送到 copyright@packtpub.com。有兴趣成为作者: 如果有您擅长的主题,并有兴趣撰写图书,请访问 authors.packtpub.com。评论请不吝赐教。既然阅读并使用了本书,为何不在购买本书的网站上留下评论呢?潜在的读者可以根据您的客观评价决定是否购买本书, Packt 出版社完全理解您对本书的评价,同时作者也非常乐意收到您对本书的反馈意见。非常感谢!有关 Packt 出版社的更多信息,请访问 www.packtpub.com。作者简介Sudharsan Ravichandiran 是一位数据科学家、研究员、人工智能爱好者以及 YouTuber(搜索 Sudharsan reinforcement learning),获得了 Anna 大学信息技术学士学位。他的研究领域包括深度学习和强化学习的实现,其中包括自然语言处理和计算机视觉。他曾是一名自由职业的网页开发人员和设计师,所设计开发的网站屡获殊荣,同时也热衷于开源,擅长解答堆栈溢出问题。原书审稿人简介Sujit Pal 是 Elsevier 实验室的技术研究总监, Elsevier 实验室是 Reed-Elservier 集团公司下的一个先进技术团队,研究领域包括语义检索、自然语言处理、机器学习和深度学习。他在 Elsevier 实验室主要从事搜索质量检测与改进、图像分类和重复率检测、医学和科学语料库的标注与本体开发。他曾与 Antonio Gulli 合作撰写了一本关于深度学习的著作,并在博客 Slamon Run 上撰写了一些科技文章。Suriyadeepan Ramamoorthy 是一名来自印度 Puducherry 的 AI 研究人员和工程师,主要研究领域是自然语言理解和推理,同时积极撰写有关深度学习的博客文章。在 SAAMA 技术中,他将先进的深度学习技术应用于生物医学文本分析,同时也是一名积极推动 FSFTN领域发展的免费软件宣传者,另外对社交网络、数据可视化和创造性编程也非常感兴趣。
|
|