卷积神经网络迁移学习

简介

       所谓迁移学习,就是将一个问题上训练好的模型通过简单的调整使其适用于一个新的问题。

      “为了偷懒, 在训练好了的模型上接着训练其他内容, 充分使用原模型的理解力”。 有时候也是为了避免再次花费特别长的时间重复训练大型模型。


举例

     CNN通常都是大型模型,下面我们拿CNN来举个例子,假设已经训练好一个区分男人和女人的CNN模型。现在来了个任务,让区分图片中人的年纪。这看似不相干的两个模型,但是我们可以使用迁移学习。因为之前那个模型对人类有了理解,基于这个理解开始训练,应该可以有所建树。但是用这个模型去迁移学习对飞机大炮的理解,那就没什么用了。

      猫和老虎的长度分辨:假设现在有一个训练了1000个类别的vgg,我们提取这个vgg前面的卷积等层,重新组建后面的全连接层,让它做一个和分类完全不相干的事。因为这个vgg对猫和老虎都有了理解,那么现在伪造一些体长的数据,老虎通常比猫长。我们保留所有卷积和池化,将后面的fc层拆了,改成可以被训练的两层,输出一个数字。这个数字代表了这个猫的长度。


小结

      可以发现,当一个大模型对某几方面有了认知后,我们可以保留它的这种认知,来使用这些认知去干别的事情。一般来说,保留卷积池化,将全连接层改变。来实现迁移学习。

猜你喜欢

转载自blog.csdn.net/qq_42666483/article/details/87910907
今日推荐