我应该从一个时代到另一个时代使用相同的训练集吗(卷积神经网络)
Should I use the same training set from one epoch to another (convolutional neural network)
根据我对卷积神经网络的了解,您必须在每个时期输入 相同的训练示例,但要打乱(这样网络在训练时不会记住某些特定顺序) .
然而,在 this 文章中,他们在每个时期向网络提供 64000 随机样本 (因此只有一些训练示例是 "seen"之前):
Each training instance was a uniformly sampled set of 3 images, 2 of
which are of the same class (x and x+), and the third (x−) of a
different class. Each training epoch consisted of 640000 such
instances (randomly chosen each epoch), and a fixed set of 64000
instances used for test.
那么,我是否必须在每个时期都使用相同的训练样本,为什么?
当我使用随机样本时,实验结果很差 - 准确度变化很大。但是我想知道为什么。
大多数时候您可能希望使用尽可能多的数据。但是,在您引用的论文中,他们训练了三元组损失,它使用图像的三元组,并且可能有 十亿 个这样的三元组。
你可能会想,既然每次都可能得到不同的训练集,为什么要首先引入epoch的概念。答案是技术性的:我们想偶尔在验证数据上评估网络,您也可能想根据已完成的 epoch 数进行学习率衰减。
根据我对卷积神经网络的了解,您必须在每个时期输入 相同的训练示例,但要打乱(这样网络在训练时不会记住某些特定顺序) .
然而,在 this 文章中,他们在每个时期向网络提供 64000 随机样本 (因此只有一些训练示例是 "seen"之前):
Each training instance was a uniformly sampled set of 3 images, 2 of which are of the same class (x and x+), and the third (x−) of a different class. Each training epoch consisted of 640000 such instances (randomly chosen each epoch), and a fixed set of 64000 instances used for test.
那么,我是否必须在每个时期都使用相同的训练样本,为什么?
当我使用随机样本时,实验结果很差 - 准确度变化很大。但是我想知道为什么。
大多数时候您可能希望使用尽可能多的数据。但是,在您引用的论文中,他们训练了三元组损失,它使用图像的三元组,并且可能有 十亿 个这样的三元组。
你可能会想,既然每次都可能得到不同的训练集,为什么要首先引入epoch的概念。答案是技术性的:我们想偶尔在验证数据上评估网络,您也可能想根据已完成的 epoch 数进行学习率衰减。