有人可以告诉我应该如何使用批处理方法构建神经网络吗?
我已经读过,在批处理模式下,对于训练集中的所有样本,我们计算网络中每个神经元的误差、增量和增量权重,然后我们不是立即更新权重,而是累积它们,然后在开始之前下一个 epoch,我们更新权重。
我还在某处读到,批处理方法类似于在线方法,但不同之处在于只需对训练集中所有样本的误差求和,然后取其平均值,然后使用它来更新权重,就像一个在线方法(差异只是那个平均值)是这样的:
for epoch=1 to numberOfEpochs
for all i samples in training set
calculate the errors in output layer
SumOfErrors += (d[i] - y[i])
end
errorAvg = SumOfErrors / number of Samples in training set
now update the output layer with this error
update all other previous layers
go to the next epoch
end
- 其中哪一个是真正正确的批处理方法形式?
- 在第一个的情况下,累积所有增量权重不会导致巨大的数字吗?