每个状态都是终端的强化学习

Reinforcement Learning where every state is terminal

我的问题与强化学习的实现无关,而是在每个状态都是终端状态时理解RL的概念。

我举个例子:一个机器人正在学踢足球,就是射门。奖励是射门后球与球门柱之间的距离。状态是多个特征的数组,动作是三维力的数组

如果我们考虑情景强化学习,我觉得这种方法没有意义。确实,机器人射击并给予奖励:每一集都是一个终结集。将下一个状态传递给系统没有意义,因为算法不关心它来优化奖励——在这种情况下,我会使用 Actor-Critic 方法来处理连续状态和动作 space.有人可能会争辩说,不同的监督学习方法,例如深度神经网络,可能会更好。但我不确定,因为在那种情况下,如果输入远离训练集,算法将无法取得好的结果。据我所知,RL 能够更好地概括这种情况。

问题是:RL 是解决此问题的有效方法吗?在这种情况下如何管理终端状态?您知道文献中有类似的例子吗?

强化学习解决了你没有的问题

RL 方法针对的主要困难是将奖励归因于更早的动作,找出如何处理(常见)并发症的方法,其中没有关于您做对或做错的事情(以及何时)的明确反馈。你没有这个问题 - 你有一个直接归因于行动的直接奖励。

基本的监督学习方法可以很好地解决这个问题,没有理由涉及强化学习 "machinery"。

episodic RL 没有下一个状态,它只是黑盒 (BB) 优化。你的情况是 contextual BB 因为你也有一个状态(我猜是球的位置)。您可以使用策略梯度(如 NES or PGPE), policy search (here is a good survey), evolutionary (CMA-ES)或混合策略。它们在执行更新的方式上有所不同,但它们都是与奖励无关的,即它们不知道奖励函数,但只接收奖励值。

他们都有相同的方法:

  • 您有一个初始策略(又名搜索分布),
  • 查看特征并将其提供给策略,这会给你"the action"(在你的情况下:画出机器人的控制参数,然后射击),
  • 看到奖励,
  • 重复并收集数据 (features, action, reward),
  • 更新政策,直到你学会了能够始终在任何位置击球的机器人控制器。

编辑

由于您没有下一个状态,您的问题有点像回归问题,但您不知道最佳目标(最佳动作 = 最佳机器人控制器)。相反,你画一些目标并慢慢适应最好的(慢慢地,就像梯度下降一样,因为可能还有更好的你还需要探索)。

如果我没有正确理解你的问题,你所描述的问题在文献中被称为 Contextual Bandits。在这种情况下,您有一组状态,代理在执行一个动作后会收到奖励。这个问题与强化学习密切相关,但它们有一些特殊的特征可以用来设计特定的算法。

下图摘自Arthur Juliani's post,展示了Multi-armed Bandit、Contextual Bandit和强化学习问题的主要区别: