梯度下降算法_梯度下降算法被高估了!了解有趣的无梯度神经网络优化方法

全文共3284字,预计学习时长9分钟

d844df017938f4c5d1ea5eb02f9eb131.png

图源:unsplash

梯度下降算法于1847年因柯西(Cauchy)而问世,Haskell Curry在1944年进一步将其阐述为非线性优化问题。到现在,梯度下降已用于从线性回归到深度神经网络的所有算法。

在机器学习中,梯度下降法是最为重要的概念之一。给定一些要最小化的代价函数,该算法会以迭代方式采取最大向下斜率步骤,理论上经过足够的迭代次数后,便会得到一个最小值。

如今,梯度下降及其反向传播形式的再次利用已成为机器学习最伟大的突破之一,但是,神经网络的优化仍未解决。网上有许多人尽其所能,极力宣称“梯度下降很糟糕”,虽然可能有些言过其实,但梯度下降算法确实存在许多问题。

· 优化器容易出现局部极小值问题。诚然,可以帮助优化器越过大坡的动量、随机梯度下降法,还有消除误差空间的批归一化都是很巧妙的解决方法,但局部极小值问题仍然是神经网络许多分支问题的根源。

82cdc4d03692407f62cf8aa52f58ffe6.png

· 由于优化器深受局部极小值驱使,即便它极力摆脱后者,也要用很长时间。因收敛速度慢,梯度下降法通常十分冗长,即使是适应像批量梯度下降这样的大数据集之后也是如此。

· 学习率决定优化器的可靠程度和风险度。学习率设置过高可能会导致优化器忽略全局最小值,而过低则会导致运行时崩溃。解决此问题需要设置随着衰减而变化的学习率,但是在决定学习率的许多其他变量中选择衰减率很困难。

· 梯度下降对优化器的初始化尤为敏感。例如,优化器在第二个局部最小值而非第一个局部最小值附近进行初始化,则优化器的性能可能会更优,但这都是随机决定的。

· 梯度下降需要梯度,这意味着除了无法处理不可微函数之外,还容易出现诸如梯度消失或梯度爆炸等梯度问题。

当然,梯度下降已受到广泛研究,且有许多解决方案——其中一些是梯度下降变体,另一些基于网络架构——在某些情况下起作用。不能仅因为梯度下降被高估就意味着它不是现阶段可用的最佳解决方案。不过,使用批归一化来消除误差空间或选择复杂的优化器(如Adam或Adagrad)等并不是本文的重点,即使它们通常表现更好。

相反,本文想要对更为模糊和确定的一些有趣优化方法进行一些有价值的说明,这些方法不符合基于梯度的标准要求,就像其他用于提高神经网络性能的技术一样,在特定任务中效果显著,但在其他时候效果不行。然而,不论这些方法在某个特定任务上的表现如何,它们都令人着迷,创造性十足,且是未来机器学习一个前景广阔的研究领域。

84e808679d03e3c5b94cde713d51ec7d.png

粒子群优化

粒子群优化(PSO)是一种基于群组的方法:定义一组探索搜索空间的“粒子”,试图求解最小值。PSO基于一定的质量度量迭代地改进候选解,根据简单的数学规则移动一群潜在的解(“粒子”),如粒子的位置和速度,以此来解决问题。

每个粒子的运动都会受到局部位置的影响,此局部位置是粒子本身找到的最优位置,但也会被搜索位置中最优越的位置(被其他粒子发现)吸引。理论上,粒子群经过数次迭代移动找到最佳解决方案。

d4effe84dfedb5fc48352573578bc85a.gif

相较于神经网络,PSO对初始化不那么敏感,且粒子间基于某些研究结果的通信交流证明它对搜索稀疏区和大面积区非常有效。

因为粒子群优化并非基于梯度(gasp!),它不需要可微的优化问题,因而使用PSO来优化神经网络或任何其他算法会在其他算法中对激活函数或等效作用的选择中拥有更多的自由和更低的敏感性。此外,它对正在优化的问题几乎不做任何假设,可以在非常巨大的空间中搜索。

可以想象,基于种群的方法的计算量可能比基于梯度的优化器稍大一些,但这并不是必要的。因为算法十分开放且非刚性,基于变化的算法通常可以控制粒子数量、粒子移动的速度、全球共享的信息的数量等等,就像可以调整神经网络的学习率的方法一样。

f8f7436010d61bf541de3167cc1aa9db.png

