关注AI君,领略人工智能之美
价值函数估计
Value Function Approximation
前言
亲爱的读者,您好!
好久不见。感谢您的耐心等待,AI君最近终于完成了一个小目标,重新归来!
欢迎您再次阅读《AI技术词条》系列文章,AI君力求用最通俗易懂的话语带你读懂“人工智能”领域的专业词汇和算法,不废话不凑字,直达最核心的内容。请大家帮忙多多转发,感激不尽!
概述
AI君在之前的文章里提到过,维度灾难问题一直是众多算法的瓶颈,大部分机器学习方法都会遭遇这一问题。
而在强化学习领域中,除了我们介绍过的深度强化学习外,今天AI君要说的“价值函数估计”就是另一种非常重要的克服维度灾难的方法。
“价值函数估计”,也叫“价值函数近似”,它的英文全称是Value Function Approximation。
原理
正如其英文名所示,“价值函数估计”的本质就是一种可以近似估计强化学习系统中价值函数(value function)的方法。如图1所示,对价值函数的估计可以分为3类,这3类分别对应着3种类型的价值函数。
图1 价值函数的3种分类
从图中可以看出,“价值函数估计”的本质也是一种函数映射,输入系统的状态(s)和agent的动作(a),输出其在这种状态下的价值函数,也就是图中的v和q。w是权值,代表了这种映射的内在参数。
以图1最左边的价值函数为例,“价值函数估计”问题就是为了得到最优的参数w,使得价值函数的估计值最接近于真实值。但是这个真实值往往是不知道的,在实际应用中,都是用强化学习系统的真实奖励值予以替代。
从上面这个公式我们可以看出,“价值函数估计”采用的是监督式学习方法,它以强化学习系统反馈的奖励(reward)为数据标签(label),系统的状态和agent的行动为数据特征(feature)。
既然有了特征和标签,那么我们就可以应用各种监督式学习算法来完成对价值函数的估计工作。
在具体实践中,这些方法可以进一步被分成两类:递增方法(incremental methods);批量方法(batch methods)。接下来对这两类方法作简要介绍。
拓展:递增方法
递增方法就是在监督式训练过程中,使用梯度的思想,利用经验重放(experience replay)对参数进行不断优化。直观地说,就是利用下面这个公式对数据进行逐个学习,不断地更新上述的权值,从而得到最优的参数。
结合Model-free的强化学习框架,使用递增方法进行价值函数估计的算法结构如图2和图3所示。
图2 基于梯度蒙特卡洛算法的价值函数估计
图3 基于半梯度时间差分的价值函数估计
拓展:批量方法
之前提到的递增方法利用的是经验重放(experience replay),得到最优参数可能需要很多个回合(iteration)。
而批量方法就是在监督式训练过程中,利用全部训练数据,直接计算得到参数,就像下面的公式所展示的那样。很明显这需要付出更多的计算复杂度。
总结
根据价值函数的估计,就可以在某一状态下选择最大化价值函数的行动(action),从而完成强化学习的控制和更新优化过程。
但是现阶段的“价值函数估计”方法可能会陷入局部最优解中,而且收敛性并不能得到保证。AI君相信未来会出现更多的改进算法来解决这些问题,让我们拭目以待。
后话
请在文章末尾留言写出你的想法,告诉AI君你最想了解的人工智能算法,我就会优先写出你想看的文章哦。
最后,请大家帮忙多多转发《AI技术词条》系列文章,感激不尽!
祝好!
AI君
2018年1月29日 于欧洲
领取专属 10元无门槛券
私享最新 技术干货