×
深入浅出强化学习:编程实战

深入浅出强化学习:编程实战

1星价 ¥56.1 (6.3折)
2星价¥56.1 定价¥89.0
暂无评论
图文详情
  • ISBN:9787121367465
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:24cm
  • 页数:264页
  • 出版时间:2020-03-01
  • 条形码:9787121367465 ; 978-7-121-36746-5

本书特色

《深入浅出强化学习:编程实战》是《深入浅出强化学习:原理入门》的姐妹篇。 1 实战性强:以编程实战为主线,旨在帮助读者通过实战更清晰地理解算法并快速应用。 2 系统全面:在马尔可夫理论框架下,介绍了*基本的算法,涵盖了基于值函数的算法,直接策略搜索方法,基于模型的强化学习方法等。 3 前沿技术分析:剖析了AlphaZero强大技术背后的深度强化学习原理,并介绍了它在五子棋上的具体实现。 4 操作性强:读者可根据书中的代码直接上手,并通过修改程序中的超参数,亲自体会算法原理。

内容简介

本书分三大篇介绍了目前强化学习算法中*基本的算法。**篇为基于值函数的强化学习算法, 该篇介绍了基于两种策略评估方法 (蒙特卡洛策略评估和时间差分策略评估) 的强化学习算法, 进而介绍了如何将函数逼近的方法引入到强化学习算法中。第二篇为直接策略搜索方法, 该篇介绍了*基本的策略梯度方法、基本的AC方法、PPO方法和DDPG算法。第三篇为基于模型的强化学习方法, 该篇介绍了基于mpc的方法, AlphaZero算法基本原理及在五子棋上的具体实现细节。

目录

第0 篇 先导篇 ......... 1

1 一个极其简单的强化学习实例 .................................. 2

1.1 多臂赌博机 ..................... 2

1.1.1 e - greedy策略 .... 3

1.1.2 玻尔兹曼策略 ...... 6

1.1.3 UCB 策略 ............. 7

1.2 多臂赌博机代码实现 ..... 7

2 马尔可夫决策过程 .............. 13

2.1 从多臂赌博机到马尔可夫决策过程 ............... 13

2.2 马尔可夫决策过程代码实现 ........................... 23

第1 篇 基于值函数的方法 .......................... 31

3 基于动态规划的方法 ........... 32

3.1 策略迭代与值迭代 ....... 32

3.1.1 策略迭代算法原理 ................................ 33

3.1.2 值迭代算法原理 35

3.2 策略迭代和值迭代的代码实现 ....................... 36

3.2.1 鸳鸯环境的修改 36

3.2.2 策略迭代算法代码实现 ........................ 37

3.2.3 值迭代算法代码实现 ............................ 41

4 基于蒙特卡洛的方法 ........... 45

4.1 蒙特卡洛算法原理 ....... 46

4.2 蒙特卡洛算法的代码实现 ............................... 49

4.2.1 环境类的修改和蒙特卡洛算法类的声明 ................................ 49

4.2.2 探索初始化蒙特卡洛算法实现 ............ 52

4.2.3 同策略蒙特卡洛算法实现 .................... 56

5 基于时间差分的方法 ........... 62

5.1 从动态规划到时间差分强化学习 ................... 62

5.2 时间差分算法代码实现 ................................... 66

5.2.1 时间差分算法类的声明 ........................ 66

5.2.2 SARSA 算法 ...... 67

5.2.3 Q-Learning 算法 70

6 基于函数逼近的方法 ........... 74

6.1 从表格型强化学习到线性函数逼近强化学习 74

6.1.1 表格特征表示 .... 74

6.1.2 固定稀疏表示 .... 75

6.1.3 参数的训练 ........ 76

6.2 基于线性函数逼近的Q-Learning 算法实现 ... 76

6.3 非线性函数逼近DQN 算法代码实现 ............. 85

第2 篇 直接策略搜索的方法 ...................... 95

7 策略梯度方法 ..................... 96

7.1 算法基本原理及代码架构 ............................... 96

7.1.1 策略的表示问题 97

7.1.2 随机策略梯度的推导 ............................ 98

7.1.3 折扣累积回报 .... 99

7.1.4 代码架构 .......... 101

7.2 离散动作:CartPole 实例解析及编程实战 ... 103

7.2.1 CartPole 简介 ... 103

7.2.2 问题分析及MDP 模型 ....................... 104

7.2.3 采样类的Python 源码实现 ................. 105

7.2.4 策略网络模型分析 .............................. 106

7.2.5 策略网络类的Python 源码实现 ......... 108

7.2.6 策略网络的训练与测试 ....................... 110

7.2.7 用策略梯度法求解Cartpole 的主函数 ................................... 112

7.2.8 CartPole 仿真环境开发 ........................ 113

7.3 连续动作Pendulum 实例解析及编程实战 .... 117

7.3.1 Pendulum 简介 .. 118

7.3.2 采样类的Python 源代码实现 .............. 118

7.3.3 策略网络模型分析 .............................. 120

7.3.4 策略网络类的Python 源码实现 ......... 121

7.3.5 策略网络的训练与测试 ...................... 125

7.3.6 用策略梯度法求解Pendulum 的主函数 ................................ 126

7.3.7 Pendulum 仿真环境开发 ..................... 127

