分类目录:《机器学习中的数学》总目录 相关文章:
· 梯度下降法(Gradient Descent) · 随机梯度下降(Stochastic Gradient Descent, SGD) · 牛顿迭代法(Newton‘s Method) · 拟牛顿法(Quasi-Newton Methods) · Momentum(Gradient Descent with Momentum, GDM) · Nesterov Momentum · AdaGrad · RMSProp · Adam(Adaptive Moments) · 共轭梯度法(Conjugate Gradient) · 遗传算法(Genetic Algorithm) · 粒子群算法
共轭梯度下降法的经济表示 共轭梯度法简称_深度学习· 基础知识共轭梯度下降法的经济表示 共轭梯度法简称_深度学习· 带惯性权重的粒子群算法共轭梯度下降法的经济表示 共轭梯度法简称_深度学习· 改进的粒子群算法 · 模拟退火算法(Simulated Annealing,SA)


共轭梯度是一种通过迭代下降的共轭方向(Conjugate Directions)以有效避免Hessian矩阵求逆计算的方法。这种方法的灵感来自对最速下降方法弱点的仔细研究,其中线搜索迭代地用于与梯度相关的方向上。下图说明了该方法在二次碗型目标中如何表现的,是一个相当低效的来回往复,锯齿形模式。这是因为每一个由梯度给定的线搜索方向,都保证正交于上一个线搜索方向。

共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_04


假设上一个搜索方向是共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05。在极小值处,线搜索终止,方向共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05处的方向导数为零:共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_07。因为该点的梯度定义了当前的搜索方向,共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_08将不会贡献于方向共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05。因此方向共轭梯度下降法的经济表示 共轭梯度法简称_优化_10正交于共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05。最速下降多次迭代中,方向共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05共轭梯度下降法的经济表示 共轭梯度法简称_优化_10之间的关系如上图所示。如上图展示的那样,下降正交方向的选择不会保持前一搜索方向上的最小值。这产生了锯齿形的过程。在当前梯度方向下降到极小值,我们必须重新最小化之前梯度方向上的目标。因此,通过遵循每次线搜索结束时的梯度,我们在某种程度上撤销了在之前线搜索的方向上取得的进展。共轭梯度试图解决这个问题。

在共轭梯度法中,我们寻求一个和先前线搜索方向共轭的搜索方向,即它不会撤销该方向上的进展。在训练迭代共轭梯度下降法的经济表示 共轭梯度法简称_优化_14时,下一步的搜索方向共轭梯度下降法的经济表示 共轭梯度法简称_优化_15的形式如下:
共轭梯度下降法的经济表示 共轭梯度法简称_共轭梯度下降法的经济表示_16

其中,系数共轭梯度下降法的经济表示 共轭梯度法简称_优化_17的大小控制我们应沿方向共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05加回多少到当前搜索方向上。

如果共轭梯度下降法的经济表示 共轭梯度法简称_深度学习_19,其中共轭梯度下降法的经济表示 共轭梯度法简称_机器学习_20是Hessian矩阵,则两个方向共轭梯度下降法的经济表示 共轭梯度法简称_优化_15共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_05被称为共轭的。适应共轭的直接方法会涉及共轭梯度下降法的经济表示 共轭梯度法简称_机器学习_20特征向量的计算以选择共轭梯度下降法的经济表示 共轭梯度法简称_优化_17。这将无法满足我们的开发目标。我们有不进行这些计算而得到共轭方向的的方法,两种用于计算共轭梯度下降法的经济表示 共轭梯度法简称_优化_17

  • Fletcher-Reeves:共轭梯度下降法的经济表示 共轭梯度法简称_共轭梯度下降法的经济表示_26
  • Polak-Ribi`ere:共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_27

对于二次曲面而言,共轭方向确保梯度沿着前一方向大小不变。因此,我们在前一方向上仍然是极小值。其结果是,在共轭梯度下降法的经济表示 共轭梯度法简称_共轭梯度下降法的经济表示_28维参数空间中,共轭梯度只需要至多共轭梯度下降法的经济表示 共轭梯度法简称_共轭梯度下降法的经济表示_28次线搜索就能达到极小值。

共轭梯度法(Conjugate Gradient)
输入:初始参数共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_30
输出:神经网络参数共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_31
(1) 初始化共轭梯度下降法的经济表示 共轭梯度法简称_深度学习_32
(2) while共轭梯度下降法的经济表示 共轭梯度法简称_优化_33
(3) 共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_34从训练集中采包含共轭梯度下降法的经济表示 共轭梯度法简称_机器学习_35个样本共轭梯度下降法的经济表示 共轭梯度法简称_深度学习_36的小批量,其中共轭梯度下降法的经济表示 共轭梯度法简称_优化_37对应目标为共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_38
(4) 共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_34计算梯度:共轭梯度下降法的经济表示 共轭梯度法简称_优化_40
(5) 共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_34计算共轭梯度下降法的经济表示 共轭梯度法简称_机器学习_42共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_43(Polak-Ribière)
(6) 共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_34计算搜索方向:共轭梯度下降法的经济表示 共轭梯度法简称_深度学习_45
(7) 共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_34执行线搜索寻找:共轭梯度下降法的经济表示 共轭梯度法简称_人工智能_47(对于真正二次的代价函数,存在共轭梯度下降法的经济表示 共轭梯度法简称_机器学习_48的解析解,而无需显式地搜索)
(8) return 共轭梯度下降法的经济表示 共轭梯度法简称_深度学习_49

本文我们主要关注于探索训练神经网络和其他相关深度学习模型的优化方法,其对应的目标函数比二次函数复杂得多。或许令人惊讶,共轭梯度法在这种情况下仍然是适用的,尽管需要做一些修改。没有目标是二次的保证,共轭方向也不再保证在以前方向上的目标仍是极小值。其结果是,非线性共轭梯度算法会包括一些偶尔的重设,共轭梯度法沿未修改的梯度重启线搜索。

在实践中使用非线性共轭梯度算法训练神经网络是合理的,尽管在开始非线性共轭梯度前使用随机梯度下降迭代若干步来初始化效果更好。另外,尽管非线性共轭梯度算法传统上作为批方法,小批量版本已经成功用于训练神经网络。针对神经网路的共轭梯度应用早已被提出,例如缩放的共轭梯度算法。