白话强化学习与 PyTorch PDF 文档
本书以平民的起点,从零开始,基于 PyTorch 框架,介绍深度学习和强化学习的技术与技巧,逐层铺垫,营造良好的带入感和亲近感,把学习曲线拉平,使得没有学过微积分等高级理论的程序员一样能够读得懂、学得会。同时,本书配合漫画插图来调节阅读气氛,并对每个原理都进行了对比讲解和实例说明。
本书适合对深度学习和强化学习感兴趣的技术人员、希望对深度学习和强化学习进行入门了解的技术人员及深度学习和强化学习领域的初级从业人员阅读。
当人工智能的热潮席卷全世界的时候,当我们一次又一次为各种人工智能新作而惊叹的时候,我们不约而同地将目光投向了深度学习领域。我们对这个既新鲜又传统的领域有一种憧憬,甚至我们之中的许多人会在某一刻认为这可能是未来机器觉醒前的萌芽。
说深度学习新鲜,是因为它在近几年的发展确实获得了令人瞩目的成果,不论是在计算机视觉(Computer Vision,CV)领域,还是在自动语音识别(Automatic Speech Recognition,ASR)领域,抑或推荐系统应用领域,都迈上了一个前所未有的新台阶。
这当然得益于计算机硬件处理能力的提升,包括 CPU 的速度、内存的大小、磁盘的容量;得益于新型并行计算框架的逐步成熟,例如 CUDA(Compute Unified Device Architecture);得益于广大热衷于贡献高质量开源软件系统的大厂的扛鼎力作,例如 TensorFlow、PyTorch、MXNet 等优秀框架的不断涌现。这些无一例外,都成为推动一个行业在全国乃至全世界发展的重要因素。
目录
传统篇
第 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 本书涉及的主要开源软件版本
参考文献
下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/03/mcXZ9BxNiJXZFdAn.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论