8 Actor-Critic 方法 ............... 131

8.1 Actor-Critic 原理及代码架构 ......................... 131

8.1.1 Actor-Critic 基本原理 .......................... 131

8.1.2 Actor-Critic 算法架构 .......................... 133

8.2 TD-AC 算法 ................ 133

8.2.1 采样类的Python 源码 ......................... 134

8.2.2 策略网络的Python 源码 ..................... 135

8.2.3 策略训练和测试 .................................. 138

8.2.4 主函数及训练效果 .............................. 140

8.3 Minibatch-MC-AC 算法 ................................. 141

8.3.1 Minibatch-MC-AC 算法框架 .............. 141

8.3.2 采样类的Python 源码 ......................... 142

8.3.3 策略网络的Python 源码 ..................... 144

8.3.4 策略的训练和测试 .............................. 147

8.3.5 主函数及训练效果 .............................. 149

9 PPO 方法 ......................... 151

9.1 PPO 算法基本原理及代码结构 ..................... 151

9.2 Python 源码解析 ......... 154

9.2.1 采样类 .............. 154

9.2.2 策略网络 .......... 156

9.2.3 策略的训练和测试 .............................. 159

9.2.4 主函数及训练效果 .............................. 160

10 DDPG 方法 .................... 163

10.1 DDPG 基本原理 ....... 163

10.2 Python 源码解析 ....... 167

10.2.1 经验缓存器类 167

10.2.2 策略网络类 .... 169

10.2.3 训练和测试 .... 173

10.2.4 主函数及训练效果 ............................ 175

第3 篇 基于模型的强化学习方法 ............. 177

11 基于模型预测控制的强化学习算法 ..................... 178

11.1 基于模型的强化学习算法的基本原理 ........ 178

11.1.1 神经网络拟合动力学模型 ................ 179

11.1.2 模型预测控制 179

11.1.3 基于模型的强化学习算法伪代码 .... 180

11.2 Python 源码实现及解析 ............................... 181

11.2.1 数据收集类 .... 181

11.2.2 数据采样类 .... 181

11.2.3 动力学网络类 182

11.2.4 模型预测控制器类 ............................ 185

11.2.5 模型训练和预测函数 ........................ 186

11.2.6 主函数 ............ 188

12 AlphaZero 原理浅析 ....... 190

12.1 从AlphaGo 到AlphaZero ............................ 191

12.2 蒙特卡洛树搜索算法 ................................... 196

12.2.1 博弈树和极小极大搜索 .................... 196

12.2.2 再论多臂老虎机问题 ........................ 198

12.2.3 UCT 算法 ....... 200

12.3 基于自我对弈的强化学习 ........................... 206

12.3.1 基于MCTS 的自我对弈 ................... 206

12.3.2 策略价值网络的训练 ........................ 210

13 AlphaZero 实战:从零学下五子棋 ...................... 214

13.1 构建简易的五子棋环境 ............................... 215

13.2 建立整体算法流程 ... 223

13.3 实现蒙特卡洛树搜索 ................................... 229

13.4 实现策略价值网络 ... 235

13.5 训练实验与效果评估 ................................... 240

附录A PyTorch 入门 ........... 246

A.1 PyTorch 基础知识 ...... 246

A.1.1 Tensor .............. 246

A.1.2 基础操作 ......... 247

A.1.3 Tensor 和NumPy array 间的转化 ...... 249

A.1.4 Autograd:自动梯度 .......................... 249

A.2 PyTorch 中的神经网络 .................................. 250

A.2.1 如何定义神经网络 ............................. 251

A.2.2 如何训练神经网络 ............................. 254

A.2.3 在CIFAR-10 数据集上进行训练和测试 ............................... 256

A.2.4 模型的保存和加载 ............................. 259

参考文献 ................................ 261

后记 ... 263



展开全部

作者简介

郭宪,南开大学人工智能学院讲师。2009年毕业于华中科技大学机械设计制造及自动化专业,同年保送到中国科学院沈阳自动化研究所进行硕博连读,2016年1月获得工学博士学位,并到南开大学从事博士后研究工作,2018年7月任教于南开大学至今。目前主要研究方向和兴趣是仿生机器人智能运动控制、强化学习和机器人博弈。 宋俊潇,香港科技大学博士,目前就职于启元世界,担任研究科学家,专注于决策智能相关算法的研究与开发。博士期间在国际知名期刊和会议发表论文9篇。2015年,获得阿里巴巴天池大数据黄金联赛个人年度第1名(参赛队伍总计15154支)。曾就职于网易游戏,担任资深数据挖掘研究员,负责个性化推荐算法及基于深度强化学习的游戏AI技术的探索研究,三次获得公司层面的技术进步奖。 方勇纯,南开大学人工智能学院院长、教授、博士生导师,国家杰出青年基金获得者(2013年),教育部长江学者特聘教授(2017年)。1992~1994年在浙江大学混合班(尖子班)学习,获混合班荣誉证书。1996年和1999年分获浙江大学学士和硕士学位,2002年获美国克莱姆森大学(Clemson University)电机工程博士学位。2002至2003年在康乃尔大学(Cornell University)从事博士后研究。2003年底至今,任教于南开大学。目前主要研究方向为机器人视觉控制、无人机、欠驱动吊车系统和微纳米操作

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航