使用带有递归动作的深度强化学习?

数据挖掘 深度学习 强化学习
2022-03-05 22:43:58

我们可以在深度强化学习中使用递归动作吗?如果是怎么办?

例如,在重新分配问题中,对于任务 i  ,神经网络返回一个节点 m,然后会有一些条件:如果节点 m很忙(如果已经有任务 j 分配给该节点),那么任务 j 将被重新分配给另一个节点,依此类推,直到返回一个空节点(我们假设总是至少有一个空节点)。

1个回答

您的描述看起来不像是“反复行动”,而是“未能取得进展”的情况。

处理被阻止/失败操作的可能性的最简单方法是:

  • 保持状态和时间步不变并选择下一个最佳操作,无需任何新的策略评估。这实际上是许多回合制游戏 RL 使用的方法,例如 AlphaGo,虽然拒绝无效动作是使用游戏引擎完成的,并且在技术上没有在环境中反复尝试,但这并没有太大的区别所有情况。

或者

  • 更新时间步,获得奖励(可能为零)并在下一个时间步重试。状态信息可能有用地包括被阻止的操作(或者它们可以像在第一个选项中那样以编程方式应用)。如果尝试该操作有实际成本(即因浪费时间而产生的负面奖励)和/或可以从状态信息中预测哪些操作可能被阻止,并且您希望包括这些因素,您通常会使用此方法在代理的行为中。

第二个选项是您可能在迷宫求解器中使用的方法,如果它只能通过碰撞墙壁来感知墙壁。

如果代理的观察完全无法预测被阻止的操作,那么您使用哪种方法并不重要。但是,如果不采取行动需要付出代价,那么第二种方法会为您提供更准确的行动价值,以防您使用基于价值的方法或需要以数字方式评估代理的绩效。