我以什么顺序训练我的CNN

Reh*_*mad 4 python machine-learning image-recognition neural-network conv-neural-network

我目前正在训练卷积神经网络,根据外观在腐烂的苹果和普通苹果之间进行分类.我有所有必要的数据,但是我对以下代码行有疑问.

epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)
Run Code Online (Sandbox Code Playgroud)

这为神经网络提供了图像和标签.我的问题是,我应该用所有批次的正常橙子训练网络,然后用腐烂的橙子训练神经网络吗?我是否应该轮流训练一批腐烂和正常的橘子?是否应该训练这些图像的特定顺序?

Mat*_*gro 6

您不应该以任何特定的顺序训练它,每个批次应该包含正面和负面的例子,以随机的顺序.如果您的课程是平衡的,那么每个批次将具有大致相同数量的阳性/阴性样本.

最简单的方法是随机地重新排列数据(在第一维中),然后按顺序生成批次.一个好的做法是在每个纪元后重新调整您的数据,因此神经网络没有看到样本呈现顺序的任何模式.

这种技术可以防止神经网络训练中出现任何偏差.