【问题标题】:Action constraints in actor-critic reinforcement learning演员-评论家强化学习中的动作约束
【发布时间】:2013-01-15 00:15:45
【问题描述】:

我已经在一个简单的网格世界上实现了natural actor-critic RL 算法,它有四种可能的动作(上、下、左、右),我注意到在某些情况下它往往会在上-向下或左右。

现在,在这个领域中,上下和左右是对立的,如果我能以某种方式让代理意识到这一事实,我觉得学习可能会得到改善。我正在考虑在计算动作激活后简单地添加一个步骤(例如,从右激活中减去左激活,反之亦然)。但是,我担心这会在一般情况下导致收敛问题。

添加约束似乎是该领域的共同愿望,所以我想知道是否有人知道我应该为此目的使用的标准方法。如果不是,那么我的临时方法是否合理。

提前致谢!

【问题讨论】:

  • 你能详细说明subtracting the left activation from the right activation and vice versa吗?
  • @greeness 肯定的 :) 想象一下模型为每个动作输出这个激活:up=.7,left=.9,down=.1,right=.8。通常会选择最活跃的动作(即左)。但我希望模型认为想要左右移动都不是一个好的选择。我建议通过将激活值更改为以下值来通知模型:up=.7,left=.9-.8=.1,down=.1,right=.8-.9=-.1。现在模型将选择向上动作,因为左右激活抵消了。
  • 问题仍然是 1) 这个方案是否真的有效,2) 是否有一些标准的方法来完成同样的事情。
  • 我认为这次取消是无效的。考虑一种情况:上=0.2,下=0.1,左=0.8,右=0.8,上或下会导致一条没有出口的黑洞,而向左或向右可以避免这种情况。如果您使用取消,您将永远找不到正确的方法,对吗?您是否尝试使用 epsilon-exploration 方法,以便每个操作都有机会被尝试。
  • 嗯,是的,我认为我的想法显然有问题;就是这样,哈哈,是的,我一直在用相当高的 epsilon(从 0 到 25%)进行电子贪婪,但我不认为探索是问题所在。我认为这个问题是由我有非常细粒度的操作引入的。回到您的黑洞示例,在向左或向右转之后,代理还没有完全清除黑洞,因此​​再次做出几乎相同的决定。所以代理最终沿着左右轴随机游走,直到他清除了这个洞。无法弄清楚如何解决这个问题:-/

标签: algorithm machine-learning constraints neural-network reinforcement-learning


【解决方案1】:

如果可能的话,我会尽量避免在选择动作时使用启发式方法。如果您想在训练中添加启发式方法,我会在计算奖励函数时这样做。这样,代理将学习启发式并将其体现为它所逼近的价值函数的一部分。

关于振荡行为,您是否允许不动的动作(即保持在同一位置)?

最后,我不会太担心违反一般情况和收敛保证。它们只是进行应用工作时的指南。

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 2021-03-02
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 2013-12-06
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多