Gradient Descent存在局部最小值的问题。我们需要运行梯度下降指数时间来找到全局最小值。
任何人都能告诉我梯度下降的任何替代方案的优点和缺点。
感谢。
答案 0 :(得分:16)
有关非常相似的列表,请参阅my masters thesis:
您可能还想查看我关于optimization basics和Alec Radfords漂亮的GIF的文章:1和2,例如
其他有趣的资源是:
我认为所有发布的优化算法都有一些具有优势的场景。一般权衡是:
答案 1 :(得分:7)
与使用的方法相比,这是一个更小的问题,如果找到真正的全局最小值很重要,那么使用模拟退火等方法。这将能够找到全局最小值,但可能需要很长时间才能完成。
在神经网络的情况下,局部最小值不一定是那么大的问题。一些局部最小值是由于您可以通过置换隐藏层单元或取消网络的输入和输出权重来获得功能相同的模型。此外,如果局部最小值仅略微不是最优的,那么性能差异很小,所以它并不重要。最后,这是一个重要的观点,拟合神经网络的关键问题是过度拟合,因此积极地搜索成本函数的全局最小值可能会导致过度拟合和模型表现不佳。
添加正则化项,例如重量衰减,可以帮助平滑成本函数,这可以减少局部最小值的问题,并且我会建议作为避免过度拟合的手段。
避免神经网络中局部最小值的最佳方法是使用高斯过程模型(或径向基函数神经网络),它具有较少的局部最小值问题。
答案 2 :(得分:1)
局部最小值是解空间的属性,而不是优化方法。一般来说,它是神经网络的问题。诸如SVM之类的凸方法在很大程度上得到了普及,因为它。
答案 3 :(得分:0)
Extreme Learning Machines本质上,它们是一个神经网络,其中连接输入到隐藏节点的权重是随机分配的,永远不会更新。通过使用矩阵求逆求解线性方程,在单个步骤中学习隐藏节点和输出之间的权重。
答案 4 :(得分:0)
已经证明,在高维空间中不太可能发生卡在局部最小值中的情况,因为在所有维中 all 导数都等于零的可能性很小。 (来源Andrew NG Coursera DeepLearning专业化研究)这也解释了为什么梯度下降如此之好。