首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择不可行动作时陷入无限循环的强化学习算法

选择不可行动作时陷入无限循环的强化学习算法
EN

Stack Overflow用户
提问于 2022-06-29 15:27:36
回答 1查看 184关注 0票数 0

我写了一个健身房环境,我正在使用DQN代理从稳定基线训练这个健身房环境。

我的环境对的影响

"item_list").

  • action

  • 操作: int == 1,.,n->向列表中添加顺序n(包含(1 <= x <= 10)项)(让我们称其为== 0->关闭item_list (不能添加更多项)。

,那么问题是什么?

在item_list中允许最多的项目数。这意味着,如果item_list几乎满了,并且代理选择了动作>= 1->超过了"item_list“的容量,那么这是一个不可逾越的动作。

,在这种情况下会发生什么?

在这种情况下,命令将不会添加到"item_list“中,并且代理将获得一个负面的奖励。问题是我的经纪人的观察一点也不连贯。这会导致我的探员一次又一次地选择同样的行动。

什么时候成为问题?

在训练过程中,这并不重要。Agent将学会避免选择这样的操作,并且探索会在一段时间后使代理退出这个循环。不过,当我想使用经过训练的特工时,就不会有任何探索了。一个“坏”操作就足以将该代理发送到一个无限循环中,即选择不适合item_list的顺序。

我在找什么样的答案?

有没有一种方法来处理那些无限循环--除了硬编码之外--还有很多异常?如果item_list ist的容量超过了它的能力,那么就很容易硬编码这个列表应该按照它原来的方式关闭。虽然如果item_list是空的,并且代理选择操作== 0(关闭空列表),那么也会出现相同的无限循环。在其他许多情况下,这个问题可能会发生。有没有一个我不知道的聪明的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 15:38:33

考虑以下两种一般办法:

第一,不允许非法行为。当代理对操作输出分布时,将其乘以指示向量,该指示向量将非法操作归零。然后试一试一个动作。

第二,在非法行为结束后,以负面奖励结束这一插曲。您已经为非法行为分配了一个负面奖励,另外还终止了插曲,这样就没有无限循环了。

我会选第一个。

编辑:参见这个问题:https://ai.stackexchange.com/questions/2980/how-should-i-handle-invalid-actions-when-using-reinforce

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

https://stackoverflow.com/questions/72804054

复制
相关文章

相似问题

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