如何使用线性函数逼近将权重拟合到Q值


12

在强化学习中,当存在较大的状态空间时,通常使用线性函数逼近。(当查找表变得不可行时。)

线性函数近似的值的形式为Q

Q(s,a)=w1f1(s,a)+w2f2(s,a)+,

其中是权重,f i是特征。wifi

这些功能由用户预定义。我的问题是,权重如何分配?

我已经阅读/下载了一些有关学习函数逼近的讲座幻灯片。他们中的大多数人都跟随着线性回归的幻灯片。由于它们只是幻灯片,因此往往不完整。我想知道这两个主题之间的联系/关系是什么。Q

Answers:


11

函数逼近基本上是一个回归问题(在一般意义上,即与类别离散的分类相对),即人们试图学习从输入(在您的情况下为f(s,a))到实数值的函数映射。输出Q(s,a)。由于我们没有所有输入/输出值的完整表,而是同时学习和估计Q(s,a),因此无法直接从数据中计算参数(此处为权重w)。这里常用的方法是使用梯度下降

这是用值函数逼近学习Q(s,a)的通用算法

  • 初始化参数矢量w=(w1,w2,....,wn)随机(例如,在[0,1])
  • 对于每个情节:

    1. s情节的初始状态
    2. a政策π给予动作(建议:ϵ贪婪)
    3. 采取行动a,观察奖励r和下一个状态s
    4. ww+α(r+γmaxaQ(s,a)Q(s,a))wQ(s,a)
    5. ss

    重复2-5,直到s为终端

哪里...

  • α[0,1]是学习速率
  • γ[0,1]
  • maxaQ(s,a)asQ(s,a)
  • wQ(s,a)Q(s,a)w(f1(s,a),...,fn(s,a))

可以通过以下方式读取参数/ weights-update(第四步):

  • (r+γmaxaQ(s,a))(Q(s,a))Q(s,a)Q(s,a)r γmaxaQ(s,a)
  • wQ(s,a)α

主要来源:

Q(s,a)V(s)e

更多参考

  • Q(s,a)
  • Geist和Pietquin 对参数值函数逼近的简要概述。看起来很有希望,但我尚未阅读。

2
Barto&Sutton的链接断开!现在在这里-> incompleteideas.net/book/the-book.html :)和电子书incompleteideas.net/book/ebook,但我不知道在哪里可以找到mobi文件
grisaitis

1
Q(s,a)相对于其中每个元素都是fi(s,a)的wa列向量的梯度,不是您所说的所有fi的总和吗?目的是使每个权重根据乘以其的要素的值进行相应更改。
米格尔·萨拉瓦

@MiguelSaraiva是的,已修复。非常感谢你。
steffen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.