我正在使用多层神经网络,打算进行小批量梯度下降。假设我有100个样本组成的小批量数据,在100万个数据点中。我不理解需要更新整个网络权重的部分。当我在这100个样本上进行前向传递时,我会对这100个样本的所有错误求和。除了这个之外,我还需做什么?我是否也需要同时计算隐藏层的错误?那么它们将何时被计算?
我正在使用多层神经网络,打算进行小批量梯度下降。假设我有100个样本组成的小批量数据,在100万个数据点中。我不理解需要更新整个网络权重的部分。当我在这100个样本上进行前向传递时,我会对这100个样本的所有错误求和。除了这个之外,我还需做什么?我是否也需要同时计算隐藏层的错误?那么它们将何时被计算?
对于你选择的数据集中的每个数据实例,你需要计算所有层中每个神经元的权重增量。这与反向传播中的常规过程相同。
由于你希望使用批量学习,你将延迟权重更新步骤。相反,你应该存储这些增量,并在批次完成后累加来自不同实例的增量。然后使用这些新操作的增量来更新网络中的权重。