作者 |
考希克·巴拉克里希南(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 |