Supervised Descent Method 简单实现

本文介绍了Supervised Descent Method (SDM),一种基于机器学习解决复杂最小二乘问题的方法。通过学习梯度下降方向和建立回归模型,SDM有效地估计梯度和Hessian矩阵的乘积,避免直接求解Hessian矩阵。文中以牛顿法为背景,阐述了SDM如何通过模拟牛顿法过程,使用迭代公式逼近最优解,并通过贪心算法优化模型参数。最后,展示了SDM在一维函数实例中的应用。

前些天看了Supervised Descent Method and Its Applications to Face Alignment这篇文章,非常喜欢。这篇文章提出了一种基于机器学习来解决复杂最小二乘问题(least squares problem)的方法(简称SDM方法)。该方法思路很简洁,从训练数据中学习梯度下降的方向并建立相应的回归模型,然后利用得到的模型来进行梯度方向估计。

牛顿法是迭代求解最小二乘问题的常用方法,但是由于直接求Hessian矩阵往往代价非常高,人们常常采用别的方法来近似Hessian矩阵。这些采用近似Hessian矩阵的方法成为拟牛顿法。只要估计的Hessian矩阵足够接近真实的Hessian矩阵,拟牛顿法就可以高效地解决最小二乘问题。即便如此,从最小二乘的代价函数估计梯度、Hessian矩阵对于某些复杂的最小二乘问题仍然是非常困难的(或者根本就不可能),比如这篇文章中提到的关于SIFT特征的梯度以及Hessian矩阵。

那么能不能从别的角度来估计Hessian矩阵和梯度向量,或者,Hessian矩阵的逆与梯度向量的乘积呢?(其实对于牛顿法而言,梯度向量与Hessian逆矩阵的乘积直接决定了优化方向,所以如果可以直接估计他们的乘积,效果上是一样的。)

可是怎么估计呢?从大量的数据里面构造出这个关键的矩阵/向量来就好了嘛!假设要求解的最小二乘问题是 || f(x) - y ||^2 ,其中f是一个非常复杂的函数,

Many computer vision problems (e.g., camera calibration, image alignment, structure from motion) are solved through a nonlinear optimization method. It is generally accepted that 2 nd order descent methods are the most robust, fast and reliable approaches for nonlinear optimization of a general smooth function. However, in the context of computer vision, 2 nd order descent methods have two main drawbacks: (1) The function might not be analytically differentiable and numerical approximations are impractical. (2) The Hessian might be large and not positive definite. To address these issues, this paper proposes a Supervised Descent Method (SDM) for minimizing a Non-linear Least Squares (NLS) function. During training, the SDM learns a sequence of descent directions that minimizes the mean of NLS functions sampled at different points. In testing, SDM minimizes the NLS objective using the learned descent directions without computing the Jacobian nor the Hessian. We illustrate the benefits of our approach in synthetic and real examples, and show how SDM achieves state-ofthe-art performance in the problem of facial feature detection. The code is available at www.humansensing.cs. cmu.edu/intraface. 1. Introduction Mathematical optimization has a fundamental impact in solving many problems in computer vision. This fact is apparent by having a quick look into any major conference in computer vision, where a significant number of papers use optimization techniques. Many important problems in computer vision such as structure from motion, image alignment, optical flow, or camera calibration can be posed as solving a nonlinear optimization problem. There are a large number of different approaches to solve these continuous nonlinear optimization problems based on first and second order methods, such as gradient descent [1] for dimensionality reduction, Gauss-Newton for image alignment [22, 5, 14] or Levenberg-Marquardt for structure from motion [8]. “I am hungry. Where is the apple? Gotta do Gradient descent
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值