第 1 章 使用 TensorFlow 2.x 开发深度强化学习的基本模块 1
1.1 技术要求 1
1.2 构建训练强化学习智能体的环境和奖励机制 1
1.2.1 前期准备 2
1.2.2 实现步骤 2
1.2.3 工作原理 8
1.3 针对离散动作空间和离散决策问题实现基于神经网络的强化学习策略 8
1.3.1 前期准备 9
1.3.2 实现步骤 9
1.3.3 工作原理 13
1.4 针对连续动作空间和连续控制问题实现基于神经网络的强化学习策略 13
1.4.1 前期准备 14
1.4.2 实现步骤 14
1.4.3 工作原理 19
1.5 将 OpenAI Gym 作为强化学习的训练环境 20
1.5.1 前期准备 20
1.5.2 实现步骤 20
1.5.3 工作原理 22
1.6 构建神经网络智能体 22
1.6.1 前期准备 23
1.6.2 实现步骤 23
1.6.3 工作原理 26
1.7 构建神经网络进化智能体 27
1.7.1 前期准备 27
1.7.2 实现步骤 27
1.7.3 工作原理 34
1.8 参考资料 34
第 2 章 基于价值、策略和行动者-评论家的深度强化学习算法实现. 35
2.1 技术要求 35
2.2 构建用于训练强化学习智能体的随机环境 35
2.2.1 前期准备 36
2.2.2 实现步骤 37
2.2.3 工作原理 42
2.3 构建基于价值的强化学习智能体算法 42
2.3.1 前期准备 43
2.3.2 实现步骤 43
2.3.3 工作原理 46
2.4 实现时序差分学习 47
2.4.1 前期准备 47
2.4.2 实现步骤 48
2.4.3 工作原理 52
2.5 构建强化学习中的蒙特卡洛预测和控制算法 53
2.5.1 前期准备 54
2.5.2 实现步骤 54
2.5.3 工作原理 58
2.6 实现 SARSA 算法和对应的强化学习智能体 59
2.6.1 前期准备 59
2.6.2 实现步骤 59
2.6.3 工作原理 61
2.7 构建基于 Q 学习的智能体 62
2.7.1 前期准备 62
2.7.2 实现步骤 63
2.7.3 工作原理 64
2.8 实现策略梯度 65
2.8.1 前期准备 65
2.8.2 实现步骤 66
2.8.3 工作原理 70
2.9 实现行动者-评论家算法 70
2.9.1 前期准备 70
2.9.2 实现步骤 71
2.9.3 工作原理 74
第 3 章 高级强化学习算法的实现 75
3.1 技术要求 75
3.2 实现 Deep Q 学习算法、DQN 和 Double-DQN 智能体 75
3.2.1 前期准备 76
3.2.2 实现步骤 76
3.2.3 工作原理 81
3.3 实现 Dueling DQN 智能体 81
3.3.1 前期准备 81
3.3.2 实现步骤 82
3.3.3 工作原理 86
3.4 实现 Dueling Double DQN 算法和 DDDQN 智能体 86
3.4.1 前期准备 87
3.4.2 实现步骤 87
3.4.3 工作原理 91
3.5 实现深度递归 Q 学习算法和 DRQN 智能体 91
3.5.1 前期准备 91
3.5.2 实现步骤 92
3.5.3 工作原理 96
3.6 实现异步优势行动者-评论家算法和 A3C 智能体 96
3.6.1 前期准备 96
3.6.2 实现步骤 97
3.6.3 工作原理 104
3.7 实现近端策略优化算法和 PPO 智能体 104
3.7.1 前期准备 104
3.7.2 实现步骤 105
3.7.3 工作原理 112
3.8 实现深度确定性策略梯度算法和 DDPG 智能体 112
3.8.1 前期准备 112
3.8.2 实现步骤 113
3.8.3 工作原理 119
第 4 章 现实世界中的强化学习——构建加密货币交易智能体 120
4.1 技术要求 120
4.2 使用真实市场数据搭建一个比特币交易强化学习平台 120
4.2.1 前期准备 121
4.2.2 实现步骤 121
4.2.3 工作原理 127
4.3 使用价格图表搭建一个以太坊交易强化学习平台 128
4.3.1 前期准备 128
4.3.2 实现步骤 129
4.3.3 工作原理 135
4.4 为强化学习智能体搭建一个高级的加密货币交易平台 135
4.4.1 前期准备 135
4.4.2 实现步骤 136
4.4.3 工作原理 140
4.5 使用强化学习训练一个加密货币交易智能体 141
4.5.1 前期准备 141
4.5.2 实现步骤 141
4.5.3 工作原理 153
第 5 章 现实世界中的强化学习——建立股票/股份交易智能体 154
5.1 技术要求 154
5.2 使用真实的证券交易所数据搭建一个股票市场交易强化学习平台 155
5.2.1 前期准备 155
5.2.2 实现步骤 155
5.2.3 工作原理 159
5.3 使用价格图表搭建一个股票市场交易强化学习平台 159
5.3.1 前期准备 160
5.3.2 实现步骤 160
5.3.3 工作原理 165
5.4 搭建一个高级的股票交易强化学习平台以训练智能体模仿专业交易员 165
5.4.1 前期准备 165
5.4.2 实现步骤 166
5.4.3 工作原理 171
第 6 章 现实世界中的强化学习——构建智能体来完成您的待办事项 173
6.1 技术要求 173
6.2 为现实世界的强化学习搭建学习环境 174
6.2.1 前期准备 174
6.2.2 实现步骤 174
6.2.3 工作原理 181
6.3 构建一个强化学习智能体来完成网络上的任务——行动号召 181
6.3.1 前期准备 182
6.3.2 实现步骤 182
6.3.3 工作原理 192
6.4 构建一个用于可视化页面的自动登录机器人 193
6.4.1 前期准备 194
6.4.2 实现步骤 194
6.4.3 工作原理 202
6.5 训练一个强化学习智能体来自动为您的行程预订航班 203
6.5.1 前期准备 203
6.5.2 实现步骤 204
6.5.3 工作原理 211
6.6 训练一个强化学习智能体来管理您的电子邮件 212
6.6.1 前期准备 212
6.6.2 实现步骤 213
6.6.3 工作原理 217
6.7 训练一个强化学习智能体来自动管理您的社交媒体账户 218
6.7.1 前期准备 218
6.7.2 实现步骤 219
6.7.3 工作原理 226
第 7 章 在云端部署深度强化学习智能体 228
7.1 技术要求 228
7.2 实现强化学习智能体的运行组件 228
7.2.1 前期准备 229
7.2.2 实现步骤 229
7.2.3 工作原理 234
7.3 建立强化学习环境模拟器的服务 234
7.3.1 前期准备 235
7.3.2 实现步骤 235
7.3.3 工作原理 241
7.4 使用远程模拟服务器训练强化学习智能体 242
7.4.1 前期准备 242
7.4.2 实现步骤 242
7.4.3 工作原理 246
7.5 测试/评估强化学习智能体 246
7.5.1 前期准备 247
7.5.2 实现步骤 247
7.5.3 工作原理 250
7.6 组装强化学习智能体进行部署——一个交易机器人 250
7.6.1 前期准备 251
7.6.2 实现步骤 251
7.6.3 工作原理 256
7.7 将强化学习智能体部署到云端——交易机器人即服务 256
7.7.1 前期准备 257
7.7.2 实现步骤 257
7.7.3 工作原理 259
第 8 章 使用分布式训练加速深度强化学习智能体开发 261
8.1 技术要求 261
8.2 使用 TensorFlow 2.x 的分布式深度学习模型——多 GPU 训练 261
8.2.1 前期准备 262
8.2.2 实现步骤 262
8.2.3 工作原理 268
8.3 纵向扩展与横向扩展——多机、多 GPU 训练 268
8.3.1 前期准备 269
8.3.2 实现步骤 269
8.3.3 工作原理 272
8.4 大规模训练深度强化学习智能体——多 GPU PPO 智能体 272
8.4.1 前期准备 272
8.4.2 实现步骤 272
8.4.3 工作原理 284
8.5 为加速训练的分布式深度强化学习的基础模块 284
8.5.1 前期准备 284
8.5.2 实现步骤 285
8.5.3 工作原理 290
8.6 使用 Ray、Tune 和 RLLib 进行大规模的深度强化学习智能体训练 291
8.6.1 前期准备 291
8.6.2 实现步骤 291
8.6.3 工作原理 296
第 9 章 深度强化学习智能体的多平台部署 297
9.1 技术要求 297
9.2 使用 TensorFlow Lite 组装用于移动和物联网设备的深度强化学习智能体 297
9.2.1 前期准备 298
9.2.2 实现步骤 298
9.2.3 工作原理 303
9.3 在移动设备上部署强化学习智能体 304
9.3.1 前期准备 305
9.3.2 实现步骤 306
9.3.3 工作原理 313
9.4 使用 TensorFlow.js 为 Web 和 Node.js 组装深度强化学习智能体 313
9.4.1 前期准备 313
9.4.2 实现步骤 314
9.4.3 工作原理 318
9.5 将深度强化学习智能体部署为服务 318
9.5.1 前期准备 319
9.5.2 实现步骤 319
9.5.3 工作原理 323
9.6 为跨平台部署组装深度强化学习智能体 323
9.6.1 前期准备 323
9.6.2 实现步骤 324
9.6.3 工作原理 330