理解线性、梯度下降的 Sarsa(基于 Sutton & Barto)

Understanding linear, gradient-descent Sarsa (based on Sutton & Barto)

我正在尝试基于Sutton & Barto's Book实现线性梯度下降Sarsa,算法见下图

但是,我很难理解算法中的某些内容:

我希望有人能帮我澄清一下:)

w 是函数逼近器的权重向量。你正在逼近的函数是Q(s,a),动作价值函数,它告诉你在某种状态下采取行动的价值。由您来定义权重,但是,是的,您是对的,您需要考虑如何表示权重中的动作。一种方法可能是定义一组状态特征,然后每个动作将它们实例化一次(多个单独的 w 向量)。为了方便起见,您可以将这些向量连接成一个大 w,因为您知道只有被状态-动作对的特征激活的权重向量块才会更新。如果动作 space 很大,则每个动作具有多个不相交的状态特征集是很多权重,因此您可以将多个动作压缩为单个权重的不同标量值。如果真正的 Q 值在动作之间很接近,你将能够表现得一样好,而且你实际上会学得更快,因为需要优化的权重更少。表示是灵活的。由你决定!

我鼓励您查看本书第二版中所写的算法(草稿可从作者的网站获得)。符号更清晰。您发布的算法实际上是一个 lambda return 方法,您可以在第 12 章中阅读它(z 是资格跟踪,它与 w 具有相同的维度并且并不重要到你问的问题)。 Episodic semi-gradient Sarsa,相同的算法减去一些花里胡哨,出现在第 10.1 节。