【问题标题】: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?1)从整个训练集训练 CNN 和 2)从训练集的子集训练然后整个训练集有什么区别?
【发布时间】:2017-12-12 03:08:43
【问题描述】:

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

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

Dice coefficient作为损失函数,也用于V-net架构(paper),使用方法2训练的模型总是优于使用方法1。前者可以达到0.735的Dice分数,而后者只能达到0.71。

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

谁能给出一些解释或参考。谢谢!

【问题讨论】:

    标签: neural-network conv-neural-network image-segmentation training-data gradient-descent


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 2011-05-13
      • 2014-06-04
      相关资源
      最近更新 更多