为什么 REINFORCE 会起作用?

人工智能 强化学习 政策梯度 加强
2021-10-29 16:36:16

这是 Sutton 和 Barto 书中流行的策略梯度算法的屏幕截图 - 在此处输入图像描述

我了解更新规则的数学推导 - 但我无法建立直觉,了解为什么该算法首先应该起作用。真正困扰我的是我们从一个不正确的策略开始(即我们不知道参数θ然而),我们使用这个策略来生成剧集并进行后续更新。

为什么REINFORCE 应该起作用?毕竟,它用于梯度更新的情节是使用由参数参数化的策略生成的θ 尚未更新(情节不是使用最佳策略生成的- 我们无法做到这一点)。

我希望我的担忧是明确的,我要求你们提供一些关于为什么会这样的直觉!我怀疑,不知何故,即使我们从错误的策略中采样一集,我们在每次更新后都会更接近正确的策略(单调改进)。或者,我们可以更接近最优策略(最优参数集θ) 一般。

那么,这里到底发生了什么?

1个回答

REINFORCE 工作的关键是参数转移的方式Glogπ(a|s,θ).

注意logπ(a|s,θ)=π(a|s,θ)π(a|s,θ). 这使得更新非常直观——分子在给定状态的情况下将参数移动到与回报成正比的方向上,使重复动作的概率增加最高——这很容易看出,因为它本质上是梯度上升步。分母通过与采取行动的概率成反比来控制那些比其他行动更有优势的行动,因为它们会被更频繁地选择;想象一下,如果有高回报,但当时的行动t被选中的概率很低(例如 0.1),那么这会将返回值乘以 10,从而导致更大的更新步骤,这将增加该动作被选择最多的概率(这是分子控制的,如前所述)。

那是为了直觉——看看它为什么起作用,然后想想我们做了什么。我们定义了一个目标函数,vπ(s),我们有兴趣最大化我们的参数θ. 我们找到这个目标相对于我们的参数的导数,然后我们对我们的参数执行梯度上升以最大化我们的目标,即最大化vπ(s),因此如果我们继续执行梯度上升,那么我们的策略参数将(最终)收敛到最大化的值v因此我们的政策将是最优的。