本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【j2开奖】训练神经网络的五大算法:技术原理、内存与速度分析(3)

时间:2016-10-22 21:18来源:668论坛 作者:本港台直播 点击:
Hessian矩阵由损失函数的二阶偏导数组成。拟牛顿法背后的主要思想是仅使用损失函数的一阶偏导数, atv直播 ,通过另一矩阵G得到近似Hessian矩阵的逆。拟

  Hessian矩阵由损失函数的二阶偏导数组成。拟牛顿法背后的主要思想是仅使用损失函数的一阶偏导数,atv直播,通过另一矩阵G得到近似Hessian矩阵的逆。拟牛顿法的公式可表示为:

  wi+1= wi- (Gi·gi)·ηi, i=0,1,...

  训练速率η可以设置为固定值或通过线性最小化得到。最常用的两个公式是Davidon-Fletcher-Powell公式(DFP)和Broyden-Fletcher-Goldfarb-Shanno公式(BFGS)。

  拟牛顿法的训练过程如下图所示。先得到拟牛顿训练方向,然后找到满意的训练速率来执行参数的改进。

  

wzatv:【j2开奖】训练神经网络的五大算法:技术原理、内存与速度分析

  这是在大多数情况下使用的默认方法:它比梯度下降法和共轭梯度法更快,并且不需要精确计算和反转Hessian矩阵。

  5. Levenberg-Marquardt algorithm(莱文贝格-马夸特算法)

  Levenberg-Marquardt算法,又称阻尼最小二乘法,被设计为采用误差平方和形式的损失函数特定的算法。它不需精确计算Hessian矩阵,适用于梯度向量和Jacobian矩阵。

  下图是使用Levenberg-Marquardt算法的神经网络训练过程。第一步是计算损失值、梯度和Hessian逼近,然后调整阻尼参数,以减少每次迭代的损失。

  

wzatv:【j2开奖】训练神经网络的五大算法:技术原理、内存与速度分析

  Levenberg-Marquardt算法是针对误差平方和型函数的特定方法。这使它在训练神经网络中测量这种误差时非常快。但是,该算法也有一些缺点。缺点之一是它不能应用于诸如均方根误差或交叉熵误差函数。此外,它与正则项不兼容。最后,对于非常大的数据集和神经网络,Jacobian矩阵会变得非常大,因此需要的内存也非常大。因此,当数据集和/或神经网络非常大时,j2直播,不推荐使用Levenberg-Marquardt算法。

  内存和速度比较

  下图比较了本文中讨论的训练算法的计算速度和存储要求。可以看到,最慢的训练算法是梯度下降法,但它需要的内存最小。相反,最快的是Levenberg-Marquardt算法,但需要的内存也最大。比较好的折衷可能是拟牛顿法。

  

wzatv:【j2开奖】训练神经网络的五大算法:技术原理、内存与速度分析

  总而言之,如果我们的神经网络有成千上万的参数,我们可以使用梯度下降法或共轭梯度法,以节省内存。如果我们要训练的神经网络只有几千个样本和几百个参数,最好的选择可能是Levenberg-Marquardt算法。其余情况下,可以选择拟牛顿法。

  

wzatv:【j2开奖】训练神经网络的五大算法:技术原理、内存与速度分析

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容