卷积神经网络迁移学习

简介

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

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


举例

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

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


小结

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
POTORC(Partially Overlapped Training to Obtain Robust Convolutional neural network)是一种用于卷积神经网络迁移学习的方法。在迁移学习中,我们通常希望将已经在一个任务上训练好的模型应用到另一个任务上,并在新任务中获得好的性能。 POTORC方法通过在目标任务的训练过程中,将部分层参数固定为原始任务的预训练结果。具体来说,POTORC使用部分重叠的patch来进行训练,其中一部分是从原始任务的预训练模型中获取的参数。这样做的目的是引入一些先验信息,以帮助模型更快地适应新的任务。 POTORC方法的核心思想是在迁移学习中平衡原始任务和目标任务的权重。通过部分重叠的patch更新部分层的参数,POTORC可以在一定程度上保留原始任务的特征,同时允许网络逐渐适应新的任务。这种平衡可以减少在迁移学习中遇到的困难,例如面临概念漂移或样本分布不同的问题。 除了在网络层级上平衡任务权重,POTORC还考虑了特征层级的平衡。通过在目标任务中引入预训练特征的一部分,POTORC可以充分利用预训练模型中学习到的特征,从而提高模型的泛化性能。 总的来说,POTORC是一种有效的迁移学习方法,能够充分利用预训练模型的知识,在新任务上获得更好的性能。通过平衡任务权重和特征层级,POTORC可以帮助模型更好地适应新的任务,从而为迁移学习提供一种有效的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值