
深度强化学习是人工智能和机器学习的重要分支领域,有着广泛应用,如AlphaGo和ChatGPT。本书作为该领域的入门教材,在内容上尽可能覆盖深度强化学习的基础知识和经典算法。全书共10章,大致分为4部分:第1部分(第1~2章)介绍深度强化学习背景(智能决策、人工智能和机器学习);第2部分(第3~4章)介绍深度强化学习基础知识(深度学习和强化学习);第3部分(第5~9章)介绍深度强化学习经典算法(DQN、AC、DDPG等);第4部分(第10章)为总结和展望。每章都附有习题并介绍了相关阅读材料,以便有兴趣的读者进一步深入探索。
本书可作为高等院校计算机、智能金融及相关专业的本科生或研究生教材,也可供对深度强化学习感兴趣的研究人员和工程技术人员阅读参考。
第 1章智能决策与复杂系统 ......................................................... 1
1.1智能决策.....................................................................1
1.1.1智能决策简介 ......................................................... 1
1.1.2复杂金融系统中的智能决策 ........................................... 2
1.2复杂系统.....................................................................4
1.2.1复杂性科学 ........................................................... 4
1.2.2复杂系统定义 ......................................................... 6
1.2.3复杂系统类型 ......................................................... 6
1.2.4复杂系统研究 ......................................................... 8
1.3复杂环境特征 ...............................................................13
1.3.1完全可观察的和部分可观察的环境 ................................... 13
1.3.2单智能体和多智能体 ................................................. 14
1.3.3确定的和随机的环境 ................................................. 14
1.3.4片段式和延续式环境 ................................................. 15
1.3.5静态和动态环境 ..................................................... 15
1.3.6离散和连续环境 ..................................................... 16
1.3.7已知和未知环境 ..................................................... 16
1.4复杂环境建模 ...............................................................17
1.5智能体建模 ................................................................. 21
1.5.1典型决策系统模型框架 ...............................................21
1.5.2智能体建模框架 ..................................................... 21
1.6智能决策系统建模 .......................................................... 24
1.6.1问题提炼 ............................................................ 24
1.6.2数据采集 ............................................................ 25
1.6.3模型构建 ............................................................ 26
1.6.4算法实现 ............................................................ 26
1.6.5模型训练 ............................................................ 26
1.6.6模型验证 ............................................................ 26
1.6.7模型改进 ............................................................ 27
1.6.8模型运用 ............................................................ 27
1.7应用实践 ................................................................... 27
第 1章习题 ...................................................................... 29
第 2章人工智能与机器学习 ........................................................ 30
2.1人工智能简介 ...............................................................30
2.1.1人工智能 +农业 .................................................... 31
2.1.2人工智能 +教育 .................................................... 31
2.1.3人工智能 +工业 .................................................... 31
2.1.4人工智能 +金融 .................................................... 32
2.2人工智能前沿 ...............................................................32
2.3人工智能简史 ...............................................................33
2.4人工智能流派 ...............................................................34
2.4.1符号主义学派 ........................................................35
2.4.2联结主义学派 ........................................................36
2.4.3行为主义学派 ........................................................37
2.5人工智能基础 ...............................................................37
2.5.1运筹学...............................................................38
2.5.2最优化控制 .......................................................... 38
2.5.3交叉学科 ............................................................ 39
2.5.4人工智能和机器学习相关会议 ........................................ 39
2.6机器学习分类 ...............................................................39
2.6.1监督学习 ............................................................ 41
2.6.2无监督学习 .......................................................... 41
2.6.3强化学习 ............................................................ 43
2.7机器学习基础 ...............................................................44
2.7.1激活函数 ............................................................ 44
2.7.2损失函数 ............................................................ 46
2.7.3优化算法 ............................................................ 50
2.8应用实践 ................................................................... 57 第 2章习题 ...................................................................... 58 第 3章深度学习入门 ...............................................................59
3.1深度学习简介 ...............................................................59
3.1.1深度学习与人工智能 ................................................. 59
3.1.2深度学习与机器学习 ................................................. 59
3.1.3深度学习与表示学习 ................................................. 61
3.2深度神经网络 ...............................................................62
3.2.1深度神经网络构建 ................................................... 62
3.2.2深度神经网络实例 ................................................... 64
3.3深度卷积神经网络 .......................................................... 68
3.4深度循环神经网络 .......................................................... 69
3.5深度图神经网络.............................................................71
3.5.1图神经网络简介 ..................................................... 72
3.5.2图神经网络聚合函数 ................................................. 72
3.5.3图神经网络更新函数 ................................................. 72
3.5.4图神经网络池化函数 ................................................. 73
3.6深度神经网络训练 .......................................................... 73
3.6.1模型训练挑战 ........................................................73
3.6.2数据预处理 .......................................................... 74
3.6.3参数初始化 .......................................................... 75
3.6.4学习率调整 .......................................................... 76
3.6.5梯度优化算法 ........................................................77
3.6.6超参数优化 .......................................................... 78
3.6.7正则化技术 .......................................................... 80
3.7应用实践 ................................................................... 80
3.7.1 TensorFlow安装.....................................................81
3.7.2 TensorFlow基本框架 ................................................ 81
3.7.3 TensorBoard.........................................................82
3.7.4 scikit-learn .......................................................... 82
3.7.5 Keras................................................................83 第 3章习题 ...................................................................... 83 第 4章强化学习入门 ...............................................................84
4.1强化学习简介 ...............................................................84
4.2马尔可夫决策过程 .......................................................... 86
4.3动态规划方法 ...............................................................87
4.3.1策略函数 ............................................................ 88
4.3.2奖励函数 ............................................................ 88
4.3.3累积回报 ............................................................ 89
4.3.4状态值函数 .......................................................... 89
4.3.5状态-动作值函数 .....................................................90
4.3.6状态-动作值函数与状态值函数的关系 ................................ 90
4.3.7 Bellman方程 ........................................................ 91
4.3.8策略迭代算法 ........................................................92
4.3.9值函数迭代算法 ..................................................... 95
4.4蒙特卡洛方法 ...............................................................97
4.4.1蒙特卡洛估计 ........................................................97
4.4.2蒙特卡洛强化学习算法伪代码 .......................................100
· VII ·
4.5时序差分学习 ..............................................................100
4.5.1时序差分学习算法 .................................................. 100
4.5.2时序差分学习算法、动态规划和蒙特卡洛算法比较 .................. 101
4.5.3 Q-learning..........................................................102
4.5.4 SARSA.............................................................104
4.6策略梯度方法 ..............................................................105
4.7应用实践 .................................................................. 110
4.7.1强化学习的智能交易系统框架 .......................................110
4.7.2智能交易系统环境模型编程 ......................................... 110 第 4章习题 .....................................................................116 第 5章深度强化学习 Q网络 ..................................................... 117
5.1深度 Q网络 ............................................................... 117
5.1.1智能策略 ........................................................... 117
5.1.2策略函数与 Q表格 ................................................. 118
5.1.3策略函数与 Q网络 ................................................. 120
5.2 DQN算法介绍 ............................................................ 121
5.2.1经验回放 ........................................................... 121
5.2.2目标网络 ........................................................... 122
5.3 DQN算法 .................................................................123
5.4 DoubleDQN .............................................................. 125
5.4.1 Double DQN背景 .................................................. 125
5.4.2双 Q网络结构......................................................126
5.4.3 Double DQN算法伪代码 ........................................... 127
5.5 Dueling DQN..............................................................128
5.5.1 Dueling DQN算法框架简介 ........................................ 128
5.5.2 Dueling DQN算法核心思想 ........................................ 128
5.6 Distributional DQN ....................................................... 129
5.7 DQN的其他改进 .......................................................... 130
5.7.1优先级经验回放 .................................................... 131
5.7.2噪声网络 DQN ..................................................... 132
5.7.3多步(Multi-step)DQN............................................134
5.7.4分布式训练 ......................................................... 135
5.7.5 DQN算法改进 ..................................................... 136
5.7.6 DQN算法总结 ..................................................... 136
5.8应用实践 .................................................................. 137
5.8.1智能投资决策系统 .................................................. 137
5.8.2核心代码解析 .......................................................139
5.8.3模型训练 ........................................................... 140
5.8.4模型测试 ........................................................... 142 第 5章习题 .....................................................................143 第 6章深度策略优化方法 ......................................................... 144
6.1策略梯度方法简介 ......................................................... 144
6.1.1 DQN的局限 ....................................................... 144
6.1.2策略梯度方法分类 .................................................. 145
6.2随机性策略梯度算法 ....................................................... 147
6.2.1轨迹数据 ........................................................... 147
6.2.2目标函数 ........................................................... 147
6.2.3梯度计算 ........................................................... 148
6.2.4更新策略 ........................................................... 150
6.3随机性策略梯度定理 ....................................................... 150
6.3.1随机性策略梯度定理介绍 ........................................... 150
6.3.2随机性策略梯度定理分析 ........................................... 151
6.4策略梯度优化几种实现方法 ................................................ 152
6.4.1策略梯度优化理论 .................................................. 152
6.4.2完整轨迹的累积奖励回报 ........................................... 152
6.4.3部分轨迹的累积奖励回报 ........................................... 153
6.4.4常数基线函数 .......................................................153
6.4.5基于状态的基线函数 ................................................153
6.4.6基于状态值函数的基线函数 ......................................... 154
6.4.7基于自举方法的梯度估计 ........................................... 154
6.4.8基于优势函数的策略梯度优化 .......................................154
6.5深度策略梯度优化算法.....................................................155
6.6置信阈策略优化算法 ....................................................... 157
6.6.1置信阈策略优化算法介绍 ........................................... 157
6.6.2重要性采样 ......................................................... 158
6.6.3置信阈策略优化算法核心技巧 .......................................160
6.6.4置信阈策略优化算法伪代码 ......................................... 160
6.7近端策略优化算法 ......................................................... 162
6.7.1近端策略优化算法介绍..............................................162
6.7.2近端策略优化算法核心技巧 ......................................... 162
6.7.3近端策略优化算法(PPO2)伪代码 .................................164
6.8应用实践 .................................................................. 165
6.8.1模型参数 ........................................................... 166
6.8.2模型训练 ........................................................... 167
· IX ·
6.8.3模型测试 ........................................................... 167 第 6章习题 .....................................................................168 第 7章深度确定性策略梯度方法 .................................................. 169
7.1确定性策略梯度方法应用场景 ..............................................169
7.2策略梯度方法比较 ......................................................... 170
7.3确定性策略函数的深度神经网络表示 ....................................... 172
7.4确定性策略梯度定理 ....................................................... 173
7.5深度确定性策略梯度算法 .................................................. 175
7.5.1算法核心介绍 .......................................................175
7.5.2经验回放 ........................................................... 176
7.5.3目标网络 ........................................................... 176
7.5.4参数软更新 ......................................................... 177
7.5.5深度确定性策略梯度算法伪代码 .................................... 178
7.6孪生延迟确定性策略梯度算法 ..............................................179
7.6.1 TD3算法介绍 ...................................................... 179
7.6.2 TD3算法的改进 ....................................................179
7.6.3 TD3算法伪代码 ....................................................181
7.7应用实践 .................................................................. 183
7.7.1核心代码解析 .......................................................183
7.7.2模型训练 ........................................................... 184
7.7.3模型测试 ........................................................... 184 第 7章习题 .....................................................................185 第 8章 Actor-Critic算法 ........................................................186
8.1 Actor-Critic简介 .......................................................... 186
8.2 AC算法 ...................................................................187
8.2.1 AC算法介绍 ....................................................... 187
8.2.2 AC算法参数更新...................................................188
8.2.3 AC算法伪代码 ..................................................... 189
8.3 A2C算法..................................................................190
8.3.1 A2C算法介绍 ...................................................... 190
8.3.2优势函数和基线函数 ................................................192
8.3.3 A2C算法伪代码 ....................................................193
8.4 A3C算法..................................................................193
8.4.1 A3C算法介绍 ...................................................... 194
8.4.2 A3C算法的改进和优化 .............................................194
8.4.3 A3C算法伪代码 ....................................................196
8.5 SAC算法 ................................................................. 197
8.5.1 SAC算法介绍 ...................................................... 197
8.5.2智能体动作多样性 .................................................. 198
8.5.3 SAC算法理论核心 ................................................. 199
8.5.4 SAC算法伪代码....................................................201
8.6应用实践 .................................................................. 203
8.6.1核心代码解析 .......................................................203
8.6.2模型训练 ........................................................... 204
8.6.3模型测试 ........................................................... 204 第 8章习题 .....................................................................205 第 9章深度强化学习与规划 .......................................................206
9.1学习与规划 ................................................................ 206
9.2基于模型的深度强化学习 .................................................. 207
9.2.1深度强化学习模型分类..............................................207
9.2.2深度强化学习中的学习模块 ......................................... 208
9.2.3深度强化学习中的规划模块 ......................................... 209
9.3 Dyna框架 .................................................................210
9.3.1 Dyna框架介绍 ..................................................... 210
9.3.2 Dyna框架的模型学习 .............................................. 211
9.4 Dyna-Q算法 .............................................................. 212
9.4.1 Dyna-Q算法介绍...................................................212
9.4.2 Dyna-Q算法伪代码 ................................................ 213
9.5 Dyna-Q改进 .............................................................. 215
9.6 Dyna-2框架 ...............................................................217
9.7应用实践 .................................................................. 218
9.7.1编程实践模块介绍 .................................................. 218
9.7.2 Gym ............................................................... 218
9.7.3强化学习代码库 .................................................... 219 第 9章习题 .....................................................................221 第 10章深度强化学习展望 ........................................................223
10.1深度强化学习背景 ........................................................ 223
10.1.1源于学科交叉 ..................................................... 223
10.1.2用于序贯决策 ..................................................... 223
10.1.3强于深度学习 ..................................................... 224
10.2深度强化学习简史 ........................................................ 224
10.2.1游戏控制崭露头角 ................................................. 224
10.2.2 AlphaGo风靡全球 ................................................ 225
10.2.3通用智能备受期待 ................................................. 225
· XI ·
10.3深度强化学习分类 ........................................................ 226
10.3.1基于值函数和基于策略函数的深度强化学习 ........................ 226
10.3.2基于模型和无模型的深度强化学习 ................................. 226
10.3.3异策略和同策略学习 ...............................................228
10.4深度强化学习面临的挑战 ................................................. 228
10.4.1样本效率 .......................................................... 228
10.4.2灾难性遗忘 ........................................................229
10.4.3虚实映射鸿沟 ..................................................... 230
10.4.4有效表征学习 ..................................................... 231
10.4.5可拓展性与规模化 ................................................. 232
10.4.6延迟奖励 .......................................................... 233
10.4.7稀疏奖励 .......................................................... 233
10.4.8探索和利用 ........................................................234
10.4.9复杂动态环境 ..................................................... 235
10.5深度强化学习前沿 ........................................................ 236
10.5.1多智能体深度强化学习 ............................................ 236
10.5.2深度逆向强化学习 ................................................. 237
10.5.3模仿学习 .......................................................... 238
10.5.4行为克隆 .......................................................... 239
10.5.5图强化学习 ........................................................241
10.6深度强化学习实践 ........................................................ 241
10.6.1深度强化学习建模框架 ............................................ 241
10.6.2深度强化学习模型的核心模块......................................242 第 10章习题 ....................................................................245
深度强化学习——算法原理与金融实践入门,将算法原理与金融实践结合,让读者深入理解深度强化学习的原理
谢文杰,男,湖南浏阳人,应用数学博士,上海市晨光学者。现任职华东理工大学商学院金融学系副教授、硕士研究生导师、金融物理研究中心成员,主要研究复杂金融网络、机器学习、深度强化学习、金融风险管理等。获2016年度上海市自然科学奖二等奖(4/5),主持完成4项国家或省部级科研项目。
周炜星,男,浙江诸暨人。教育部青年长江学者、上海领军人才、教育部新世纪优秀人才、上海市曙光学者、上海市青年科技启明星。现任职于华东理工大学商学院、数学学院,二级教授,博士生导师,金融物理研究中心主任。现兼任中国优选法统筹法与经济数学研究会理事、风险管理分会副理事长,中国系统工程学会理事、金融系统工程专业委员会副主任,管理科学与工程学会理事、金融计量与风险管理分会副理事长,中国工业统计教学研究会金融科技与大数据技术分会副理事长,中国数量经济学会经济复杂性专业委员会副理事长,中国复杂性科学学会副理事长。主要从事金融物理学、经济物理学和社会经济系统复杂性研究,以及相关领域大数据分析。