当前位置:   article > 正文

DRL入门

drl

目录

1. DRL的核心概念

2. 算法分类

1、免模型学习和有模型学习(理不理解所处的环境)

2、基于策略(概率)的方法和基于价值的方法

3、回合更新和单步更新:

4、在线学习和离线学习

文献

1. Deep Reinforcement Learning: A Survey

1.1 大纲

1.2 重点提炼

2. Neural architecture search with reinforcement learning


1. DRL的核心概念

状态和观察(states and observations)

动作空间(action spaces)

策略(policies)

行动轨迹(trajectories)

不同的回报公式(formulations of return)

强化学习优化问题(the RL optimization problem)

值函数(value functions)

参考:强化学习中的核心概念

2. 算法分类

分类方法:

1、免模型学习和有模型学习(理不理解所处的环境)

       Model-Free:Q-Learning、Sarsa、Policy Gradients

       Model-Based:多了为现实世界建模的过程,多了一个虚拟环境、可通过想象。

2、基于策略(概率)的方法和基于价值的方法

       Policy-Based:输出下一步采取的各种行动的概率,根据概率选取行动,每种action都可能选到;通过概率分布可以处理连续动作。Policy Gradients

       Value-Based:输出所有行动的价值,根据最高价值选择动作。不能处理连续的动作。Q-Learning、Sarsa。

Actor-Critic:结合概率和价值的另一种方法

       Actor:根据概率做出动作

       Critic:根据动作给出价值

3、回合更新和单步更新:

       回合更新:玩完整个游戏才能总结过程中的转折点,然后学习。基础版Policy Gradients、Monte-Carlo Learning

       单步更新:边玩边学习。升级版Policy Gradients、Sarsa、Q-Learning

4、在线学习和离线学习

       On-Policy:Sarsa、Sarsa(λ)

       Off-Policy:Q-Learning 、Deep Q Network

       在线学习(Online Learning)和离线学习(Offline Learning)是两种在机器学习领域中常见的学习范式。它们主要的区别在于学习过程中数据的访问方式和应用环境。

       在线学习:

       在线学习是一种连续的学习方式,即用户不断接收并处理新数据。在在线学习情况下,模型基于一个接一个地单独训练样本进行训练和更新,这使得它能实时地学习和适应新的数据变化。

可以处理大量无法一次性存储在内存中的数据,是一种典型的大数据处理方式。

       在线学习特别适合那些需要实时反馈和更新的任务,例如信用卡涉诈等金融领域应用,网络安全,搜索引擎优化等。

       离线学习:

       离线学习是指首先收集全部的训练数据,然后基于这些训练数据一次性地训练模型。在离线学习中,所有的训练数据必须在学习开始前就已经可用。

       离线学习的一大优点是可以进行批处理,一次调整参数使用的是全部数据。这使得它在处理规模较小,并且不需要实时更新的情况下往往可以得到更好的学习结果。

       离线学习适应于数据量相对较小,且基本稳定无需频繁更新的场景,如一些传统的分类,回归任务等。

       在强化学习中,这两种学习方式也有不同的表现。如离线强化学习(Offline RL)是一种在不再与环境交互的情况下,仅使用过去的经验进行学习的方法。这是一种有效利用资源,降低训练成本的策略,尤其在实验成本高昂或环境交互有限的情况下。然而,在不再收集新的经验的情况下,离线RL需要面对无法探索新的可能性并可能过度拟合过去经验的问题。在线强化学习(Online RL)则是一种模型在与环境交互的过程中逐步学习和改进策略的学习方式,能够实时探索新的策略并获得更好的性能,但需要良好的探索策略以及较高的环境交互成本。

参考:强化学习方法汇总 (Reinforcement Learning)_哔哩哔哩_bilibili

文献

1. Deep Reinforcement Learning: A Survey

1.1 大纲

1 引言

2 背景

       2.1 强化学习(Reinforcement Learning)

              2.1.1 马尔可夫决策过程(Markov Decision Process)

              2.1.2 贝尔曼方程(Bellman Equations)

              2.1.3 在线学习和离线学习(On-Policy and Off-Policy Methods)

              2.1.4 动态规划方法(Dynamic Programming Methods)

              2.1.5 蒙特卡罗方法(Monte Carlo Methods)

              2.1.6 时间差分法(Temporal Difference Methods)

              2.1.7 策略梯度理论(Policy Gradient Theorem)

              2.1.8 演员评论家方法(Actor-Critic Methods)

       2.2 深度学习(Deep Learning)

