有人可以告诉我如何使用批处理方法构建神经网络吗?
我已经读到,在批处理模式下,对于训练集中的所有样本,我们计算网络中每个神经元的误差,增量和增量权重,然后而不是立即更新权重,而是对其进行累加,然后再开始在下一个时期,我们将更新权重。
我还在某处读到,批处理方法类似于在线方法,但区别在于,只需要对训练集中所有样本的误差求和,然后取其平均值,然后像更新权重一样使用它即可像这样在在线方法中做(差异只是那个平均值):
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
- 哪一种是批处理方法的正确形式?
- 如果是第一个,是否不累积所有增量权重会导致数量巨大?
1
“正确”方法取决于上下文。事实证明,在许多情况下,每个时期仅更新一次权重将比随机更新(在每个示例后更新权重)收敛得慢得多。我会补充说,大家普遍希望使用某种形式的批处理更新,但通常每个周期要多于1x。
—
塔罗尔