我阅读了关于消失梯度问题的文章,其中指出可以通过使用基于 ReLu 的激活函数来纠正该问题。
现在我无法理解,如果使用基于 ReLu 的激活函数可以解决问题,那么为什么有这么多研究论文建议使用基于牛顿方法的优化算法进行深度学习而不是梯度下降?在阅读研究论文时,我有一个强烈的印象,即消失梯度问题是这些建议的核心原因,但现在我很困惑如果可以修改梯度下降以纠正机器学习过程中面临的所有问题,是否真的需要牛顿方法。
我阅读了关于消失梯度问题的文章,其中指出可以通过使用基于 ReLu 的激活函数来纠正该问题。
现在我无法理解,如果使用基于 ReLu 的激活函数可以解决问题,那么为什么有这么多研究论文建议使用基于牛顿方法的优化算法进行深度学习而不是梯度下降?在阅读研究论文时,我有一个强烈的印象,即消失梯度问题是这些建议的核心原因,但现在我很困惑如果可以修改梯度下降以纠正机器学习过程中面临的所有问题,是否真的需要牛顿方法。
为什么有这么多研究论文建议使用基于牛顿方法的优化算法进行深度学习而不是梯度下降?
牛顿法比梯度下降法具有更快的收敛速度,这也是为什么它可以被建议作为梯度下降法的替代品的主要原因。
如果可以修改梯度下降以纠正机器学习过程中面临的所有问题,是否真的需要牛顿法?
梯度消失问题的存在取决于“激活函数”的选择和网络的“深度”。对于像Sigmoid这样的函数,牛顿法和梯度下降都将面临这个问题,因为在 Sigmoid 的平坦极端中,一阶和二阶导数都很小,并且随着深度呈指数消失。换句话说,这两种方法的问题都是通过函数的选择来解决的。
作为旁注,Sigmoid 的一阶和二阶导数以相同的速率变为零。这是Sigmoid 及其导数的图;放大到极端。