书籍详情
《边做边学深度强化学习:PyTorch程序设计实践》[44M]百度网盘|亲测有效|pdf下载
  • 边做边学深度强化学习:PyTorch程序设计实践

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2020-04
  • 热度:7079
  • 上架时间:2024-06-30 09:07:09
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

适读人群 :本书面向普通大众,指导读者以PyTorch为工具,在Python中实践深度强化学习。读者只需要具备一些基本的编程经验和基本的线性代数知识即可读懂书中内容,通过实现具体程序来掌握深度强化学习的相关知识。

本书面向普通大众,指导读者以PyTorch为工具,在Python中实践深度强化学习。读者只需要具备一些基本的编程经验和基本的线性代数知识即可读懂书中内容,通过实现具体程序来掌握深度强化学习的相关知识。
本书内容:
介绍监督学习、非监督学习和强化学习的基本知识。
通过走迷宫任务介绍三种不同的算法(策略梯度法、Sarsa和Q学习)。
使用Anaconda设置本地PC,在倒立摆任务中实现强化学习。
使用PyTorch实现MNIST手写数字分类任务。
实现深度强化学习的最基本算法DQN。
解释继DQN之后提出的新的深度强化学习技术(DDQN、Dueling Network、优先经验回放和A2C等)。
使用GPU与AWS构建深度学习环境,采用A2C再现消砖块游戏。

内容简介

Pytorch是基于python且具备强大GPU加速的张量和动态神经网络,更是Python中优先的深度学习框架,它使用强大的 GPU 能力,提供极高的灵活性和速度。本书指导读者以Pytorch为工具在Python中学习深层强化学习(DQN)。主要内容包括:强化学习概述及分类、强化学习的算法和实施方法、在Pytorch中实施深度规划与实现。、“实施深层强化学习DQN”、理解并实施新的深层强化学习方法(Double-DQN、Dueling Network、Prioritized Experience Replay、A3C、A2C)。

目录

译者序
前言
第1章 强化学习概述1
1.1 机器学习的分类(监督学习、非监督学习、强化学习)1
1.2 强化学习、深度强化学习的历史6
1.3 深度强化学习的应用实例11
参考文献14
第2章 在走迷宫任务中实现强化学习16
2.1 Try Jupyter的使用方法16
2.2 迷宫和智能体的实现23
2.3 策略迭代法的实现31
2.4 价值迭代法的术语整理41
2.5 Sarsa的实现46
2.6 实现Q学习52
参考文献57
第3章 在倒立摆任务中实现强化学习59
3.1 在本地PC上准备强化学习的实现和执行环境59
3.2 倒立摆任务“CartPole”64
3.3 由多变量连续值表示的状态的表格表示69
3.4 Q学习的实现72
参考文献80
第4章 使用PyTorch实现深度学习81
4.1 神经网络和深度学习的历史81
4.2 深度学习的计算方法89
4.3 使用PyTorch实现MNIST手写数字分类任务94
参考文献107
第5章 深度强化学习DQN的实现108
5.1 深度强化学习DQN(深度Q网络)的说明108
5.2 实现DQN的四个要点111
5.3 实现DQN(上) 113
5.4 实现DQN(下) 123
参考文献127
第6章 实现深度强化学习的改进版128
6.1 深度强化学习算法发展图128
6.2 DDQN的实现132
6.3 Dueling Network的实现141
6.4 优先经验回放的实现145
6.5 A2C的实现157
参考文献168
第7章 在AWS GPU环境中实现消砖块游戏169
7.1 消砖块游戏“Breakout”的描述169
7.2 准备在AWS上使用GPU所需要的深度学习执行环境174
7.3 学习Breakout的四个关键思想187
7.4 A2C的实现(上) 193
7.5 A2C的实现(下) 203
参考文献212
后记214

前言/序言

本书的目标

近年来,我们常常听到强化学习和深度强化学习等词语。但是,实际上真正实现强化学习的并不多。目前正处于第三次人工智能热潮中,深度学习方面已经出版了大量书籍。然而,大多数关于强化学习和深度强化学习的书籍都是相关研究人员的学术成果。学术性书籍强调理论,倾向于公式和证明,实现代码往往很少。对于非研究人员来说,通过阅读这类书籍来理解强化学习和深度强化学习存在着较大的障碍。

因此,本书面向的不是研究者而是普通大众,旨在让读者在实践中理解强化学习和深度强化学习。本书强调算法的具体实现,通过给出大量代码并对其进行解释和说明,来帮助读者更好地学习。书中所有的代码都可以下载。在阅读本书时请实现相关程序,通过完成实际代码来学习。

强化学习和深度强化学习主要用于两个目的—机器人等控制规则的构建以及围棋、将棋等对战游戏的策略构建。本书涉及控制规则的构建,但没有实现围棋等对战游戏。然而,本书所讲述的基本内容对那些想要为对战游戏制定策略的人也是有用的。

