首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有重叠状态的Q-Learning优化

具有重叠状态的Q-Learning优化
EN

Stack Overflow用户
提问于 2017-06-21 02:08:26
回答 1查看 97关注 0票数 1

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

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

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

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

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

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-06-21 04:25:13

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

一般来说,当您无法学习同一状态/动作对的两个不同值时,您将学习期望值(这是任何随机环境的典型情况),这也是不正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44660178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档