书籍详情
《白话强化学习与PyTorch》[41M]百度网盘|亲测有效|pdf下载
  • 白话强化学习与PyTorch

  • 出版社:电子工业出版社
  • 出版时间:2019-09-01
  • 热度:9072
  • 上架时间:2024-06-30 08:52:20
  • 价格:0.0
书籍下载
书籍预览
免责声明

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

内容介绍

编辑推荐
  从零开始,辅以漫画,基于PyTorch框架介绍深度学习和强化学习技术与技巧
内容简介
  本书以“平民”的起点,从“零”开始,基于PyTorch框架,介绍深度学习和强化学习的技术与技巧,逐层铺垫,营造良好的带入感和亲近感,把学习曲线拉平,使得没有学过微积分等高级理论的程序员一样能够读得懂、学得会。同时,本书配合漫画插图来调节阅读气氛,并对每个原理都进行了对比讲解和实例说明。
作者简介
  高扬,金山办公软件人工智能组技术负责人,历任欢聚时代人工智能算法专家,金山软件西山居大数据架构师等职。重庆工商大学研究生导师,电子工业出版社博文视点大数据技术图书专家委员会专家委员,有多年海外工作经验。有多部“白话”系列大数据与机器学习相关著作。__eol__叶振斌,现任网易游戏伏羲人工智能实验室高级深度学习研发工程师。多年从事机器学习,特别是强化学习智能算法的研究及开发工作。拥有丰富的软件开发经验,以及丰富的人工智能算法训练平台开发经验。__eol__万娟,华为设计师。资深UI设计师,多年产品交互与视觉设计经验,对于TOB企业系统应用设计与TOC用户产品设计有深入的理解与实践。多次参与华为企业内系统设计与智能家居、智能设备等UI及交互设计。从小热爱艺术绘画,多次参与全国艺术与工业设计比赛并获得奖项。对商业插画有丰富的经验,配合出版多本书籍。
