【问题标题】:Q-Learning optimisation with overlapping states具有重叠状态的 Q-Learning 优化
【发布时间】:2017-11-23 10:01:56
【问题描述】:

我正在为一个简单的任务实施 Q 学习,该任务涉及机器人在连续坐标系中移动到目标位置。每个情节都有固定的长度,并且奖励是稀疏的:情节的最终过渡有一个单独的奖励,并且奖励是机器人与目标之间最终距离的函数。

我想知道的问题是,在计算特定状态的 q 值时,可能存在冲突的目标 q 值。例如,假设在情节 A 中,机器人在情节的最后一步接近目标,并获得 0.9 的奖励。然后在情节 B 中,假设机器人在情节中间穿过目标,并在远离目标的地方完成情节:

我的问题是两集重叠的问题状态。如果我将我的转换存储在回放缓冲区中,并且我对情节 A 的转换进行采样,则该动作的目标 q 值将等于 discount_factor x max_q(next_state) + reward,但如果对情节 B 的转换进行采样,则目标 q值是discount_factor x max_q(next_state) + 0,因为在剧集的最终状态中只有一个奖励。 (我在这里假设在问题状态下,两个情节都采取相同的行动)。

这意味着我的优化对于同一个状态-动作对有两个不同的目标,这是不可能学习的。

我误解了这个问题,还是这是一个真正的问题?还是我应该改变分配奖励的方式?

谢谢!

【问题讨论】:

  • 我见过不同的实现,但通常训练结束或当演员达到目标时给予奖励。为什么要固定时间并且仅在时间 T 达到目标时才奖励?从概念上讲,这就像让鼠标在迷宫中搜索奶酪,但奶酪仅在模拟开始后 54 秒出现(或仅可食用)且仅持续 1 秒。

标签: machine-learning reinforcement-learning q-learning


【解决方案1】:

首先,在这两集中,状态或动作确实不同。首先让我们假设机器人是全向的(没有“面向”方向 - 它可以向任何方向移动),然后处于“重叠”状态,在情节 A 中执行与情节 B 中不同的动作(因为一个上升并且右一个向左),并且由于 Q 值的形式为 Q(s, a),因此没有“冲突”,因为您“分别”拟合 Q(s, a_A) 和 Q(s, a_B)。现在第二个选项 - 机器人确实有一个航向方向,所以在这两集中他们可能一直在执行相同的动作(如“前进”),但状态 s 实际上 包括 航向方向,所以你有 Q( s_A, a) 和 Q(s_B, a)(同样是不同的对象,只是相同的动作)。

一般来说,当你为同一个状态/动作对获得两个不同的值时,你不能学习也是不正确的——你将学习期望值(无论哪种方式,这都是任何随机环境的典型情况)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多