我对强化学习领域很陌生,我对某些事情感到好奇。似乎当前的大多数研究都假设马尔可夫环境,即过程的未来状态仅取决于当前状态,而不取决于之前的事件顺序。我很好奇当马尔可夫属性不再存在时我们如何分配奖励。最先进的 RL 理论和研究是否支持这一点?
如何在非马尔可夫环境中分配奖励?
在强化学习中处理非马尔可夫过程是不寻常的。尽管已经进行了一些明确的 尝试,但面对非马尔可夫环境时,最常见的方法是尝试使代理对其进行马尔可夫表示。
在将 Agent 的动力学模型简化为马尔可夫过程之后,奖励从环境中以与以前完全相同的方式分配。环境只是向代理发送奖励信号以响应每个动作。
马尔可夫假设本质上是一种形式主义,即未来可以从现在预测。它说如果你知道一个系统的动力学,并且你现在知道系统的状态,那么你就知道以后预测系统状态所需的一切,而我们如何到达这个状态并不重要。正式地,我们把它写成.
也就是说,我们在 AI 中使用的模型通常是对现实世界的简化。当我们简化世界时,我们可以引入非马尔可夫动力学。但是,如果模型变得太复杂,状态空间太大,学习时间就会太长。然后,目标是定义一个足够小以便可学习的状态空间,并且是对世界真实动态的近似。人工智能研究人员有几种工具可以做到这一点。
作为一个工作示例,假设机器人的未来位置主要取决于当前位置和当前速度,以及机器人现在采取的行动。使用这些变量来定义一个状态,我们几乎可以得到马尔可夫动力学,但是随着机器人随着时间的推移移动,它的电池耗尽并且移动变得非常不精确。如果我们想消除这个错误,我们可以:
- 展开状态变量。如果我们将“当前电池电量”添加到状态,那么我们的过程将再次变为马尔可夫。这是最明显的方法,但它只能在一定程度上起作用。随着您添加新变量,状态空间的大小呈指数增长。它很快就会变得太大而无法学习,因此在许多问题中,复杂的状态随后会被分解为更简单的子状态。这些更简单的状态可能根本不相互依赖,或者可能仅在不同程度上依赖。学习导航指数状态空间的主要限制因素是我们模型中的参数数量将呈指数增长。如果原来的空间有参数,将其分成两半将产生两个不同大小的学习问题. 将问题一分为二可将其规模缩小一个因子, 很大。这是动态贝叶斯网络所利用的技术。以我们的机器人为例,我们可以使电流位置只取决于前一个位置,上一个速度和机器人的动作,而不是所有先前的变量,同样适用于其他变量。
- 使用环境的高阶模型。这实际上是对上述(1)的概括。代替状态是机器人的当前位置和速度,我们可以将状态定义为机器人的当前位置/速度和过去 1 步(或 2,或 3,或脚步)。这极大地增加了状态空间的大小,但是如果我们不知道为什么机器人的运动会出现错误,这仍然可以让我们对其进行建模。在这种情况下,如果我们知道上次机器人位置变化的大小,并且我们观察到这次变化较小(对于相同的动作),我们可以估计变化变化的速率,而无需了解它的变化。原因。
例如,考虑确定商品价格的过程。代理的奖励是非马尔可夫的,因为销售额会随着价格变化而逐渐增加或减少。然而,它们并不依赖于所有的价格历史。想象一下,它们取决于最后 5 个价格(或最后 k 个)。我们可以使用上面的技术(2)来扩展代理的状态模型。现在,代理了解到,当价格已经在最后 5 个步骤中,它在时间设置价格达到一定的价值,它的回报是. 由于奖励仅取决于现在的价格,并且在最后 5 步中,代理现在正在学习马尔可夫过程,即使原始过程是非马尔可夫的,并且奖励函数是非马尔可夫的。奖励函数或环境没有改变,只有代理的环境模型。