首页 > 自考资讯 > 自考知识

手机上就能学!Pytorch深度学习教程手把手教你从DQN到Rainbow

头条共创 2024-06-27

敖飞寺鱼羊

量子比特报告| 公众号QbitAI

为什么不学习一些深刻的课程,让你在难以忍受的炎热夏季平静下来呢?

这是一个方便的分步教程,可帮助您开始深度强化学习。这包括所有的背景理论和代码实现。无需安装即可在线获取。

赶紧获取教程,看看里面有哪些宝藏和知识吧~

步步深入RL

这个Pytorch强化学习教程共有8章,从DQN(Deep Q-Learning)开始,一步步深入,最后向你展示Rainbow的全部内容。

除了Jupyter Notebook之外,作者还在Colab上配置了代码。无需安装即可直观感受到算法的效果,也可以直接在手机上学习。

a0286ad205144e55937d7da67bf75a31~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=T%2BZkAewsYkwRONiMbKIN%2BzHy07U%3D1.DQN

开始使用DeepRL 的第一步是了解DQN(深度Q 学习)。这是DeepMind提出的算法,并于2015年在Nature上列出。我们首次将深度神经网络和强化学习结合起来,实现从感知到行动的端到端学习,在多款雅达利游戏中达到超人水平。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/01.dqn.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/01.dqn.ipynb#scrollTo=nEcnUNg8Sn3I

ae31e12649bd47d5ac94734c1ffe4185~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=dFXsMUSQ6M3Zm7tzPU0ZV3d5N8c%3DColab在线培训

74d1736e4155497c888fcd4a68878ba8~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=L7IOF9b4izvbBtMZr1nVUyc7Z2A%3D2。双DQN。

双DQN (DDQN) 是DQN 的改进。在DDQN之前,基本上所有的目标Q值都是通过贪心法获得的,这往往会造成高估问题。 DDQN将目标Q值的最大动作分解为动作选择和动作评估两个步骤,有效解决了这一问题。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/02.double_q.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/02.double_q.ipynb

38d9b9764ee74784aa83565e1b9900d1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=vO4qon3cMWctaoVMBskdQqtdckI%3D3.优先体验回放

该算法的核心是在从经验池中提取过去的经验样本时引入优先级的概念。换句话说,优先级的大小影响样本被采样的概率。

使用这种方法增加了重要经验被再现的概率,使得算法更容易收敛,相应地提高了学习效率。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/03.per.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/03.per.ipynb

27761a71c7ba4225abc6f991df6360d9~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=jWE3KZk6AWcCkD6%2FQYLNsRgZuHw%3D

4.对决网络

Dueling DQN 通过优化神经网络的结构来优化算法。 Dueling Networks 使用两个子网络分别估计每个动作的状态值和收益。

e981322a3f5f4298a66ff1c6dc080f3a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=W3d1Laf%2BMqBFr0%2FR9%2B1lbKC2OG4%3DPytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/04.dueling.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/04.dueling.ipynb

5. 嘈杂的网络

NoisyNet 通过学习网络权重的扰动来驱动探索。重要的是,权重向量的单个更改可能会触发潜在的非常复杂的、与状态相关的策略更改,该更改在多个时间步长上是一致的。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/05.noisy_net.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/05.noisy_net.ipynb

6. 分类DQN (C51)

分类DQN是从分布角度设计的算法,使得学习结果更加准确。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/06.categorical_dqn.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/06.categorical_dqn.ipynb

7.N步学习

DQN使用当前即时奖励和下一时刻的估计作为目标值,因此学习速度可以相对较慢。事实上,可以使用前瞻多步目标。 N步学习通过调整多步目标n来加速学习。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/07.n_step_learning.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/07.n_step_learning.ipynb

8. 彩虹

前七章的伏笔让我们明白了彩虹的真正含义。

Rainbow是一种结合了DQN的多种扩展算法的新算法,在数据效率和最终性能方面显示出令人惊讶的结果。

e680f1c666af4442b11f03411e463900~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=nrhi83CZEJ3xvaiOnNOYZzNy19I%3D 然而,集成并不是一个小问题,本教程也讨论了这一点。

Pytorch Jupyter 笔记本:

https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/08.rainbow.ipynb

合作:

https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/08.rainbow.ipynb#scrollTo=ougv5VEKX1d1

当然,笔者表示,系统地学习是一个非常好的选择。

学习小技巧

如果您想在本地运行此代码,请参阅以下提示:

首先说一下运行环境。

$ conda create -n Rainbow_is_all_you_need python=3.6.1$ conda activate Rainbow_is_all_you_need 开始安装过程。首先,克隆存储库。

62bed6448a834e9697f05a1c453857be~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720101927&x-signature=EAMvrrGyzmBBDusLRRLSjN5uYsw%3D 接下来,安装运行代码所需的软件包。这很容易。

make dep 现在开始学习吧~

- 就这样-

诚信招聘

量子比特现招聘一名编辑/记者,驻地北京中关村。我们正在寻找有才华和热情的学生加入我们!详情请在量子位公众号(QbitAI)对话界面回复“招聘”。

量子位QbitAI·今日头条署名作者

追踪AI技术和产品新进展

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