失效链接处理 |
强化学习精要 核心算法与TensorFlow实现 PDF 下载
转载自:https://www.jb51.net/books/676624.html
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/25269540.html
相关截图:
资料简介:
《强化学习精要:核心算法与TensorFlow 实现》用通俗幽默的语言深入浅出地介绍了强化学习的基本算法与代码实现,为读者构建了一个完整的强化学习知识体系,同时介绍了这些算法的具体实现方式。从基本的马尔可夫决策过程,到各种复杂的强化学习算法,读者都可以从本书中学习到。本书除了介绍这些算法的原理,还深入分析了算法之间的内在联系,可以帮助读者举一反三,掌握算法精髓。书中介绍的代码可以帮助读者快速将算法应用到实践中。
资料目录:
第一部分强化学习入门与基础知识 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.2.2 创建一个Variable 背后的故事. . . . . . . . . . . . . . . . . . . . 89 4.2.3 运算操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.4 tf.gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 第二部分最优价值算法 7 Q-Learning 基础173 7.1 状态转移概率:从掌握到放弃. . . . . . . . . . . . . . . . |