美文网首页
迁移学习

迁移学习

作者: 可能性之兽 | 来源:发表于2022-05-16 13:58 被阅读0次

    迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性,用成语来说就是举一反三。由于直接对目标域从头开始学习成本太高,我们故而转向运用已有的相关知识来辅助尽快地学习新知识。比如,已经会下中国象棋,就可以类比着来学习国际象棋;已经会编写Java程序,就可以类比着来学习C#;已经学会英语,就可以类比着来学习法语;等等。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。 [ 1 ]

    为什么我们需要研究迁移学习?
    首先,生活上我们遇到更多的是小数据,而在小数据上学习的模型,才是真正的智能。
    第二,我们希望构建的系统不仅在那个领域能够发挥作用,在其周边也可以发挥作用。即我们希望系统是可靠的,其可以举一反三和融会贯通,这也是我们赋予智慧的一种定义。
    第三,我们希望更重要的是如何能够把一个通用的系统加上个人的小数据,而迁移到个人的场景当中去,因此我们可以向个性化方向发展。迁移学习就是一个必不可少的工具。
    但迁移学习为什么如此难以实现?因为即使是人类也很难发现这些共同点。[ 2 ]

    所谓fine tune就是用别人训练好的模型,加上我们自己的数据,来训练新的模型。fine tune相当于使用别人的模型的前几层,来提取浅层特征,然后在最后再落入我们自己的分类中。

    fine tune的好处在于不用完全重新训练模型,从而提高效率,因为一般新训练模型准确率都会从很低的值开始慢慢上升,但是fine tune能够让我们在比较少的迭代次数之后得到一个比较好的效果。在数据量不是很大的情况下,fine tune会是一个比较好的选择。但是如果你希望定义自己的网络结构的话,就需要从头开始了。

    代码教程

    迁移学习和微调 | TensorFlow Core

    Transfer Learning for Computer Vision Tutorial — PyTorch Tutorials 1.11.0+cu102 documentation

    Transfer Learning | Kaggle

    jindongwang/transferlearning: Transfer learning / domain adaptation / domain generalization / multi-task learning etc. Papers, codes, datasets, applications, tutorials.-迁移学习 (github.com)

    参考资料

    [1]transferlearning/迁移学习简介.md at master · jindongwang/transferlearning (github.com)

    [2]GMIS 2017大会杨强演讲:迁移学习的挑战和六大突破点 - 知乎 (zhihu.com)
    [3]Caffe fine-tuning 微调网络 - Hello~again - 博客园 (cnblogs.com)

    [4]迁移学习(Transfer),面试看这些就够了!(附代码)_ITPUB博客(比较详细)

    [5]jindongwang/transferlearning: Transfer learning / domain adaptation / domain generalization / multi-task learning etc. Papers, codes, datasets, applications, tutorials.-迁移学习 (github.com)

    相关文章

      网友评论

          本文标题:迁移学习

          本文链接:https://www.haomeiwen.com/subject/byrburtx.html