前言

我总觉得,书本上说的是一回事,实际是另一回事。应实际看看优化器到底怎么算的,用矩阵运算把结果复现出来。

SGD

官方文档

随机梯度下降(Stochastic Gradient Descent),这要强调和GD的区别。书本上的GD是遍历完所有的样本之后进行一次梯度下降,SGD是在得到一个样本后进行一次梯度下降,mini-batch是进行一定数量的样本之后才进行一次梯度下降。而我们实际使用的时候,输入到optimizer的本身就是根据一个batch的样本得到的梯度。因此,尽管代码中名为“SGD”,实际上执行效果是书本上的mini-batch方案。

阅读全文 »