《强化学习精要 核心算法与TensorFlow实现》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:冯超著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121340000
  • 页数:371 页
图书介绍:强化学习是机器学习的一个分支,是阿尔法狗大战围棋冠军李世石时用到的核心技术。本书从学习强化学习必备的基础知识讲起(基础数学知识+神经网络+TensorFlow),过度到强化学习关注的经典算法(policy Gradient、Actor Critic、Q-Learning等),最后讲解前沿的强化学习方法(例如反向强化学习等)。

第一部分 强化学习入门与基础知识 2

1引言 2

1.1 强化学习的概念 2

1.1.1 巴浦洛夫的狗 3

1.1.2 俄罗斯方块 4

1.2 站在被实验者的角度看问题 5

1.3 强化学习效果的评估 8

1.3.1 不断试错 8

1.3.2 看重长期回报 8

1.4 强化学习与监督学习 9

1.4.1 强化学习与监督学习的本质 9

1.4.2 模仿学习 10

1.5 强化学习的实验环境 11

1.5.1 Arcade Learning Environment 12

1.5.2 Box2D 12

1.5.3 MuJoCo 13

1.5.4 Gym 14

1.6 本书的主要内容 15

1.7 参考资料 16

2数学与机器学习基础 17

2.1 线性代数基础 17

2.2 对称矩阵的性质 21

2.2.1 特征值与特征向量 21

2.2.2 对称矩阵的特征值和特征向量 22

2.2.3 对称矩阵的对角化 23

2.3 概率论 24

2.3.1 概率与分布 24

2.3.2 最大似然估计 27

2.4 重要性采样 29

2.5 信息论基础 33

2.6 KL散度 35

2.7 凸函数及其性质 39

2.8 机器学习的基本概念 41

2.9 机器学习的目标函数 43

2.10 总结 45

3优化算法 47

3.1 梯度下降法 47

3.1.1 什么是梯度下降法 47

3.1.2 优雅的步长 48

3.2 动量算法 53

3.3 共轭梯度法 59

3.3.1 精妙的约束 59

3.3.2 共轭 60

3.3.3 优化步长的确定 63

3.3.4 Gram-Schmidt方法 64

3.3.5 共轭梯度 65

3.4 自然梯度法 69

3.4.1 基本概念 69

3.4.2 Fisher信息矩阵 71

3.4.3 自然梯度法目标公式 76

3.5 总结 77

4 TensorFlow入门 78

4.1 TensorFlow的基本使用方法 78

4.2 TensorFlow原理介绍 82

4.2.1 创建变量的scope 82

4.2.2 创建一个Variable背后的故事 89

4.2.3 运算操作 94

4.2.4 tfgradients 96

4.2.5 Optimizer 102

4.2.6 TensorFlow的反向传播技巧 106

4.2.7 arg scope的使用 109

4.3 TensorFlow的分布式训练 113

4.3.1 基于MPI的数据并行模型 114

4.3.2 MPI的实现:mpi_ adam 121

4.4 基于TensorFlow实现经典网络结构 122

4.4.1 多层感知器 122

4.4.2 卷积神经网络 124

4.4.3 循环神经网络 126

4.5 总结 129

4.6 参考资料 129

5 Gym与Baselines 130

5.1 Gym 130

5.1.1 Gym的安装 130

5.1.2 Gym的基本使用方法 132

5.1.3 利用Gym框架实现一个经典的棋类游戏:蛇棋 134

5.2 Baselines 138

5.2.1 Baselines中的Python 3新特性 139

5.2.2 tf util 141

5.2.3 对Gym平台的扩展 142

5.3 总结 144

6强化学习基本算法 145

6.1 马尔可夫决策过程 145

6.1.1 MDP:策略与环境模型 145

6.1.2 值函数与Bellman公式 147

6.1.3 “表格式”Agent 151

6.2 策略迭代 153

6.2.1 策略迭代法 153

6.2.2 策略提升的证明 159

6.2.3 策略迭代的效果展示 160

6.3 价值迭代 162

6.3.1 N轮策略迭代 162

6.3.2 从动态规划的角度谈价值迭代 165

6.3.3 价值迭代的实现 167

6.4 广义策略迭代 168

6.4.1 两个极端 168

6.4.2 广义策略迭代法 169

