人工智能学习笔记大数据,机器学习,人工智能程序员

AI学习笔记——强化学习之值函数近似(Value Functio

2018-12-05  本文已影响3人  Hongtao洪滔

在前面的文章介绍了什么是MDP,以及如何求解最优MDP解决MDP问题。接着又介绍了用MD和TD的方法在未知环境下预测MDP。在这些方法中的最优策略π就是为了获得最大值函数(V函数)Vπ(s)或者加入了行动a的Q函数Qπ(s,a)。

然而在实际问题中,比如电子游戏,下象棋棋,状态的个数可以是10的几十到几百个次方,数量可能比宇宙中的微粒都多,不要说遍历一下每一个状态,就是记录下每一个状态都是几乎不可能完成的任务。

其实我们不必记住每一个状态,可以抽取出一些特征(feature) s和对应的权重(W),将这些特征和权重代替状态作为V函数或者Q函数的输入,然后过迭代和学习得到近似的最优的V函数和Q函数。

1. 近似函数

如下图,黑盒子就是近似函数,输入可以只是特征s,或者s+行动a,输出可以是V函数,或者是带有a的Q函数,当然也可以是带有w的多个Q函数的向量。

近似函数可以是这些特征的线性回归,神经网络,决策树,等等。我们这篇文章以线性组合为例。

2. 梯度下降(Gradient Descent)

既然是线性组合,或者是神经网络,那很自然的就可以用梯度下降的方法来学习咯。

但是问题来了,在监督学习中,梯度下降中用到的损失函数是输出值与实际值之间的方差,然而强化学习问题中,我们是不知道实际值的。为了更好理解梯度下降的方法就,我们先假设我们预先知道Vπ(s)

Vπ(s)和输出的差值的平方,就是损失函数J(W):



梯度下降中需要修正的权重∆w,就等于梯度的反方向乘以学习速率α(很熟悉的感觉)

如果采用随机梯度下降(Stochastic gradient descent)的方法,∆w则是


3. 线性回归

如果我们将特征s的组合看成,特征向量:



那么我们也可以用线性组合来近似V函数:


此时,


需要修正的权重∆w = 学习速率 * 估计误差 * 特征值

这里要强调的是,“查表”的方法是一个特殊的线性价值函数的近似法:每一个状态就是一个特征,机器人到达这个特征的时候就取1,没有到达就取0,w就是到达这个状态的次数。

4. 预测——递增算法 Incremental Prediction Algorithms

之前的公式我们假设预先知道了Vπ(s),采用了类似于监督学习的方式。实际上强化学习中是不知道Vπ(s)的。

强化学习中,没有监督,只有奖励,我们用目标值来代替。


通过之前的文章,我们已经理解到了V函数只能预测和评估策略,在没有引入行动A的Q函数之前无法解决控制问题,关于控制的问题,将会在下一篇文章中进行探讨。

同样的本文主要的参考资料来自于David Silver 教授(DeepMind 的创始人)在UCL的课程以及Richard S. Sutton and Andrew G. Barto的经典书籍:Reinforcement Learning: An Introduction


文章首发steemit.com 为了方便墙内阅读,搬运至此,欢迎留言或者访问我的Steemit主页

上一篇下一篇

猜你喜欢

热点阅读