《深入浅出强化学习编程实战》求取 ⇩

第0篇先导篇1

1一个极其简单的强化学习实例2

1.1多臂赌博机2

1.1.1 ε-greedy策略3

1.1.2 玻尔兹曼策略6

1.1.3 UCB策略7

1.2 多臂赌博机代码实现7

2马尔可夫决策过程13

2.1从多臂赌博机到马尔可夫决策过程13

2.2 马尔可夫决策过程代码实现23

第1篇基于值函数的方法31

3基于动态规划的方法32

3.1策略迭代与值迭代32

3.1.1 策略迭代算法原理33

3.1.2 值迭代算法原理35

3.2策略迭代和值迭代的代码实现36

3.2.1 鸳鸯环境的修改36

3.2.2 策略迭代算法代码实现37

3.2.3 值迭代算法代码实现41

4基于蒙特卡洛的方法45

4.1蒙特卡洛算法原理46

4.2蒙特卡洛算法的代码实现49

4.2.1 环境类的修改和蒙特卡洛算法类的声明49

4.2.2 探索初始化蒙特卡洛算法实现52

4.2.3 同策略蒙特卡洛算法实现56

5基于时间差分的方法62

5.1从动态规划到时间差分强化学习62

5.2时间差分算法代码实现66

5.2.1 时间差分算法类的声明66

5.2.2 SARSA算法67

5.2.3 Q-Learning算法70

6基于函数逼近的方法74

6.1从表格型强化学习到线性函数逼近强化学习74

6.1.1 表格特征表示74

6.1.2 固定稀疏表示75

6.1.3 参数的训练76

6.2 基于线性函数逼近的Q-Learning算法实现76

6.3 非线性函数逼近DQN算法代码实现85

第2篇直接策略搜索的方法95

7策略梯度方法96

7.1算法基本原理及代码架构96

7.1.1 策略的表示问题97

7.1.2 随机策略梯度的推导98

7.1.3 折扣累积回报99

7.1.4 代码架构101

7.2离散动作:CartPole实例解析及编程实战103

7.2.1 CartPole简介103

7.2.2 问题分析及MDP模型104

7.2.3 采样类的Python源码实现105

7.2.4 策略网络模型分析106

7.2.5 策略网络类的Python源码实现108

7.2.6 策略网络的训练与测试110

7.2.7 用策略梯度法求解Cartpole的主函数112

7.2.8 CartPole仿真环境开发113

7.3连续动作Pendulum实例解析及编程实战117

7.3.1 Pendulum简介118

7.3.2 采样类的Python源代码实现118

7.3.3 策略网络模型分析120

7.3.4 策略网络类的Python源码实现121

7.3.5 策略网络的训练与测试125

7.3.6 用策略梯度法求解Pendulum的主函数126

7.3.7 Pendulum仿真环境开发127

8Actor-Critic方法131

8.1Actor-Critic原理及代码架构131

8.1.1 Actor-Critic基本原理131

8.1.2 Actor-Critic算法架构133

8.2TD-AC算法133

8.2.1 采样类的Python源码134

8.2.2 策略网络的Python源码135

8.2.3 策略训练和测试138

8.2.4 主函数及训练效果140

8.3Minibatch-MC-AC算法141

8.3.1 Minibatch-MC-AC算法框架141

8.3.2 采样类的Python源码142

8.3.3 策略网络的Python源码144

8.3.4 策略的训练和测试147

8.3.5 主函数及训练效果149

9PPO方法151

9.1 PPO算法基本原理及代码结构151

9.2Python源码解析154

9.2.1 采样类154

9.2.2 策略网络156

9.2.3 策略的训练和测试159

9.2.4 主函数及训练效果160

10DDPG方法163

10.1 DDPG基本原理163

10.2Python源码解析167

10.2.1 经验缓存器类167

10.2.2 策略网络类169

10.2.3 训练和测试173

10.2.4 主函数及训练效果175

第3篇基于模型的强化学习方法177

11基于模型预测控制的强化学习算法178

11.1基于模型的强化学习算法的基本原理178

11.1.1 神经网络拟合动力学模型179

11.1.2 模型预测控制179

11.1.3 基于模型的强化学习算法伪代码180

11.2Python源码实现及解析181

11.2.1 数据收集类181

11.2.2 数据采样类181

11.2.3 动力学网络类182

11.2.4 模型预测控制器类185

11.2.5 模型训练和预测函数186

11.2.6 主函数188

12AIphaZero原理浅析190

12.1 从AlphaGo到AlphaZero191

12.2蒙特卡洛树搜索算法196

12.2.1 博弈树和极小极大搜索196

12.2.2 再论多臂老虎机问题198

12.2.3 UCT算法200

12.3基于自我对弈的强化学习206

12.3.1 基于MCTS的自我对弈206

12.3.2 策略价值网络的训练210

13AIphaZero实战:从零学下五子棋214

13.1 构建简易的五子棋环境215

13.2 建立整体算法流程223

13.3 实现蒙特卡洛树搜索229

13.4 实现策略价值网络235

13.5 训练实验与效果评估240

附录APyTorch入门246

A.1PyTorch基础知识246

A.1.1 Tensor246

A.1.2 基础操作247

A.1.3 Tensor和NumPy array间的转化249

A.1.4 Autograd:自动梯度249

A.2PyTorch中的神经网络250

A.2.1 如何定义神经网络251

A.2.2 如何训练神经网络254

A.2.3 在CIFAR-10数据集上进行训练和测试256

A.2.4 模型的保存和加载259

参考文献261

后记263

2020《深入浅出强化学习编程实战》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。