赞
踩
简单的介绍一下什么是随机梯度下降,为什么要用随机梯度下降这个方法。
在我们进行深度学习的时候,对于神经网络的输出结果,我们需要知道结果对不对,以及每个神经元的阈值和权重对不对,对于以及我调整一下权重和阈值,神经网络的输出结果和我们预期的输出结果会更接近还是误差更大。如果更接近,那么我们可以继续调整权重和阈值,让神经网络的输出结果等于预期。那么我们如何进行定量的分析呢?不能只依靠感觉,这个时候,我们引入函数
也就是说,我们现在是要求一个函数的最小值,让我们仅仅从数学方面思考,如何求解一个函数的最小值。假设有一个函数
我们先假设在求一个二元函数的最小值,它的图像如图所示:
假设我们在这个图像曲面上放置一个小球,它受到重力影响,肯定会往下滑落,而最终停止的地方,就是整个函数的最小值,这个就是梯度下降的大致思想。为了更清楚的说明这个问题, 我们把
根据前面的介绍,我们已经可以算出最小点在哪里了(理论上),但是随机梯度下降还有一些问题,我在这里说两个: (1)容易陷入局部极小值,在前面的图中,我们只画出了一个全局极小值点,所以梯度下降可以直接找到最小点,但是在实际中,函数会有很多局部极小值,因此梯度下降可能会停止在局部极小值中,而不是全局极小值。 (2)计算量太大,注意到式(1),我们计算所有输入图像的cost function,然后取平均,这样计算量太大了。 因此,我们可以通过计算一个小样本里的
参考资料:《Neural Networks and Deep Learning》 Michael Nielsen
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。