在什么顺序下训练我的卷积神经网络

我目前正在训练一个卷积神经网络,用于根据外观区分腐烂的苹果和正常的苹果。我已经准备好了所有必要的数据,但是我对以下代码行有一个问题。

epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)

这段代码将图像和标签输入到神经网络中。我的问题是,我应该先用所有正常橙子的批次训练网络,然后再用腐烂橙子的批次训练神经网络吗?我应该交替训练腐烂和正常橙子的批次吗?这些图像的训练顺序是否有特定要求?


回答:

你不应该按照任何特定顺序进行训练,每个批次应该包含正例和反例,并且顺序是随机的。如果你的类别是平衡的,那么每个批次将包含大致相同数量的正样本和负样本。

实现这一点的最简单方法是随机打乱你的数据(在第一维度上),然后按顺序生成批次。一个好的做法是在每个epoch之后重新打乱数据,这样神经网络就不会看到样本呈现的任何顺序模式。

这种技术可以防止神经网络训练中的任何偏见。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注