3 基于价值的DRL方法(VALUE-BASED DRL METHODS)

       3.1 Deep Q-Learning

              1)Deep Q Network

              2)Experience Replay

              3)Target Network

       3.2 Double DQN

       3.3 Prioritized Experience Replay

       3.4 Dueling Architecture

       3.5 Noisy Network

       3.6 Multistep Learning

       3.7 Distributional Approach

       3.8 Other Improvements and Variants

4 基于策略的 DRL方法(POLICY-BASED DRL METHODS)

       4.1 优势演员批评家方法(Advantage Actor-Critic Methods)

       4.2 基于信任域的方法(Trust Region-Based Algorithms)

       4.3 确定性策略梯度(Deterministic Policy Gradient)

5 最大熵DRL(MAXIMUM ENTROPY DRL)

     5.1 最大熵强化学习框架(Maximum Entropy Reinforcement Learning Framework)

       5.2 Soft Q-Learning and SAC

6 进一步的研究主题

       6.1 基于模型的方法(Model-Based Methods)

       6.2 分层深度强化学习(Hierarchical Deep Reinforcement Learning

       6.3 多智能体深度强化学习Multiagent Deep Reinforcement Learning

       6.4 从示范中学习(Learning From Demonstrations)

       6.5 元强化学习(Meta-Reinforcement Learning)

       6.6 离线强化学习(Offline Reinforcement Learning)

       6.7 强化学习中的迁移学习(Transfer Learning in Reinforcement Learning)

1.2 重点提炼

深度强化学习(DRL)是深度学习(DL)和强化学习(RL)的结合,主要应用于解决决策问题。在DRL的过程中,一般需要以下几个重要的参数:

状态(State): 状态是指智能体在环境中的当前情况,这可能包括智能体自身的属性,以及智能体与环境的相互作用。

动作(Action): 动作是指智能体在环境中所采取的行为,例如向前走、向后退、跳跃等。

策略(Policy): 策略是指在特定状态下智能体选择某一动作的概率。在实践中,我们希望通过学习找到强化学习问题的最优策略,即为每种状态指定一个能使获得的总奖励最大化的动作。

奖励(Reward): 奖励是指智能体在环境中采取某个动作后所得到的反馈,通常以数值的形式给出。奖励的目的是在强化学习过程中引导智能体。

回报/累积奖励(Return): 回报是指智能体在整个时间过程中获得的奖励之和,可能包含立即奖励和未来奖励。

价值函数(Value Function): 价值函数用来估计特定状态或特定状态-动作对的未来回报的期望值,通常用于在确定策略时帮助智能体做出决策。

折扣因子(Discount Factor,γ): 折扣因子是用于确定未来奖励相对于立即奖励的相对重要性。折扣因子越接近1,未来奖励对价值函数的影响越大。

可以用(S,A,P,R,γ)来描述强化学习过程。

基于学习目标进行分类

1、基于价值的算法:

       这些算法主要在于学习一个函数来估计每个状态或状态-动作对的价值。牵头的例子包括Q-learning和它的变体,例如Deep Q Networks (DQN)。DQN结合了神经网络和Q学习的方法,通过一个名为“经验重放的”机制来解决数据之间的关联性以及非稳定目标问题。

2、基于策略的算法:

       这些算法试图学习一个映射,从观察到动作,直接或间接的优化策略。一些示例包括策略梯度方法和自由能方程法,它们可以处理连续的行动空间。

3、基于最大熵的算法:

       这些算法在优化一个目标函数的时候考虑了熵的增大,从而保持一种策略的多样性。这可以增强探索行为以及防止过早的收敛。

不同的DRL算法有其各自的优点,并且这些优点是相互补充的。他们研究了double DQN, prioritized experience replay, dueling network, noisy network, multistep learning, 和 distributional DQN,所有这些扩展技术都有可取之处,例如优化样本效率、增强稳定性、提高性能等。

区别:

基于策略的算法和基于价值的算法是强化学习的两种主要类型,并且他们在处理问题和训练方式上有一些重要的区别:

基于价值的算法:基于价值的强化学习方法,如Q-learning或Deep Q Networks (DQN),主要关注的是学习一个价值函数,这个价值函数可以评估在给定状态下执行特定动作的预期收益。通过学习这个价值函数,代理可以选择最优的动作来执行,即选择可以使价值函数值最大的那个动作。这种方法的好处是通常采样效率好,但是不适用于连续的行动空间

基于策略的算法:基于策略的方法,如Policy Gradients 或 REINFORCE,利用梯度上升直接优化策略。策略被定义为一个映射函数,从观察到动作的概率分布。其优势在于它们能处理连续的行动空间,而且策略梯度算法旨在找到一种策略,使得预期的总回报最优。但是,策略梯度经常需要较大数量的样本来进行训练,可能因此训练过程会慢一些。

总的来说,两种方法各有其优势和局限性,且根据应用的具体环境和需求,它们可以相互补充。在实际问题中,研究者常常会采用叫做Actor-Critic的方法,这是一种结合价值和策略的方法,以充分利用这两种优势。

深度强化学习(DRL)是合并深度学习和强化学习两个领域的研究成果,形成的一种学习方法。将深度学习的强大学习表示能力和强化学习的环境交互,策略迭代思想结合在一起。深度强化学习在许多领域已经取得了突破性的进展,如游戏、机器人技术、自动驾驶等。

算法种类和特征:深度强化学习算法主要分为基于价值的算法,基于策略的算法以及基于最大熵的算法。其中,基于价值的算法(如Q-learning和它的变体DQN)致力于学习一个函数,用以估计每个状态或状态-动作对的价值。基于策略的算法(如策略梯度方法和自由能方程法)则试图学习一个映射,从观察到动作,并直接或间接的优化策略。基于最大熵的算法在优化目标的同时,也考虑熵的最大化,从而保持策略的多样性。

转移学习在强化学习中的应用:转移学习也在强化学习中起着重要的作用。在许多情况下,我们希望学习到的知识能够转换到其他任务或环境中。这要求算法能够抽取出更一般的知识,而不仅仅是特定环境的知识。

论文阅读和理解:在阅读深度强化学习相关论文时,需要提出和解答一些关键问题,如论文的主旨,算法的详细过程,实验的有效性等。

以上的总结都基于数据集中提供的信息。深度强化学习本身是一个快速发展的研究领域,还有许多其他的深度强化学习技术比如DPG,DDPG,TRPO,PPO,SAC等。为了获取更全面的理解,建议阅读更多相关的论文和书籍。

2. Neural architecture search with reinforcement learning

注意论文中的哪些部分是搜索空间、搜索策略、评价结果的指标。

NAS算法自动搜索的基本思想:围绕搜索空间、搜索策略以及评价搜索的指标三个维度展开搜索最优的网络,先确定在哪些模块(卷积,池化等等)里面搜索组合一个网络,然后用什么样的方式组合我们的网络,最后得出的网络我们如何评价它是否好用。

背景:

手工设计网络需要丰富的经验与实验,甚至有时手工设计显得非常困难。

方法:

提出了一种神经网络搜索的方法NAS(Neural Architecture Search),利用循环神经网络RNN生成模型描述,并且利用强化学习策略最大化验证集上的模型准确度。这种方法基于梯度,用于找到非常好的 Architecture。

使用一个RNN网络作为controller生成一个对应的网络结构,以及生成这种网络结构的概率P。以此网络结构作为基础,训练子网络在相应的数据集上,当发生收敛的时候,在验证集得到准确值R,计算梯度值并且最大化R的值进行梯度更新反向传播。

结果:

在 CIFAR-10 数据集上,测试错误率为 3.65,提高了 0.09%,速度提高了 1.05 倍。在 Penn Treebank 数据集上实现了 62.4 的测试集困惑度,比之前最先进的模型好 3.6 的困惑度。该单元还可以转移到 PTB 上的字符语言建模任务,并达到 1.214 的最先进的困惑度。

note:

困惑度:困惑度定义为测试集的概率的倒数,并用单词数做归一化。
词序列的条件概率越高,困惑度越低。根据语言模型,最小化困惑相当于最大化测试集概率。
 

参考:

【论文精读-NAS开山之作】Neural Architecture Search with Reinforcement Learning - 知乎 (zhihu.com)

【论文解读】 Neural Architecture Search with reinforcement learning-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/552123
推荐阅读
相关标签
  

闽ICP备14008679号