【问题标题】:how to train pre-trained CNN on new dataset which is not organised in classes (Unsupervised)如何在未按类组织的新数据集上训练预训练的 CNN(无监督)
【发布时间】:2018-03-07 05:07:43
【问题描述】:

我有一个在 Imagenet 上训练的预训练 CNN (Resnet-18),现在我想在我自己的视频帧数据集上扩展它,现在重点是我在 Finetuning 所需数据集上找到的所有教程,这些教程要组织在像 1班/火车/ 类1/测试/ 2班/火车/ 类2/测试/

但是我的很多视频只有帧,我将如何训练我的 CNN。

那么任何人都可以指出我正确的方向,任何教程或论文等吗?

PS:我的最终任务是获取我在测试时提供的所有帧的深度特征

【问题讨论】:

    标签: deep-learning unsupervised-learning


    【解决方案1】:

    对于训练网络,您应该有一些输入数据的“标签”(有时称为 y)。从那里,网络计算logit(网络答案)和给定标签之间的损失。 并且网络将通过反向传播使用该损失值进行自我修正。这个过程就是我们所说的“训练”。 因为你只有输入数据,没有标签,所以你只能得到logit。这意味着无法计算损失。 微调与“附加训练”几乎是同一个词,因此您无法在没有标记数据的情况下微调您的预训练网络。

    关于训练集和测试集,这不是现在的问题。 如果您有足够的标记输入数据,则可以将其按一定比例进行划分。 (例如,80% 的数据用于训练,20% 的数据用于测试) 之所以将数据分成这两组,是为了在更一般的、不可见的情况下检查我们训练好的网络的性能。

    但是,如果您只是将数据输入到预训练网络(编码器部分)中,它将提供深度特征。它并不完全适合您的任务,但它仍然是一个深度功能。

    已添加) Unsupervised pre-training for convolutional neural network in theano
    这是您需要的方法,无监督情况下的深度特征编码器。我希望它会有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2019-04-15
      • 1970-01-01
      • 2020-04-27
      • 2017-12-24
      • 2020-05-21
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      相关资源
      最近更新 更多