前段时间,有同学问我在用神经网络模拟一个线性回归问题时,在SGD中的step()的源码中为何没有出现梯度和除以批量大小的式子,其实这个“除以批量大小”已经被backward()函数计算在内了,step()函数中只需要做学习率与梯度相乘,然后和原梯度相减就行了。至于原因,我将从理论到代码去分析,因为式子太多,打字不方便,就直接写纸上了:
前段时间,有同学问我在用神经网络模拟一个线性回归问题时,在SGD中的step()的源码中为何没有出现梯度和除以批量大小的式子,其实这个“除以批量大小”已经被backward()函数计算在内了,step()函数中只需要做学习率与梯度相乘,然后和原梯度相减就行了。至于原因,我将从理论到代码去分析,因为式子太多,打字不方便,就直接写纸上了: