我应该打乱数据以使用反向传播训练神经网络吗?

mar*_*tin 1 shuffle neural-network

我想使用反向传播训练一个神经网络,我有一个这样的数据集:

在此处输入图片说明

我应该打乱输入数据吗?

Fra*_*urt 5

是的,它应该在每次迭代时重新排列,例如 {1} 的引用:

对于任何随机梯度下降方法(包括小批量情况),对于估计器的效率来说,每个样本或小批量近似独立地采样是很重要的。因为随机访问内存(或者更糟糕的是,磁盘)是昂贵的,一个很好的近似,称为增量梯度(Bertsekas,2010),是按照与它们在内存中的顺序相对应的固定顺序访问示例(或小批量)或磁盘(如果我们不是在每个示例仅访问一次的纯在线情况下,则在第二个时期以相同的顺序重复示例)。在这种情况下,如果示例或小批量首先按随机顺序放置会更安全(为了确保是这种情况,首先对示例进行洗牌可能会很有用)。如果每个 epoch 的小批量访问顺序发生变化,则可以观察到更快的收敛,如果训练集保存在计算机内存中,这可能会相当有效。

{1} 本吉奥,约书亚。“基于梯度的深度架构训练的实用建议。 ”神经网络:交易技巧。施普林格柏林海德堡出版社,2012 年。437-478。