HER(Hindsight Experience Replay)是一种特别设计用于解决稀疏奖励问题的强化学习算法。它主要用于那些具有高度稀疏奖励和延迟奖励的任务,特别是在连续动作空间中,如机械臂抓取、路径规划等。
HER 主要设计用于连续状态空间,并且最有效的应用通常发生在这样的环境中。在离散状态和动作空间中,HER 可能不是最佳选择,因为在这些设置下其他方法(如表格学习或模型搜索)可能更有效。
2. 无明确目标的任务
HER 主要用于具有明确目标的任务,这些任务通常有一个状态或状态子集作为目标。对于没有明确目标的任务(比如,不是到达某个特定状态,而是最大化某种度量,如在平衡车问题中维持平衡),HER 可能不适用。
3. 完全观察不到的环境
在一些问题中,你可能无法观察到足够的信息来明确地定义一个“已经实现的目标”。在这些情况下,使用 HER 可能会很困难。
4. 高计算复杂性
HER 通常需要存储额外的转换和进行额外的学习步骤,这可能会增加算法的计算复杂性。对于计算资源有限的应用,这可能是一个问题。
5. 非稀疏奖励问题
虽然 HER 可以在非稀疏奖励设置下使用,但它可能不是最有效的解决方案,因为其他方法(如基于值的方法或策略梯度方法)可能更适合这种类型的问题。
6. 需要细致调优
根据问题的特性,HER 的有效性可能会受到如何采样“实现的目标”的影响。这可能需要进行大量的实验和调优,才能找到最有效的方式来使用 HER。
总体而言,尽管 HER 是一个非常有用的工具,但在选择是否使用它之前,最好先仔细考虑问题的特性和需求。
举例:在Atari游戏中的应用
(s, a, r, s', g)**(状态、动作、奖励、新状态、目标)。
g'**。
g' 重新计算奖励,并生成新的经验 **
(s, a, r', s', g')**。
ICM 旨在通过生成内在奖励来促进智能体(agent)的探索行为。这些内在奖励是基于智能体对环境的模型(或预测)的不确定性或误差来计算的。简而言之,如果智能体无法准确地预测其动作的结果,那么该动作会得到高的内在奖励,以鼓励智能体进一步探索。
ICM 主要由两部分组成:
前向模型(Forward Model)
作用:
状态预测:前向模型尝试从当前状态和执行的动作预测下一个状态(或其特征表示)。
内在奖励生成:当预测与实际观察到的下一个状态有误差时,该误差用作内在奖励。预测越不准确,误差越大,意味着该状态-动作对更值得探索,因此生成更高的内在奖励。
实际应用:
逆向模型(Inverse Model)
在确定性(或接近确定性)环境中,模型很快就能准确预测下一个状态,从而导致内在奖励降为零或接近零。这在实际应用中可能导致不足够的探索。
2. 资源消耗
ICM 需要训练额外的环境模型并进行在线预测,这会增加计算成本。在资源受限的设置中,这可能是一个问题。
3. 无法处理多模态结果
对于一个给定的状态和动作,如果有多种可能的下一个状态(即,多模态分布),基于误差的内在奖励可能不是最佳选择,因为模型可能会对其中一个模态进行过度拟合。
4. 高噪音环境
在高噪音环境中,即使模型能很好地捕获环境的一般动态,预测误差也可能会很高。这可能会导致不合适或不相关的探索。
5. 奖励稀疏但明确的目标
对于具有明确目标和奖励稀疏性但不需要复杂探索策略的任务,使用 ICM 可能是过度设计。在这种情况下,简单的基于目标的方法或者传统的强化学习方法可能更有效。
6. 需要细致的调优
ICM 的效果可能会受到超参数(例如,内在与外在奖励的权重、模型结构等)的影响,需要花费大量时间进行调优。
7. 对于无模型任务不是最优
ICM 需要建立一个环境模型。对于一些无模型或者模型不易获取的复杂任务,这可能是一个限制。
总的来说,在选择使用 ICM 之前,最好先考虑任务和环境的具体需求和特性。这将帮助你判断 ICM 是否适用,以及如何可能需要调整或改进它以适应特定的应用场景。
RND 也是用于生成内在奖励的算法,但其机制与 ICM 不同。RND 通过训练一个固定的随机网络(即“目标网络”)和一个可训练的网络(即“预测网络”),并使用两者之间的输出差异作为内在奖励。
目标网络与预测网络:初始化两个相同结构的网络。其中一个(目标网络)的权重是随机初始化并固定不变的,而另一个(预测网络)是可训练的。
内在奖励生成:在与环境交互过程中,智能体观察到的状态(或状态的某种特征)被送入这两个网络。内在奖励计算为两个网络输出之间的差异,通常使用平方误差。
预测网络更新:与环境交互产生的数据用于更新预测网络,以减小与目标网络之间的输出差异。
策略更新:使用内在奖励(可能与外在奖励一起)来更新智能体的策略。
通过这样的流程,RND 能够有效地驱动智能体在各种各样的环境中进行探索。
Go-Explore 的核心思想是解决探索与利用(exploration-exploitation)问题的一种新方法。该算法分为两个主要阶段:首先是一个“去探索(Go)”阶段,智能体被鼓励去探索新的、未访问过的状态;其次是一个“探究(Explore)”阶段,在这里,智能体从之前标记为“有趣”的状态出发进行更深一层的探索。
Go-Explore 在处理具有高度稀疏奖励和大状态空间的环境方面表现出色。例如,在Atari游戏如Montezuma's Revenge中,它能够获得迄今为止最高的得分。
NGU算法主要目标是解决强化学习中稀疏和非稳态奖励环境下的探索问题。其核心思想是通过使用一组内在奖励机制,以及自适应地调整这些机制,来鼓励智能体更加全面和高效地探索环境。
NGU在处理具有稀疏、延迟、或者非稳态奖励的复杂环境中表现良好。
本文由 mdnice 多平台发布