最近,我读了Yann Dauphin等人的论文。识别和解决高维非凸优化中的鞍点问题,他们引入了一种有趣的下降算法,称为“无鞍牛顿”,该算法似乎是专门为神经网络优化设计的,因此不会卡在鞍点上像香草SGD这样的一阶方法。
该论文的历史可以追溯到2014年,因此并不是什么新鲜事物,但是,我还没有看到它被“野外使用”。为什么不使用此方法?对于现实世界中存在的问题/网络,Hessian计算是否过于严格?该算法是否甚至有一些开源实现,可能与某些主要的深度学习框架一起使用?
2019年2月更新:现在有一个实现:https : //github.com/dave-fernandes/SaddleFreeOptimizer)
好问题,我什么也找不到。但是,伪代码非常简单,因此您可以自己尝试一下,在这种情况下,作者的一篇博士论文中有一些有用的实现细节(第103页,papyrus.bib.umontreal.ca/xmlui/bitstream/handle / 1866/13710 /…)
—
galoosh33年
我在Uber深度神经进化博客文章中找到了对同一篇论文的参考。链接:eng.uber.com/deep-neuroevolution您可能会问作者是否有任何在线实现或通过GitHub共享。
—
Cantren '17
这是TensorFlow的实现:github.com/dave-fernandes/SaddleFreeOptimizer
—
Dave F
如果我不得不猜测,我的假设是当您的模型具有数百万个参数时,计算+反转Hessian是不切实际的。
—
Sycorax说要
您可以从“是否有实施方案”中提炼您的问题?这似乎负担得起,是/否的答案和/或听起来像是软件请求(此处不合主题)。能否将您的问题解释为“什么困难可以解释为什么似乎没有更多的实现”?
—
gung-恢复莫妮卡