在神经网络中,为什么要使用梯度方法而不是其他元启发法?


20

在训练深层和浅层神经网络时,为什么通常使用梯度方法(例如梯度下降,Nesterov,Newton-Raphson),而不是其他元启发式方法?

通过元启发法,我指的是诸如模拟退火,蚁群优化等方法,旨在避免陷入局部最小值。


Answers:


13

扩展@Dikran Marsupial的答案...

安娜·乔罗曼斯卡(Anna Choromanska)和她在纽约大学Yan LeCunn研究小组的同事在其2014年AISTATS论文“多层网的损耗表面”中对此进行了阐述。他们使用随机矩阵理论以及一些实验得出以下结论:

  • 对于大型网络,大多数局部最小值是等效的,并在测试集上产生相似的性能。

  • 对于小型网络,找到“不良”(高值)局部最小值的可能性非零,并且随着网络规模的增加而迅速降低。

  • 努力寻找训练集上的全局最小值(而不是许多本地最佳集之一)在实践中没有用,并且可能导致过度拟合。

[摘自论文第二页]

在这种观点下,没有足够的理由采用权重较大的方法来找到全局最小值。最好将这段时间花在尝试新的网络拓扑,功能,数据集等上。

也就是说,许多人已经考虑过增加或替换SGD。对于相对较小的网络(按当代标准),这些改进的变元方法似乎确实做了某些事情,Mavrovouniotis和Yang(2016)表明,在几个基准数据集上,蚁群优化+反向支持优于未修改的反向支持(尽管不是很多)。里尔 (2015年)使用模拟退火来训练CNN,并发现其最初在验证集上的表现更好。但是,经过10个时间段后,性能仅会出现很小的差异(并且未经测试)。更快的每时间收敛优势也被每时间显着更大的计算时间所抵消,因此对于模拟退火而言,这并不是显而易见的胜利。

这些启发式方法可能会更好地初始化网络,并且在将其指向正确的路径后,任何优化器都可以做到。Sutskever等。杰夫·欣顿(Geoff Hinton)小组的(2013)在他们的ICML 2013年论文中提出了类似的观点。


17

对于神经网络来说,局部极小值并不是真正经常提出的问题。一些局部最小值是由于网络的对称性(即,您可以置换隐藏的神经元并保留功能网络的数量不变。所有必要的是找到一个好的局部最小值,而不是全局最小值。积极地优化非常灵活的模型(例如神经网络)时,可能会过度拟合数据,因此,例如使用模拟退火查找训练准则的全局最小值,可能会使神经网络的性能更差泛化性能,而不是通过梯度下降训练的结果,其结果是局部最小值。如果使用这些启发式优化方法,则建议使用正则化项来限制模型的复杂性。

…或另选使用例如核方法或径向基函数模型,这可能会减少麻烦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.