在神经网络多层感知器中,我理解随机梯度下降(SGD)和梯度下降(GD)之间的主要区别在于训练时选择样本的数量。也就是说,SGD 每次迭代选择一个样本进行前向传播,然后通过反向传播调整权重;而 GD 则是在所有样本的前向传播计算完成后才开始反向传播。
我的问题是:
- 当选择梯度下降(甚至是小批量梯度下降)方法时,我们如何表示单次前向传播的误差?假设我的网络只有一个输出神经元,这个误差是通过平均所有样本的个体误差还是通过将它们全部相加来表示的?
- 在MLPClassifier scikit-learn 中,有人知道这种误差是如何累积的吗?是平均还是求和?
非常感谢。
回答:
我想我可以回答你的第一个问题。是的,单次前向传播的误差计算可以是即时误差,例如网络输出与期望响应(标签)之间的差异的范数,如果只向网络输入一个样本;或者是输入一个小批量样本后获得的即时误差的平均值。
希望这对你有帮助。