当前位置: 首页 > 知识库问答 >
问题:

用新动作/扩展动作集强化学习

邹弘
2023-03-14

我想知道是否有任何关于新动作的RL问题的研究,例如,想象一个视频游戏,随着游戏的进行,代理学习更多的技能/策略,因此有更多的可用动作可供选择,因此动作集随着时间的推移而扩展。一个相关的问题

强化学习中的状态依赖动作集

但这个问题也没有足够的答案。谢谢!

共有1个答案

贾骏喆
2023-03-14

最近所有关于深度强化学习的研究和论文都使用了一组静态的小动作环境。然而,有几种方法可以尝试补偿具有可变动作空间的情况。

假设我们有一个游戏环境,代理可以执行不同的攻击。其中一个攻击,火球,只在游戏后期解锁。也许你必须做一些特殊的事情来解锁这个攻击,但是为了这个论点的目的,让我们假设你的代理将在游戏过程中的某个时候解锁这个能力。

  1. 如果代理尝试执行尚未解锁的操作,您可以将解锁的操作添加到操作空间,并分配一个大的负面奖励。因此,如果你的经纪人试图使用火球,但火球尚未解锁,他们将获得负面奖励。然而,这极有可能使特工“学会”永远不要使用火球,即使火球已解锁
  2. 您还可以通过添加可用的新动作来改变动作空间。在这个场景中,代理在其动作空间中不会有火球攻击,直到它被解锁。当向动作空间添加新动作时,您必须改变epsilon(随机动作的速率)来进行更多的探索
  3. 作为“状态”的一部分,您可以跟踪代理的可用操作。如果代理人有能力在游戏的一个部分使用火球,但不能在游戏的另一个部分,这可以被视为不同的状态,这可能会通知代理人。表示状态的向量可以为每个不同的可解锁能力提供一个二进制值,并且结合上面在#1中提到的方法,您的代理可以学习有效地使用解锁能力

这篇研究论文讨论了连续动作空间中的强化学习,这不完全是一回事,但可能会给你一些额外的想法。

 类似资料:
  • 我对RL非常陌生,想知道RL的能力。在我的理解中,RL是一种神经网络,它反馈到一个状态并输出每个动作的概率。训练过程是为了减轻预测值和实际奖励值之间的差异(这里可能是错误的)。 但是,我的问题很棘手。一开始,有一个动作空间[x1,x2,x3,x4,..,x5],每一步之后,动作不能重复。换句话说,每次迭代后,动作空间都在缩小。“游戏”在动作空间为0时完成。这个游戏的目标是获得最高的累积奖励。 我在

  • 下面的章节展示了 Sublime Text 各种各样被扩展的附加功能。 指令 Sublime Text 中指令是无处不在的:按键绑定、菜单项、宏等都可以通过指令来工作。有些指令是在 Sublime Text 编辑器的核心实现的,但是他们当中的很多都是作为 Python 插件,每一个指令都可以由一个通过 Python 插 件来调用。 指令调度 通常情况,指令是被绑定到应用程序对象、一个窗口对象或是一

  • 有没有办法使用材料设计支持库在android应用程序中实现这样的功能 https://github.com/futuresimple/android-floating-action-button/raw/master/screenshots/menu.gif。我不想使用任何第三方库来实现此功能。

  • 我正在创建一个Minecraft 1.12.2 mod(forge 1.12.2-14.23.1.2555),并创建了一个扩展ItemAxe的新类。当我将新类实例化为变量时,该变量返回null。因此,在注册该项时,会引发NullPointerException。在我尝试将ItemAxe的扩展名改为ItemAxe之后,我开始考虑这个问题。运行了代码,它成功了。将其更改回ItemAxe,运行代码,但不

  • 通过上一节的学习,相信我们已经会selnium IDE的基本使用了,为了使selenium 更强大,其实selenium 还提供了良好的扩展能力。 ----//用户扩展 用户扩展就是使用javaScript文件来创建定制化特性,添加新功能,通常情况下这种扩展就是定制化命令,但扩展并不仅限于命令。 这里有一些列的扩展:http://wiki.openqa.org/display/SEL/Contri

  • 主要内容:配置动作扩展,1. html 扩展,2. 不使用扩展在Struts2中,所有动作类有一个默认的后缀 .action 扩展。 例如, 如要访问“SayStruts2”动作类,需要使用以下网址: 配置动作扩展 Struts 2是允许配置扩展名的,要对其进行更改,只需要声明一个常数“struts.action.extension”值: 1. html 扩展 更改动作类为 .html 的扩展名。 现在,可以通过访问“SayStruts2”动作类,使用如下U