楼主: 时光永痕
2305 1

[数据挖掘新闻] 梯度下降算法的替代方法 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)八级

7%

威望
0
论坛币
26 个
通用积分
57.2238
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34180 点
帖子
2732
精华
0
在线时间
321 小时
注册时间
2020-7-21
最后登录
2024-8-1

楼主
时光永痕 学生认证  发表于 2020-9-4 20:27:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
梯度下降算法的替代方法
梯度下降存在卡在局部极小值中的问题。可以使用以下替代方法。以下是最初在此处发布的CrossValided建议答案的摘要。
图片来源:这里
第一个答案
有许多优化算法可对固定数量的相关实数进行操作(不可分离)。我们可以将它们大致分为两类:基于梯度的优化器和无导数优化器。通常,您要使用梯度在有监督的设置中优化神经网络,因为它比无导数优化快得多。有许多基于梯度的优化算法已用于优化神经网络:   
随机梯度下降(SGD),小批量SGD,...:您不必评估整个训练集的梯度,而只需评估一个样品或一小批样品,通常比批梯度下降快得多。迷你批处理已用于平滑梯度并使前后传播并行化。与许多其他算法相比,优点是每次迭代都在O(n)中(n是您的NN中的权重数)。SGD通常是随机的,因此不会陷入局部最小值(!)。
非线性共轭梯度:似乎在回归中非常成功,O(n)需要批梯度(因此,对于大型数据集而言可能不是最佳选择)
L-BFGS:分类似乎很成功,使用Hessian近似,需要批次梯度
Levenberg-Marquardt算法(LMA):实际上,这是我所知道的最佳优化算法。它的缺点是其复杂度大约为O(n ^ 3)。不要将其用于大型网络!
提出了许多其他用于神经网络优化的算法,您可以使用Google进行免费的Hessian优化或v-SGD(有许多类型的SGD具有自适应学习率,请参见此处)。
NN的优化不是一个解决的问题!以我的经验,最大的挑战不是找到一个好的本地最小值。但是,面临的挑战是摆脱非常平坦的区域,处理不良条件的误差函数等。这就是为什么LMA和其他使用Hessian近似值的算法在实践中通常能很好地工作并且人们尝试开发随机版本的原因使用低复杂度的二阶信息。但是,微批处理SGD经常需要对参数集进行很好的调整,比任何复杂的优化算法都要好。
通常,您不想找到全局最优值。因为那通常需要过度拟合训练数据。
第二个答案
我知道这个线程已经很老了,其他人在解释局部极小值,过拟合等概念方面做得很出色。但是,由于OP正在寻找替代解决方案,因此我将尽自己的力量,并希望它能激发出更多有趣的想法。
想法是将每个权重w替换为w + t,其中t是遵循高斯分布的随机数。这样,网络的最终输出就是所有可能的t值的平均输出。这可以通过分析来完成。然后,您可以使用梯度下降或LMA或其他优化方法来优化问题。优化完成后,您有两个选择。一种选择是减少高斯分布中的sigma并一次又一次地进行优化,直到sigma达到0,然后您将获得更好的局部最小值(但可能会导致过度拟合)。另一个选择是继续使用权重为随机数的那个,它通常具有更好的泛化属性。
第一种方法是优化技巧(我称其为卷积隧道,因为它使用对参数的卷积来更改目标函数),它使成本函数格局的表面变得平滑,并摆脱了一些局部最小值,因此使查找全局最小值(或更好的局部最小值)更加容易。
第二种方法与噪声注入(权重)有关。注意,这是通过分析完成的,这意味着最终结果是一个单一的网络,而不是多个网络。
以下是两螺旋问题的示例输出。这三个网络的网络架构都是相同的:只有一个隐藏层,包含30个节点,输出层是线性的。使用的优化算法是LMA。左图为香草设置。中间是使用第一种方法(即将sigma重复减少为0);第三是使用sigma = 2。
三种方法的两螺旋问题的结果
您可以看到,最原始的解决方案是最差的,卷积隧穿效果更好,而噪声注入(使用卷积隧穿)则最好(就泛化属性而言)。
卷积隧穿和噪声注入的解析方式都是我的初衷。也许他们是某人可能感兴趣的选择。有关详细信息,请参见我的论文《将无穷多个神经网络合并为一个》。警告:我不是专业的学术作家,论文未经同行评审。如果您对我提到的方法有疑问,请发表评论。
第三个答案
当涉及到全局优化任务(即尝试找到目标函数的全局最小值)时,您可能想看看:  
模式搜索 (也称为直接搜索,无导数搜索或黑盒搜索),它使用模式  来确定下次迭代时要搜索的点。  
遗传算法 ,使用突变,交叉和选择的概念来定义要在优化的下一次迭代中评估的点的数量。
粒子群优化 定义了一组粒子,这些粒子“遍历”空间以搜索最小值。
替代优化 ,它使用替代模型来近似目标函数。当目标函数的评估成本很高时,可以使用此方法。  
多目标优化 (也称为帕累托优化),可用于无法以单一目标函数(而是目标向量)形式表示的问题。
模拟退火,它使用退火(或温度)的概念来权衡勘探和开发。它为每次迭代提出了新的评估点,但是随着迭代次数的增加,“温度”下降,算法探索空间的可能性越来越小,从而“收敛”到当前最佳候选位置。  
如上所述,模拟退火,粒子群优化和遗传算法是很好的全局优化算法,可以很好地在巨大的搜索空间中导航,与梯度下降不同,它不需要有关梯度的任何信息,可以成功地用于黑盒目标函数和问题需要运行模拟。   

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:梯度下降 marquardt crossval Hessian Google

沙发
myazure 发表于 2020-9-4 21:27:43

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-10 22:03