一鸣参与

深度强化学习入门难?这份资料手把手教会你

深度强化学习在机器学习领域的热度一直很高。最近,GitHub 开源了一份深度强化学习的教程,总结了从 DQN 到彩虹模型的理论和代码实现。读者朋友可以根据需要学习研究。教程代码基于 PyTorch,可在 Colab 中运行。

深度强化学习是强化学习中的重要研究领域。这一技术使用深度神经网络,提升智能体在训练中的表现。而目前深度强化学习教程较为零散,使得入门这一领域较为困难。近日,两位来自韩国的机器学习研究员整理了深度强化学习的相关教程和代码,并在 GitHub 上开源。代码基于 PyTorch,用户可以在 Colab 中运行。这一项目在 Reddit 上获得高赞。

教程地址:https://github.com/Curt-Park/rainbow-is-all-you-need

教程里有什么

根据 GitHub 页面的介绍,教程总共分为八个章节,从 DQN 开始,逐渐深入,最终一章为彩虹模型。每个章节都包括理论介绍和面向对象的实现。

以第一章的 DQN 代码为例:

1. 定义一个由三个全连接层组成的网络,将这一网络作为智能体的主体:

2. 定义智能体等,其中「select_action」函数定义选择策略的方式,「step」定义每一步智能体和环境交互获得的 reward,「update_model」定义梯度下降的方法。

教程目录

1. DQN

2. DoubleDQN

3. 优先经验回放(PrioritizedExperienceReplay)

4. DuelingNet

5. NoisyNet

6. CategoricalDQN

7. N-步学习(N-stepsLearning)

8. 彩虹模型(Rainbow)

安装方法

怎样使用这份教程呢?首先,用户需要从 GitHub 克隆代码并进入项目目录:

git clone https://github.com/Curt-Park/raibow-is-all-you-need.git
cd rainbow-is-all-you-need

接下来安装项目依赖即可:

make dep
入门DQN彩虹模型深度强化学习
1
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~