DQN 强化学习 - PyTorch | 莫烦Python
切换视频源:

DQN 强化学习

作者: 莫烦 编辑: 莫烦 2017-05-12

学习资料:

要点

Torch 是神经网络库, 那么也可以拿来做强化学习, 之前我用另一个强大神经网络库 Tensorflow 来制作了这一个 从浅入深强化学习教程, 你同样也可以用 PyTorch 来实现, 这次我们就举 DQN 的例子, 我对比了我的 Tensorflow DQN 的代码, 发现 PyTorch 写的要简单很多. 如果对 DQN 或者强化学习还没有太多概念, 强烈推荐我的这个DQN动画短片, 让你秒懂DQN. 还有强推这套花了我几个月来制作的强化学习教程!

模块导入和参数设置

这次除了 Torch 自家模块, 我们还要导入 Gym 环境库模块, 如何安装 gym 模块请看这节教程.

神经网络

DQN 当中的神经网络模式, 我们将依据这个模式建立两个神经网络, 一个是现实网络 (Target Net), 一个是估计网络 (Eval Net).

DQN体系

简化的 DQN 体系是这样, 我们有两个 net, 有选动作机制, 有存经历机制, 有学习机制.

接下来就是具体的啦, 在 DQN 中每个功能都是怎么做的.

训练

按照 Qlearning 的形式进行 off-policy 的更新. 我们进行回合制更行, 一个回合完了, 进入下一回合. 一直到他们将杆子立起来很久.

所以这也就是在我 github 代码 中的每一步的意义啦.

附加 A3C

强化学习中还有一个非常厉害的算法, 叫做 A3C. 我做过一个这个算法的简介视频, 它非常合理地运用了多核计算机的能力, 让我们能使用多个核来训练强化学习. 我也用 pytorch 将这个算法给实现了. 代码非常简单, 可以用来做连续动作的环境. 训练的效果可以看到这里.

6-3-8.png


降低知识传递的门槛

莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。