6.4.3 广义策略迭代的实现 170

6.5 总结 171

第二部分 最优价值算法 173

7 Q-Learning基础 173

7.1 状态转移概率:从掌握到放弃 173

7.2 蒙特卡罗方法 174

7.3 探索与利用 178

7.4 蒙特卡罗的方差问题 181

7.5 时序差分法与SARSA 183

7.6 Q-Learning 186

7.7 Q-Learning的收敛性分析 189

7.8 从表格形式到值函数模型 193

7.9 Deep Q Network 195

7.10 总结 202

7.11 参考资料 202

8 DQN的改进算法 203

8.1 Double Q-Learning 203

8.2 Priority Replay Buffer 204

8.3 Dueling DQN 209

8.4 解决DQN的冷启动问题 211

8.5 Distributional DQN 214

8.5.1 输出价值分布 214

8.5.2 分布的更新 216

8.6 Noisy Network 218

8.7 Rainbow 221

8.7.1 Rainbow的模型特点 221

8.7.2 Deep Q Network的实现 223

8.8 总结 227

8.9 参考资料 227

第三部分 基于策略梯度的算法 229

9基于策略梯度的算法 229

9.1 策略梯度法 229

9.1.1 算法推导 230

9.1.2 算法分析 233

9.1.3 算法改进 234

9.2 Actor-Critic算法 236

9.2.1 降低算法的方差 236

9.2.2 A3C算法 238

9.2.3 A2C算法实战 240

9.3 总结 243

9.4 参考资料 243

10使策略单调提升的优化算法 244

10.1 TRPO 244

10.1.1 策略的差距 245

10.1.2 策略提升的目标公式 247

10.1.3 TRPO的目标定义 248

10.1.4 自然梯度法求解 251

10.1.5 TRPO的实现 254

10.2 GAE 256

10.2.1 GAE的公式定义 256

10.2.2 基于GAE和TRPO的值函数优化 259

10.2.3 GAE的实现 260

10.3 PPO 261

10.3.1 PPO介绍 261

10.3.2 PPO算法实践 263

10.4 总结 264

10.5 参考资料 264

11Off-Policy策略梯度法 265

11.1 Retrace 266

11.1.1 Retrace的基本概念 266

11.1.2 Retrace的算法实现 267

11.2 ACER 270

11.2.1 Off-Policy Actor-Critic 270

11.2.2 ACER算法 272

11.2.3 ACER的实现 276

11.3 DPG 279

11.3.1 连续空间的策略优化 279

11.3.2 策略模型参数的一致性 280

11.3.3 DDPG算法 283

11.3.4 DDPG的实现 286

11.4 总结 289

11.5 参考资料 289

第四部分 其他强化学习算法 291

12稀疏回报的求解方法 291

12.1 稀疏回报的困难 291

12.2 层次强化学习 294

12.3 HER 298

12.3.1 渐进式学习 299

12.3.2 HER的实现 301

12.4 总结 304

12.5 参考资料 304

13Model-based方法 305

13.1 AlphaZero 305

13.1.1 围棋游戏 305

13.1.2 Alpha-Beta树 307

13.1.3 MCTS 309

13.1.4 策略价值模型 312

13.1.5 模型的对决 316

13.2 iLQR 316

13.2.1 线性模型的求解法 317

13.2.2 非线性模型的解法 322

13.2.3 iLQR的实现 325

13.3 总结 328

13.4 参考资料 328

第五部分 反向强化学习 330

14反向强化学习入门 330

14.1 基本概念 330

14.2 从最优策略求解回报 332

14.2.1 求解回报的目标函数 332

14.2.2 目标函数的约束 334

14.3 求解线性规划 335

14.3.1 线性规划的求解过程 335

14.3.2 实际案例 337

14.4 无限状态下的求解 338

14.5 从样本中学习 342

14.6 总结 344

14.7 参考资料 344

15反向强化学习算法2.0 345

15.1 最大熵模型 345

15.1.1 指数家族 346

15.1.2 最大熵模型的推导 349

15.1.3 最大熵模型的实现 354

15.2 最大熵反向强化学习 356

15.3 GAIL 361

15.3.1 GAN的基本概念 361

15.3.2 GAN的训练分析 363

15.4 GAIL实现 367

15.5 总结 370

15.6 参考资料 370