TensorFlow强化学习快速入门指南 使用Python动手搭建自学习的智能体

作者
考希克·巴拉克里希南(Kaushik Balakrishnan)
丛书名
出版社
机械工业出版社*
ISBN
9787111648123
简要
简介
内容简介书籍计算机书籍 强化学习是一类重要的机器学习方法,在很多领域得到了成功的应用,*近几年与深度学习结合起来,进一步推动了人工智能的发展?本书首先介绍了强化学习的基本原理,然后介绍典型的强化学习算法,包括时序差分? SARSA? Q-Learning? DeepQ-network? Double DQN?竞争网络结构? Rainbow? Actor-Critic? A2C? A3C? TRPO和PPO等,每种算法基本上利用了主流的开源机器学习框架TensorFlow,使用Python编程进行实现?此外,还介绍了一些上述算法的应用?本书可以使读者快速理解强化学习的基本知识,并通过简单的案例加深对算法的理解?本书适合对强化学习感兴趣的普通高校师生以及相关专业人员阅读? Copyright ? Packt Publishing 2018First published in the English language under the title “Deep Learning with TensorFlow-SecondEdition- ( 9781788831109)” Copyright in the Chinese language( simplified characters) ? 2020 China Machine PreesThis title is published in China by China Machine Press with license from Packt Publishing Ltd.This edition is authorized for sale in China only , excluding Hong Kong SAR. Macao SAR and Taiwan.Unauthorized export of this edition is a violation of the Copyright Act. Violation of this Law is subjectto Civil and Criminal Penalties.
目录
译者序
前 言
第 1 章 强化学习的启动和运行 1
1.1 为何选择强化学习 1
阐述强化学习问题 2
1.2 agent 及其环境之间的关系 3
1.2.1 定义 agent 的状态 3
1.2.2 定义 agent 的行为 3
1.2.3 了解策略、价值函数和优势函数 4
1.3 认识回合 5
1.4 认识奖励函数和折扣奖励 5
奖励 6
1.5 学习马尔可夫决策过程 6
1.6 定义贝尔曼方程 7
1.7 同步策略与异步策略学习 7
1.7.1 同步策略方法 7
1.7.2 异步策略方法 8
1.8 无模型训练和基于模型训练 8
1.9 本书中涉及的算法 8
总结 9
思考题 9
扩展阅读 9
第 2 章 时序差分、SARSA 与 Q-Learning 10
2.1 技术需求 10
2.2 理解 TD 学习 10
价值函数与状态之间的关系 11
2.3 理解 SARSA 与 Q-Learning 11

IX
2.3.1 学习 SARSA 12
2.3.2 理解 Q-Learning 12
2.4 悬崖徒步与网格世界问题 12
2.4.1 SARSA 下的悬崖徒步 13
2.4.2 Q-Learning 下的悬崖徒步 18
2.4.3 SARSA 下的网格世界 20
总结 22
扩展阅读 22
第 3 章 深度 Q 网络 23
3.1 技术需求 23
3.2 学习 DQN 原理 23
3.3 理解目标网络 24
3.4 了解重放缓冲区 25
3.5 Atari 环境介绍 25
3.5.1 Atari 游戏概述 26
3.5.2 用 TensorFlow 编写 DQN 27
3.6 验证 DQN 在 Atari Breakout 上的性能 39
总结 40
思考题 40
扩展阅读 41
第 4 章 Double DQN、竞争网络结构和 Rainbow 42
4.1 技术需求 42
4.2 了解 Double DQN 43
4.2.1 编写 DDQN 并训练解决 Atari Breakout 问题 43
4.2.2 在 Atari Breakout 问题中评估 DDQN 的性能 44
4.3 理解竞争网络结构 45
4.3.1 编写竞争网络结构并训练其解决 Atari Breakout 问题 47
4.3.2 在 Atari Breakout 中评估竞争网络结构的性能 48
4.4 了解 Rainbow 网络 49
DQN 改进 50
4.5 在 Dopamine 上运行 Rainbow 网络 50
TensorFlow 强化学习快速入门指南
—使用 Python 动手搭建自学习的智能体
X
使用 Dopamine 运行 Rainbow 52
总结 53
思考题 53
扩展阅读 53
第 5 章 深度确定性策略梯度 55
5.1 技术需求 55
5.2 Actor-Critic 算法和策略梯度 56
策略梯度 56
5.3 深度确定性策略梯度 56
5.3.1 编写 ddpg.py 57
5.3.2 编写 AandC.py 59
5.3.3 编写 TrainOrTest.py 64
5.3.4 编写 replay_buffer.py 67
5.4 在 Pendulum-v0 中训练和测试 DDPG 68
总结 69
思考题 70
扩展阅读 70
第 6 章 异步的方法——A3C 和 A2C 71
6.1 技术需求 71
6.2 A3C 算法 71
6.2.1 损失函数 72
6.2.2 CartPole and LunarLander 72
6.3 A3C 算法在 CartPole 中的应用 73
6.3.1 编写 cartpole.py 73
6.3.2 编写 a3c.py 75
6.3.3 Worker 类 77
6.3.4 编写 utils.py 80
6.3.5 CartPole 训练 81
6.4 A3C 算法在 LunarLander 中的应用 82
6.4.1 编写 lunar.py 82
6.4.2 在 LunarLander 上训练 82
6.5 A2C 算法 83
总结 83
思考题 84
扩展阅读 84
第 7 章 信任区域策略优化和近端策略优化 85
7.1 技术需求 85
7.2 学习 TRPO 85
TRPO 方程 86
7.3 学习 PPO 86
PPO 损失函数 86
7.4 使用 PPO 解决 Mountain Car 问题 87
7.4.1 编写 class_ppo.py 87
7.4.2 编写 train_test.py 91
7.5 评估性能 95
7.6 马力全开 95
7.7 随机发力 96
总结 97
思考题 97
扩展阅读 97
第 8 章 深度强化学习在自动驾驶中的应用 98
8.1 技术需求 98
8.2 汽车驾驶模拟器 99
8.3 学习使用 TORCS 99
8.3.1 状态空间 100
8.3.2 支持文件 100
8.4 训练 DDPG agent 来学习驾驶 101
8.4.1 编写 ddpg.py 101
8.4.2 编写 AandC.py 101
8.4.3 编写 TrainOrTest.py 102
TensorFlow 强化学习快速入门指南
—使用 Python 动手搭建自学习的智能体
8.5 训练 PPO agent 104
总结 104
思考题 105
扩展阅读 105
附录 思考题答案 10


相关资源(PDF,TXT,电子书)

村网 国学鼎 数字追踪 车牌号查询 生活分享
桂ICP备20004708号-2