我想知道是否存在梯度下降不会收敛到最小的情况。
我知道,梯度下降并不能始终保证收敛到全局最优值。我也知道,如果步长太大,它可能会偏离最佳值。但是,在我看来,如果它偏离某个最佳值,那么它将最终达到另一个最佳值。
因此,将保证梯度下降收敛到局部或全局最优。那正确吗?如果没有,您能否提供一个粗略的反例?
我想知道是否存在梯度下降不会收敛到最小的情况。
我知道,梯度下降并不能始终保证收敛到全局最优值。我也知道,如果步长太大,它可能会偏离最佳值。但是,在我看来,如果它偏离某个最佳值,那么它将最终达到另一个最佳值。
因此,将保证梯度下降收敛到局部或全局最优。那正确吗?如果没有,您能否提供一个粗略的反例?
Answers:
梯度下降是一种旨在找到最佳点的算法,但是这些最佳点不一定是全局的。是的,如果发生了它偏离本地位置的情况,它可能会收敛到另一个最佳点,但是其可能性并不太大。原因是步长可能太大,无法促使步伐降低一个最佳点,并且步幅波动的可能性远大于收敛。
关于梯度下降,主要有两个观点,机器学习时代和深度学习时代。在机器学习时代,人们认为梯度下降将找到局部/全局最优,但在深度学习时代,输入特征的维数过大,实践证明,所有特征都位于最优值的概率在单个点上不是太多,而是希望在成本函数中找到最佳位置,因此大多数时候都可以观察到鞍点。这是大量数据训练和训练时期导致深度学习模型优于其他算法的原因之一。因此,如果您训练模型,它会绕道而行或走下坡路并且不会卡在鞍点上,但是您必须具有适当的步长。
从您提到的观点出发(收敛到非全局最小值,以及较大的步长可能导致非收敛算法),“拐点范围”也可能是一个问题。
考虑以下“躺椅”功能类型。
显然,可以将其构造为使得中间存在一个范围,其中梯度为0向量。在此范围内,算法可能会无限期陷入困境。拐点通常不被认为是局部极值。
[注2019年4月5日:该文件的新版本已在arXiv上更新,并获得了许多新结果。我们还将介绍Momentum和NAG的回溯版本,并在与“回溯梯度下降”相同的假设下证明收敛。
源代码可从GitHub上的链接获得: https //github.com/hank-nguyen/MBT-optimizer
我们改进了适用于DNN的算法,并获得了比最新算法(例如MMT,NAG,Adam,Adamax,Adagrad等)更好的性能。
我们算法的最特殊之处在于它们是自动的,您不需要像通常的做法那样手动对学习率进行微调。我们的自动微调本质上不同于Adam,Adamax,Adagrad等。本文中有更多详细信息。
]
基于最近的结果:在本文的联合工作中https://arxiv.org/abs/1808.05160
,只有很少数量的临界点,总是会收敛到临界点或发散到无穷大。通用函数(例如所有摩尔斯函数)都满足此条件。我们还表明,从某种意义上说,极限点很少会成为鞍点。因此,如果您所有的临界点都不是退化的,那么从某种意义上说,极限点都是最小值。[有关标准梯度下降情况下的已知结果,也请参见引用的论文中的参考文献。]
基于以上所述,我们提出了一种新的深度学习方法,该方法与当前的最新方法相当,并且不需要人工调整学习速率。(简而言之,您的想法是您要在一定时间内运行回溯梯度下降,直到您看到随着每次迭代而变化的学习率趋于稳定。我们希望这种稳定,尤其是在临界点由于上面提到的收敛结果,C ^ 2是非简并的,此时,您切换到标准梯度下降法,请参阅引用的论文以获取更多详细信息,该方法也可以应用于其他最佳算法)
PS关于您关于标准梯度下降方法的原始问题,据我所知,仅在地图的导数为全局Lipschitz并且学习率足够小以至于标准梯度下降方法被证明收敛的情况下。[如果不满足这些条件,有简单的反例表明不可能收敛,请参见引用的论文。]在上面引用的论文中,我们认为,从长远来看,回溯梯度下降法将成为标准梯度下降法,这解释了为什么标准梯度下降法通常在实践中能很好地工作。