图源:unsplash

1374c186e4810453be75b6b7279ef036.png

替代优化

替代优化是一种求解最小值的优化方法,尝试用另一个完善的函数来建立损失函数的模型。该技术从损失函数中采样数据点,尝试取不同的参数值(x)并存储损失函数的值(y)。在收集了足够的数据点后,替代函数(本例中为7级多项式)与收集的数据拟合。

fdfff23b52ddee5c5523acfde40b69fb.png

因为求解多项式最小值已被深入研究过,且存在许多利用导数求解全局最小值的方法,这些方法都十分有效,因而可以假设替代函数的全局最小值与损失函数相同。

替代优化技术上是一种非迭代方法,但替代函数的训练通常是迭代的。此外,替代优化技术上是一种无梯度方法,但通常用来找寻模型函数全局最小值的有效的数学方法都基于导数。但因为迭代属性和基于梯度属性都是次要的替代优化,它可以处理大数据和不可微的优化问题。

利用替代函数进行优化在一些方面确实相当巧妙:

· 本质上来说,它使损失函数曲面更加光滑,减少参差不齐的局部极小值,避免凌乱的局部极小值给神经网络增加额外训练时间。

· 它将难题变得更为简单:不论是多项式、径向基函数、类属编程、MARS或其他替代模型,求解全局极小值需要数学知识来推动。

· 替代模型的过度拟合算不上一个棘手的问题,因为即便有大量过度拟合,替代函数和真正损失函数相比还是更为平滑且整齐。在构建更具有数学倾向且已被简化的模型时,还有许多其他标准考虑事项,因此训练替代模型要容易得多。

· 替代优化并不局限于目前所处的位置,它着眼于整个函数,反对梯度下降,梯度下降必须继续就其所认为的下一个山形中即将出现的更小的极小值做出风险选择。

替代优化几乎总是比梯度下降快,但精确度却不如后者。利用替代优化仅能精确找到全局极小值的粗略定位,但即使这样它仍然大有帮助。

替代方法为混合模型——替代优化将神经网络参数粗略定位,之后便能利用梯度下降寻找准确的全局最小值。另一个替代方法为使用替代模型引导优化器的决定,因为替代函数既能够纵览全局,又对损失函数的特定起伏不敏感。

34b1113786d84897bc651e44238455d8.png

模拟退火

模拟退火是一个基于冶金学的退火概念,将材料加热至重结晶温度,以此来降低硬度,改变其他物理性质,偶尔也会改变其化学性质,接着将材料静置冷却至其重新坚固。

d763846db084088a511e941bcc55323b.png

图源:unsplash

利用缓冷概念,模拟退火随着解空间的探索程度缓慢提升接受较优解的概率。因为接受较差解考虑到更广泛地寻找全局最小值(思考越过山形寻找更深的低点),模拟退火假设这些可能性在第一次迭代中得到适当描述和探索。随着时间的推进,算法从探索转向开发。

下列是模拟退火算法运行的大致步骤:

· 温度设为初始正值,逐步趋于零。

· 在每个时间步上,算法随机选择接近当前解的解,测量其质量,并根据当前温度向其移动(接受较优或较差解的可能性)。

· 理论上,当温度为零时,此算法便会集中于一个全局极小解。

本模拟与动力学方程或随机抽样一同进行。模拟退火法之前用来解决旅行推销员问题,推销员试图在数百个位置之间找到最短距离,这些位置由数据点表示。显而易见,组合无穷无尽,但模拟退火有强化学习回忆,运行良好。

29b6d7756a246042022ab3194c737b30.gif

模拟退火解决旅行推销员问题

模拟退火尤其适用于在短时间内需要近似解的情况,比梯度下降速度更快。正如替代优化,模拟退火可与梯度下降混合使用以实现两者优势:模拟退火的速度与梯度下降的精度。

这些只是无梯度方法中的沧海一粟,还有许多其他算法有待探索,如模式搜索和多目标优化。人类的存在验证了它的正确性,诸如粒子群优化的遗传算法和种群算法对于创造真正的智能媒介前景广阔。

优化的无梯度方法令人着迷,它们充分发挥创造力,不受梯度数学链的限制。无梯度方法不太可能变成主流,然而,在这样一个达到计算极限的时代,利用无梯度和梯度方法和混合优化器一起显示出极高潜力,未来势必拥有无限可能。

aa2687f0d7899f5f69e3e85eb915ff1b.png

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值