读者所需的先验知识

本书以对强化学习和深度强化学习感兴趣,但不了解其细节和实现方法的读者为对象。阅读本书需要以下三方面的知识:

1)能够理解if语句、for语句。

2)能够自己定义方法(函数)。

3)会执行向量和矩阵的乘法运算。

换句话说,本书试图以更容易理解的方式进行讲解,读者具备一些基本的编程经验和基本的线性代数知识即可顺利学习。本书使用Python作为编程语言来实现相关程序,即使对Python不熟悉的读者也能轻松理解本书内容。但是,由于篇幅的限制,本书没有解释Python的所有基本细节,如果你是Python初学者,请参考网上的信息和Python的入门书籍。

本书的实现代码和运行环境

可以从作者的GitHub或Mynavi出版社的出版支持页面下载本书的实现代码。


本书的运行环境如下所示。我们使用PyTorch作为深度学习的框架,采用的是在2018年4月底发布的0.4.0版本。第7章使用亚马逊的云服务,通过GPU服务器来进行计算。计算所需时间大约3小时,费用为500日元或更少,所以尝试运行所需的费用并不高。

" 运行环境—第1~6章(本地PC)

操作系统:Windows 10

GPU:无;Python:3.6.5;Anaconda:5.1;PyTorch:0.4.0

" 运行环境—第7章(AWS)

操作系统:Ubuntu 16.04 | 64位;实例:p2.xlarge

GPU:NVIDIA K80;Python:3.6.5;conda:4.5.2;PyTorch:0.4.0

各章概述

第1章介绍三部分内容。首先,分别介绍机器学习及其三个分类(监督学习、非监督学习和强化学习)。然后,介绍强化学习近年来引起人们关注的原因,以及强化学习发展的历史。最后,介绍学者在强化学习和深度强化学习领域正在做什么样的工作,以及它在未来如何对社会产生价值。

第2章逐步介绍强化学习的算法和实现方法,一步步实现简单的强化学习代码,采用走迷宫作为目标任务,通过强化学习训练使智能体以最短的路线到达目的地。该章在学习强化学习的概念和术语的同时,实现了三种不同的算法—策略梯度法、Sarsa和Q学习。实现环境可以为Web浏览器上的Try Jupyter,这是一项能实现和执行Python的服务。

第3章的目的是将第2章中介绍的强化学习的基础知识应用于更复杂的任务。该章使用倒立摆作为目标任务,倒立摆形似在手掌上立起的扫帚,放一根棍子使其站在小车上,要求一点一点地移动小车以防止小棍掉落,这一控制规则是通过强化学习技术来学习并实现的。与走迷宫任务的不同之处在于状态空间的复杂性。倒立摆的状态由诸如位置和速度等多个连续变量表示,我们将在通过实现强化学习来执行此复杂任务时进行解释。该章还介绍如何使用Anaconda设置本地PC作为示例的实现环境。

第4章的目的是帮助读者了解深度学习的内容以及如何使用PyTorch实现简单任务。PyTorch是一个深度学习库,TensorFlow、Keras、Chainer等也是用于实现深度学习的有名的库,但在本书中我们使用PyTorch。首先,我们将介绍神经网络和深度学习的发展历史。然后,介绍实现深度学习时重要的学习阶段和推理阶段,解释各阶段的目的和要完成的任务。最后,通过使用PyTorch实现对MNIST手写数字的分类向读者解释深度学习。

第5章的目的是理解强化学习与深度学习相结合的深度强化学习的原理,并能够实现一种称为DQN(深度Q网络)的算法。该章首先解释第3章中实现的传统强化学习的问题。之后,介绍深度强化学习的最基本算法DQN,并介绍在实现过程中重要的四个关键点。最后,采用DQN来完成与第3章中相同的倒立摆任务,并进行说明。

第6章的目的是解释继DQN之后提出的新的深度强化学习技术,并在此基础上给出其具体实现。该章首先将深度强化学习的进展以算法图的形式展示。然后,对于倒立摆任务,用DDQN、Dueling Network、优先经验回放和A2C等算法实现并说明,其中A2C是A3C(Asynchronous Advantage Actor-Critic)的变体。

第7章的目的是实现用于消砖块游戏的深度强化学习A2C。DeepMind公司是深度强化学习领域引人注目的公司,该章采用的A2C再现了DeepMind公司进行消砖块游戏的策略。该章将解释如何使用亚马逊的云服务AWS与GPU构建深度学习的执行环境。

致谢

本书在撰写过程中得到株式会社电通国际信息有限公司技术本部开发技术部中村年宏部长、涉谷谦吾、三澜谷嗣、佐佐木亮辅、清水琢也先生,以及开发技术部的各位同仁的支持,通过技术讨论,作者获得了很多指导。

本书由Mynavi出版社出版,正是由于山口正树的提案及大量建议和反馈,本书才得以出版。

感谢所有合作的人。