TensorFlow 学习(九):CNN-梯度下降

梯度下降是常用的卷积神经网络模型参数求解方法,根据每次参数更新使用样本数量

的多少,可以分为以下三类:

批量梯度下降(batch gradient descent,BGD);

小批量梯度下降(mini-batch gradient descent,MBGD);

随机梯度下降(stochastic gradient descent,SGD)。

求参数过程即最小化损失函数过程。比如有一个含有D个训练数据的数据集,损失函数如

下:

批量梯度下降(batch gradient descent,BGD)

批量梯度下降法(Batch Gradient Descent,简称BGD)是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新。对几百万个样本集,训练时间和内存都不可取。

随机梯度下降(stochastic gradient descent,SGD)

由于批量梯度下降法在更新每一个参数时,都需要所有的训练样本,所以训练过程会

随着样本数量的加大而变得异常的缓慢。随机梯度下降法(Stochastic Gradient Descent,简称SGD)正是为了解决批量梯度下降法这一弊端而提出的。

小批量梯度下降(mini-batch gradient descent,MBGD)

有上述的两种梯度下降法可以看出,其各自均有优缺点,那么能不能在两种方法的性

能之间取得一个折衷呢?即,算法的训练过程比较快,而且也要保证最终参数训练的准确率,而这正是小批量梯度下降法设计的初衷。

MBGD在每次更新参数时使用b个样本(b一般为较小的数如100)

猜你喜欢

转载自blog.csdn.net/lusics/article/details/88073821
今日推荐