目录
内容简介
前言
传统篇
第1章 强化学习是什么
1.1 题设
1.1.1 多智能才叫智能
1.1.2 人工智能的定义
1.2 强化学习的研究对象
1.2.1 强化学习的应用场合
1.2.2 强化学习的建模
1.3 本章小结
第2章 强化学习的脉络
2.1 什么是策略
2.2 什么样的策略是好的策略
2.3 什么是模型
2.4 如何得到一个好的策略
2.4.1 直接法
2.4.2 间接法
2.5 马尔可夫决策过程
2.5.1 状态转移
2.5.2 策略与评价
2.5.3 策略优化
2.6 Model-Based和Model-Free
2.6.1 Model-Based
2.6.2 规划问题
2.6.3 Model-Free
2.7 本章小结
第3章 动态规划
3.1 状态估值
3.2 策略优化
3.3 本章小结
第4章 蒙特卡罗法
4.1 历史由来
4.2 状态估值
4.3 两种估值方法
4.3.1 首次访问蒙特卡罗策略估值
4.3.2 每次访问蒙特卡罗策略估值
4.3.3 增量平均
4.4 弊端
4.5 本章小结
第5章 时间差分
5.1 SARSA算法
5.1.1 SARSA算法的伪代码
5.1.2 SARSA算法的优点和缺点
5.2 Q-Learning算法
5.2.1 Q-Learning算法的伪代码
5.2.2 Q-Learning算法的优点和缺点
5.3 On-Policy和Off-Policy
5.4 On-Line学习和Off-Line学习
5.5 比较与讨论
5.6 本章小结
现代篇
第6章 深度学习
6.1 PyTorch简介
6.1.1 历史渊源
6.1.2 支持
6.2 神经元
6.3 线性回归
6.4 激励函数
6.4.1 Sigmoid函数
6.4.2 Tanh函数
6.4.3 ReLU函数
6.4.4 Linear函数
6.5 神经网络
6.6 网络训练
6.6.1 输入
6.6.2 输出
6.6.3 网络结构
6.6.4 损失函数
6.6.5 求解极小值
6.6.6 线性回归
6.6.7 凸函数
6.6.8 二元(多元)凸函数
6.6.9 导数补充
6.6.10 导数怎么求
6.6.11 “串联”的神经元
6.6.12 模型的工作
6.6.13 理解损失函数
6.7 深度学习的优势
6.7.1 线性和非线性的叠加
6.7.2 不用再提取特征
6.7.3 处理线性不可分
6.8 手写数字识别公开数据集
6.9 全连接网络
6.9.1 输入与输出
6.9.2 代码解读
6.9.3 运行结果
6.10 卷积神经网络
6.10.1 代码解读
6.10.2 理解卷积神经网络的结构
6.10.3 卷积核的结构
6.11 循环神经网络
6.11.1 网络结构
6.11.2 应用案例
6.11.3 代码解读
6.12 其他注意事项
6.12.1 并行计算
6.12.2 梯度消失和梯度爆炸
6.12.3 归一化
6.12.4 超参数的设置
6.12.5 正则化
6.12.6 不唯一的模型
6.13 深度神经网络的发展趋势
6.14 本章小结
第7章 Gym——不要钱的试验场
7.1 简介
7.2 安装
7.3 类别
7.4 接口
7.5 本章小结
第8章 DQN算法族
8.1 2013版DQN
8.1.1 模型结构
8.1.2 训练过程
8.1.3 Replay Memory
8.1.4 小结
8.2 2015版DQN
8.2.1 模型结构
8.2.2 训练过程
8.2.3 Target网络
8.2.4 小结
8.3 Double DQN
8.3.1 模型结构
8.3.2 训练过程
8.3.3 效果
8.3.4 小结
8.4 Dueling DQN
8.4.1 模型结构
8.4.2 效果
8.4.3 小结
8.5 优先回放DQN
8.6 本章小结
第9章 PG算法族
9.1 策略梯度
9.2 DPG
9.3 Actor-Critic
9.4 DDPG
9.5 本章小结
第10章 A3C
10.1 模型结构
10.1.1 A3C Q-Learning
10.1.2 A3C Actor-Critic
10.2 本章小结
第11章 UNREAL
11.1 主任务
11.2 像素控制任务
11.3 奖励值预测
11.4 值函数回放
11.5 损失函数
11.6 本章小结
扩展篇
第12章 NEAT
12.1 遗传算法
12.1.1 进化过程
12.1.2 算法流程
12.1.3 背包问题
12.1.4 极大(小)值问题
12.2 NEAT原理
12.2.1 基因组
12.2.2 变异和遗传
12.3 NEAT示例
12.4 本章小结
第13章 SerpentAI
13.1 简介
13.2 安装和配置
13.3 示例
13.3.1 创建Game Plugin
13.3.2 创建Game Agent
13.3.3 训练Context Classifier
13.3.4 训练Agent
13.4 本章小结
第14章 案例详解
14.1 AlphaGo
14.1.1 AlphaGo的前世今生
14.1.2 “深蓝”是谁
14.1.3 围棋到底有多复杂
14.1.4 论文要义
14.1.5 成绩
14.1.6 开源项目
14.2 AlphaGo Zero
14.2.1 改进之处
14.2.2 成绩
14.2.3 开源项目
14.3 试验场大观
14.3.1 StarCraftⅡ
14.3.2 VizDoom
14.3.3 Universe
14.3.4 DOTA2
14.4 本章小结
第15章 扩展讨论
15.1 TRPO
15.2 反向强化学习
15.3 模型压缩
15.3.1 剪枝
15.3.2 量化
15.3.3 结构压缩
15.4 本章小结
附录A
A.1 安装Ubuntu
A.2 安装CUDA环境
A.3 安装PyTorch
A.4 下载本书示例代码
A.5 安装PyCharm
A.5.1 方法一
A.5.2 方法二
A.6 安装Jupyter Notebook
A.7 安装相关Python依赖包
A.7.1 安装Box2D
A.7.2 安装MuJoCo
A.7.3 安装SerpentAI
A.7.4 安装Spritex
A.7.5 安装StarCraftⅡ
A.7.6 安装VizDoom
A.8 安装OpenCV
A.9 Python语言简介
A.9.1 安装Python
A.9.2 Hello World
A.9.3 行与缩进
A.9.4 变量类型
A.9.5 循环语句
A.9.6 函数
A.9.7 模块
A.9.8 小结
A.10 本书涉及的主要开源软件版本
后记
参考文献
媒体评论
  本书将复杂的强化学习概念简单明了地展示出来,配合代码讲解,让读者获得上手实践的机会。即使是不懂强化学习的读者,都能通过本书,实现属于自己的简单、实用的小工程。
  周沫凡 知识分享者,莫烦Python免费机器学习在线课程创办人 
