将线性函数逼近应用于强化学习

机器算法验证 机器学习 强化学习
2022-04-08 10:52:34

您如何将线性函数逼近算法应用于需要在特定状态 S 中推荐动作 A 的强化学习问题?

我已经阅读了一些资料,包括这个以及Sutton 和 Barto 关于 RL 的书中的一章,但我无法理解它。我了解 Q-learning 和 SARSA 如何通过存储(状态、动作)元组的预期奖励值来使用正常的查找表。而且我了解如何使用 LFA 的奖励信号更新参数向量。

我不明白的是查询和更新 LFA 时操作的来源。学术百科和 S&B 在更新 LFA 权重时都没有提及该动作,那么他们如何考虑该动作呢?LFA 是否仅估计状态的值,需要您为每个操作维护单独的 LFA 计算?

1个回答

如果您还没有,请查看包含 LFA 的 SARSA 的此页面:http: //artint.info/html/ArtInt_272.html

Sutton 的书在描述如何设置特征空间 F(s,a) 方面确实令人困惑,但在上面的网页中,他们用一个简单的示例进行了描述。将该页面中的 theta 和 F(s,a) 的体系结构应用于 Sutton 的算法效果很好。

假设您在一个状态下有 4 个可能的操作。创建一个奖励 Q 分布(在本例中是一个 4 值数组),给定状态下的每个可能动作都有一个值。迭代每个动作,并针对该动作,根据该动作将对代理执行/为代理执行的操作填充特征空间。

例如,如果代理在墙的正下方,并且选择的动作是“向上”,则应该有一个 1 来表示“代理将要尝试移动到墙中”这一特征。同样,对于 action='right' 和向右的墙,对于所有其他可能性,相同的特征将是 1,依此类推。

您可能不久前已经解决了这个问题,但如果没有,希望这会有所帮助!