1) 从整个训练集训练 CNN 和 2) 从训练集的子集训练然后再训练整个训练集之间有什么区别?

What are differences between 1) training a CNN from whole training set and 2) training from a subset of training set and then whole training set?

我正在训练分割网络 U-net on the LIDC-IDRI 数据集。目前有两种训练策略:

  1. 从头开始在整个训练集上训练模型(40k 步,180k 步)。
  2. 在整个训练集的 10% 上训练模型。收敛后(30k 步),继续在整个训练集上训练模型(10k 步)。

With Dice coefficient as loss function, which is also used in V-net architecture (paper),用方法2训练的模型总是比用方法1训练的好,前者可以达到0.735的Dice分数,而后者只能达到0.71。

顺便说一句,我的 U-net 模型是在 TensorFlow 中实现的,模型是在 NVidia GTX 1080Ti 上训练的

谁能给个解释或参考。谢谢!

好吧,我阅读了您的回答并决定尝试一下,因为它相当简单,因为我也一直在 LIDC-IDRI 上训练 Vnets。通常我从一开始就对整个数据集进行训练。选项 2) 对骰子的提升更快,但是,很快它在验证时下降到 2%,甚至在使网络能够学习整个数据集后它也没有恢复,训练骰子。当然,在增加。似乎我的 10% 的数据集不太具有代表性,而且严重过拟合。