前言
  前言
  当人工智能的热潮席卷全世界的时候,当我们一次又一次为各种人工智能新作而惊叹的时候,我们不约而同地将目光投向了深度学习领域。我们对这个既新鲜又传统的领域有一种憧憬,甚至我们之中的许多人会在某一刻认为这可能是未来机器觉醒前的萌芽。
  说深度学习新鲜,是因为它在近几年的发展确实获得了令人瞩目的成果,不论是在计算机视觉(Computer Vision,CV)领域,还是在自动语音识别(Automatic Speech Recognition,ASR)领域,抑或推荐系统应用领域,都迈上了一个前所未有的新台阶。这当然得益于计算机硬件处理能力的提升,包括CPU的速度、内存的大小、磁盘的容量;得益于新型并行计算框架的逐步成熟,例如CUDA(Compute Unified Device Architecture);得益于广大热衷于贡献高质量开源软件系统的大厂的扛鼎力作,例如TensorFlow、PyTorch、MXNet等优秀框架的不断涌现。这些无一例外,都成为推动一个行业在全国乃至全世界发展的重要因素。
  说深度学习传统,是因为它最为基本的理论部分,是在数十年前就逐步有人提出并进行完善的一套理论体系。一位朋友曾告诉我,在他研究生毕业的时候(应该是在21世纪初),有不少同学的研究方向是人工智能和神经网络,而其中的大多数人,不是进了国有研究所,开始了日复一日“读Paper、写Paper”的过程,就是进了保险公司、证券交易所等企业——做什么呢?也不是做自己的老本行,而是做报表、做数据分析、写报告。
  当然,这些同学算是比较“幸运”的,还有相当一部分干脆改了行,去往一些企业的开发岗位,做Java开发或者数据库架构之类的工作。我完全没有轻视这些岗位和企业的意思,我只是单纯地觉得,在大学中花了那么多年走出来的一条路,没办法再走下去,是一件非常可惜的事情。而在导致这一现象的众多客观因素中,前面提到的计算能力、框架成熟度、软件包可用性等起着决定性的作用。
  不过,我们赶上好时候了。除落地应用外的大部分基础问题,都已经由那些世界一流的数据科学家帮我们解决,并封装成了一个个开源或非开源的软/硬件产品。
  其实,除了深度神经网络在CV、ASR、NLP等领域的应用,近几年,深度学习在另外一个领域有着炫目的成绩,那就是深度强化学习领域。别的不说,大名鼎鼎的AlphaGo和AlphaGo Zero就是典型的深度强化学习应用。从感性的角度看,深度强化学习似乎是由“深度学习”和“强化学习”两个领域结合而成的——这个说法应该不算错。
  所谓深度学习,一般是指基于深度神经网络的一系列应用,而这个领域应用的丰富程度也是非常高的。因为深度神经网络有着超高的VC维,所以理论上它几乎可以用来实现任何从x到f(x)的映射关系。
  强化学习所研究的事情就更有意思了。强化学习研究的主要是如何让机器人在一个预先定义好的环境中,通过自己学习来逐步形成或学会一套成熟的、高质量的自动化行为策略,这也是一直以来世界一流高校的人工智能专业设立并努力研究的一个神秘而又让人充满幻想的领域。
  为了让广大读者能够近距离接触强化学习和深度学习结合应用的案例,让这样一个有趣且有着光明前景的领域以更加平易近人的姿态出现,在这本书中,我将用具有高中数学水平的读者朋友能够理解的语言,和大家好好分享一下如何用深度学习的利器PyTorch来完成人工智能机器人自我进化的落地过程。
  本书特色
  可以说,我们处于人工智能时代的起点。这是一个非常好的时代,那么多优秀的开源软件框架,为每一个程序员提供了门槛足够低的学习工具。
  本书以“平民”的起点,从“零”开始介绍深度学习的技术与技巧,让读者有良好的带入感和亲近感,并通过逐层铺垫,把学习曲线拉平,使得没有学过微积分等高级理论的程序员朋友一样能够读得懂、学得会。同时,本书配合漫画插图来调节阅读气氛,并在每个原理讲解的部分都提供了对比和实例说明,相信每位读者都能有轻松、愉悦的阅读体验。
  如果你的英文阅读能力比较强且有比较高的学术素养,如果你能够以英文原版文献(不论是公开课、论文,还是经典教材)作为首选的阅读资料,那么,仍然推荐你阅读英文原版内容,因为那将让你更为直接地接触相关知识。
  基于本书的定位,在描述讨论对象的时候,我通常不会使用学术级别的词汇,而是尽可能使用程序员能够读懂的语言。因此,与经典的阅读材料相比,本书叙述的内容难免存在一些偏颇,甚至可能为了言简意赅地讲明原理而有失严谨。另外,在一个理论出现或者相关论文发表之后,从我把它读懂、写清楚到图书出版,至少需要一年,甚至可能更久,而这对于一个在领域前沿工作的技术人员来说,时间显得有些长。因此,对于学习能力比较强的读者来说,本书作为工程实现参考书更为合适。
  读者对象
  本书适合如下人员阅读。
  *对深度学习和强化学习感兴趣但完全不了解的技术人员。
  *对深度学习和强化学习比较感兴趣的技术人员。
  *深度学习和强化学习领域的初级从业人员。
  *希望对深度学习和强化学习进行入门了解的技术人员。
  如何阅读本书
  本书是我写作的“白话”系列图书的第三本,与《白话大数据与深度学习》《白话深度学习与TensorFlow》互为姊妹篇。但是,本书不依赖另外两本书的内容,是独立成册的。
  本书的主要内容如下。
  第1章到第5章,讲的是传统强化学习的研究目标与脉络,主要介绍了从一个程序员的角度怎么理解强化学习最为轻松,侧重于理解方式的诱导。
  第6章到第11章,是本书的核心内容,讲的是深度学习的原理、PyTorch框架的基本知识及深度强化学习的常用算法模型。
  第12章到第15章,讲的是扩展性的知识。例如,其他有助于训练模型的算法思路,第三方工具插件,可供实验的环境,一些有趣的强化学习算法和观点,甚至模型落地过程中的优化与压缩。
  附录A中详细记载了本书涉及的各种软件环境的安装和配置过程。
  套用一句时髦的广告语:“深度强化学习从入门到落地,读这一本就够了。”
  勘误与支持
  由于作者的水平有限,编写时间仓促,书中难免会出现错误或者不准确的地方,恳请读者批评指正。
  如果你有更多的宝贵意见,欢迎扫描下方的二维码,关注“智能工厂”微信公众号和我们进行互动讨论。你也可以在这里找到本书配套代码的下载地址和QQ讨论群的相关信息。关注大数据尖端技术发展,关注“智能工厂”。
  期待得到你的真挚反馈,让我们在技术道路上互勉共进。
  高扬
精彩书摘
  我们可以研究这三个聚类中的点都有哪些共性,也可以研究哪些点没有在这些聚类中或远离这些聚类中心。这样的应用场景在现实生活中是很多的。例如,能不能把用户的年龄、收入、贷款金额等数据绘制成这样的图像,通过聚类的方式找出用户人群的分布,然后针对不同的人群尝试设计相应的产品或业务,以分别满足他们的需要?这可比自己抱着脑袋绞尽脑汁冥思苦想要科学得多。