Ian Papa作者

Score Function Trick及其在机器学习中的应用

机器学习中有很多有意思的 Trick,Deepmind 的 Shakir Mohamed (http://blog.shakirm.com) 维护了一个高质量的博客,其中写了一系列的机器学习 Trick,包括 Score Function 和 Reparameterisation。

本文接着上文蒙特卡洛梯度估计方法(MCGE)简述继续深入,单独从 Score Function 这个话题进行介绍。

本文内容主要包括:

  • Score Function 的定义和性质 
  • Score Function 的应用:变分推断强化学习

Score Function (SF) 介绍

SF的定义 

先从最大似然估计(MLE)说起,在学习统计时,最常见的一个操作是通过 MLE 来估计参数,为方便计算一般都采样对数似然函数(Log Likelihood, LL)作为目标函数,如下:

记 L(θ)=log p(x;θ),求最优的一个最直接方法就是令其对参数导数为 0,如下:

这里 L(θ) 的一阶导数即为Score Function,记为:

即:求 MLE 相当于求解 Score 方程。如果继续对参数进行求导,会得到另一个非常有价值的量 Fisher Information,如下:

Fisher Information 经常用来衡量样本信息量,是一个非常有价值的指标(后面专门写一篇介绍 Fisher Information 的文章)。由上式可以看出,Fisher 信息量是 Score Function 的负导数

SF的性质 

SF 之所以在机器学习中非常有用,是因为具有非常好的性质:

  • 与 MLE 有着密不可分的关系,参看公式 (2) (3)
  •  SF 的期望等于 0,推导如下:

推导中用到了一个符合函数求导的公式,如下:

期望为 0 是一个非常好用的性质,比如:

这里的 b 是 baseline,在估计梯度时可以起到降低估计方差的作用,具体会在应用中讲到。SF 的方差为 Fisher Information,推导如下:

用来估计梯度时,可以松弛对代价函数的要求,不必使得代价函数可微,因此可以用来优化很多不可导的目标问题甚至是黑箱问题。

Score Function应用

SF 在机器学习中有着广泛的应用,尤其是在变分推断强化学习中作用巨大。本节将通过详细的推导,对 SF 的应用进行介绍。 

变分推断 

VI 的思路和 EBLO 的推导已在蒙特卡洛梯度估计方法(MCGE)简述中进行了详细介绍,这里不再赘述。

推导出的优化问题如下:

其中,x 是观测变量,z 是隐变量,q(z) 是变分分布,λ 是变分分布的参数

计算 L(λ) 的梯度如下:

公式 (10) 倒数第三行到导数第二行的推导利用了 score function 的期望为 0 这一性质,基于公式 (10) 就可以利用蒙特卡洛采样进行梯度估计,然后利用随机优化算法进行参数的更新。算法流程图如下:

参数估计除了要保证无偏之外,还希望估计的方差要尽量小。在此基础上,本文介绍一种经典的降低方差的方法 Control Variates,也会用到 score function 的一些性质。 

这里,假设一个估计是 f,希望可以找到一个新估计,使得:

控制变量法是构造一类估计函数,定义如下:

其中,a 是一个标量,h 是一个函数。由公式 (12) 容易得到,f 和的期望相同,方差如下:

直观上讲,Cov(f,h) 越大,新估计的方差越小,控制变量效果越好。令:

可得:

最优参数值是协方差和方差之比。为了方便计算,函数 h(z) 的选择是 score function,即:

所以,E[h(z)]=0。 

用新的估计来替换公式 (10) 中的估计 f,如下:

基于蒙特卡洛采样对梯度进行估计,从上述推导中可以保证新的估计方差会更小。 

强化学习

强化学习中有一类方法是无模型的策略梯度优化算法,本节将从 Score Function 的角度来推导 REINFORCE 及其变种。 

策略梯度优化算法需要解决的问题是:

优化目标是一个函数的期望,如果用基于梯度的优化方法,需要对期望的梯度进行估计。其中,γ 是一个 rollout,r(γ) 是该 rollout 的 reward,p(γ) 是这个 rollout 的分布。所以,由 score function 来推导 REINFORCE 如下:

通过对 rollout 进行采样来估计该期望的梯度,从而进行参数优化。从推导中可以看出,该方法并不要求代价函数可微,这个性质非常好,对于一些不可微的代价函数甚至是一些没有显式函数形式的黑盒函数的期望进行优化。 

根据公式 (5) score function 的期望为 0,可推导出加了 baseline 版本的 REINFORCE。

通过添加 baseline 这一项,参见公式 (17) 可见,选择一个合适的 baseline 可以有效降低梯度估计的方差,提高优化的效率。 

这里简单介绍了利用 score function 的性质来推导 REINFORCE 以及加了 baseline 的版本,对于随机优化问题来说,还有很多地方值得研究,比如估计梯度时的采样分布并不方便采样,可以借助重采样进行采样;比如为了保证收敛效果,可以考虑增加一些相应的约束条件;比如除了 score function 之外,pathwise derivative 也是一个常用的梯度估计方法。 

Policy Gradient 有一系列的方法,这类基于优化来做的方法,都有一定的共性,后面会抽空来写一个 Policy Gradient 的小综述,从最基础的 REINFORCE 开始,到最新的一些方法。具体会参考下图:

总结

score function 是一个非常有用的 trick,在梯度估计和方差降低两个基础问题中作用明显。在很多研究中 score function 还有一些其他名字,如:Likelihood Ratio,Automated Variational Inference,REINFORCE,Policy Gradients 等。

由上述两个应用可以看出,做函数期望的优化问题时,核心思路是通过一些 trick 将期望的梯度变成梯度的期望,从而利用蒙特卡洛采样对期望进行估计,然后利用随机优化算法,对所优化参数进行更新。梯度估计的方差越小,估计就越准确,优化求解效率就会越高。 

从核心计算问题上来看,变分推断强化学习是可以统一起来的,下图可以看出,从期望梯度估计问题出发,变分推断强化学习两个领域中的一些概念可以完全映射起来,两个问题完全可以协同着进行研究,其中一个领域诞生的新计算方法都可以在另一个领域进行尝试。

后续,会写一些相关综述,计划如下:

  • score function 的姊妹篇——pathwise derivative 
  • 降低估计方差的常见方法 
  • 变分推断的“前世今生” 
  • 策略梯度的“从古到今” 
  • DNN 预测不确定性估计的方法综述

参考文献

[1] Ranganath, R., Gerrish, S., & Blei, D. M. (2014). Black Box Variational Inference. In Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics (pp. 814–822). 

[2] http://blog.shakirm.com 

[3] https://lilianweng.github.io 

[4] Weber, T., Heess, N., Eslami, A., Schulman, J., Wingate, D., & Silver, D. (2015). Reinforced Variational Inference. In NIPS ABIW 2015 (2015).

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论强化学习最大似然估计机器学习
3
相关数据
重采样技术

重采样是指根据一类象元的信息内插出另一类象元信息的过程。在遥感中,重采样是从高分辨率遥感影像中提取出低分辨率影像的过程。常用的重采样方法有最邻近内插法(nearest neighbor interpolation)、双线性内插法(bilinear interpolation)和三次卷积法内插(cubic convolution interpolation)。

随机优化技术

随机优化(SO)方法是生成和使用随机变量的优化方法。 对于随机问题,随机变量出现在优化问题本身的表述中,其涉及随机目标函数或随机约束。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

变分推断技术

see Variational Bayesian methods (approximation)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

最大似然估计技术

极大似然估计是统计学中用来估计概率模型参数的一种方法

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

似然函数技术

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“ 似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。

隐变量技术

在统计学中,隐变量或潜变量指的是不可观测的随机变量。隐变量可以通过使用数学模型依据观测得的数据被推断出来。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~