深度学习之---迁移学习

1.什么是迁移学习

迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务A开发的模型作为初始点,重新使用在为任务B开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

找到目标问题的相似性,迁移学习任务就是从相似性出发,将旧领域(domain)学习过的模型应用在新领域上

2.为什么需要迁移学习?

1.大数据与少标注的矛盾 :虽然有大量的数据,但往往都是没有标注的,无法训练机器学习模型。人工进行数据标定太耗时。

2.大数据与弱计算的矛盾 :普通人无法拥有庞大的数据量与计算资源。因此需要借助于模型的迁移。
基于模型的迁移 (Parameter based TL):利用源域和目标域的参数共享模型

基于模型的迁移方法(Parameter/Model based Transfer Learning)是指从源域和目标域中找到他们之间共享的参数信息以实现迁移的方法。这种迁移方式要求的假设条件是:源域中的数据与目标域中的数据可以共享一些模型的参数。下图形象地表示了基于模型的迁移学习方法的基本思想。

异构迁移学习(Heterogeneous Transfer Learning)源域和目标域的特征空间不足

按迁移情景分类

  • 归纳式迁移学习(Inductive TL)︰源域和目标域的学习任务不同
  • 直推式迁移学习(Transductive TL):源域和目标域不同,学习任务相同。
  • 无监督迁移学习(Unsupervised TL):源域和目标域均没有标签

按迁移方法分类
基于样本的迁移(Instance based TL) :通过权重重用源域和目标域的样例进行迁移

基于样本的迁移学习方法(Instance based Transfer Learning)根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习。下图形象地表示了基于样本迁移方法的思想源域中存在不同种类的动物,如狗、鸟、猫等,目标域只有狗这一种类别。在迁移时,为了最大限度地和目标域相似,我们可以人为地提高源域中属于狗这个类别的样本权重。

基于关系的迁移(Relation based TL) :利用源域中的逻辑网络关系进行迁移

基于关系的迁移学习方法(Relation Based Transfer Learning)与上述三种方法具有截然不同的思路。这种方法比较关注源域和目标域的样本之间的关系。下图形象地表示了不同领域之间相似的关系。

3.迁移学习与传统机器学习有什么区别?

|------|-------------|------------|
| | 迁移学习 | 传统机器学习 |
| 数据分布 | 训练和测试不需要同分布 | 训练和测试数据同分布 |
| 数据标签 | 不需要足够的数据标注 | 足够的数据标注 |
| 建模 | 可以重用之前的模型 | 每个任务分别建模 |

4.迁移学习的核心及度量准则?

  • 迁移学习的总体思路可以概括为:开发算法来最大限度地利用有标注的领域的知识,来辅助目标领域的知识获取和学习。
  • 迁移学习的核心是:找到源领域和目标领域之间的相似性,并加以合理利用。这种相似性非常普遍。比如,不同人的身体构造是相似的;自行车和摩托车的骑行方式是相似的;国际象棋和中国象棋是相似的;羽毛球和网球的打球方式是相似的。这种相似性也可以理解为不变量。以不变应万变,才能立于不败之地。
  • 有了这种相似性后,下一步工作就是,如何度量和利用这种相似性。度量工作的目标有两点:一是很好地度量两个领域的相似性,不仅定性地告诉我们它们是否相似,更定量地给出相似程度。二是以度量为准则,通过我们所要采用的学习手段,增大两个领域之间的相似性,从而完成迁移学习

一句话总结:相似性是核心,度量准则是重要手段

5.迁移学习与其他概念的区别?

(1)迁移学习与多任务学习关系:

  • 多任务学习:多个相关任务一起协同学习;
  • 迁移学习:强调信息复用,从一个领域(domain)迁移到另一个领域。

(2)迁移学习与领域自适应:领域自适应:使两个特征分布不一致的domain一致。

(3)迁移学习与协方差漂移:协方差漂移:数据的条件概率分布发生变化。

6.什么情况下可以使用迁移学习?

迁移学习最有用的场合 是,如果你尝试优化任务B的性能,通常这个任务数据相对较少。例如,在放射科中你知道很难收集很多射线扫描图来搭建一个性能良好的放射科诊断系统,所以在这种情况下,你可能会找一个相关但不同的任务,如图像识别,其中你可能用1百万张图片训练过了,并从中学到很多低层次特征,所以那也许能帮助网络在任务在放射科任务上做得更好,尽管任务没有这么多数据。

假如两个领域之间的区别特别的大,不可以直接采用迁移学习 ,因为在这种情况下效果不是很好。在这种情况下,推荐以上

迁移学习三步走:

  • 加载预训练模型(inceptionnet-v3)(主干网络, backbone),提取所有图片数据集的特征(特征向量2048维度)。(调用别人训练好的模型,因为他们的模型泛化能力强,不用自己创建训练模型)
  • 用特征向量训练自己的后端网络模型,(后端用自己创建dense后端模型,保存dense后端6个模型)
  • 调用最后一个模型来显示测试集16张图片预测结果
    • 代码梳理:
相关推荐
BB_CC_DD9 小时前
超简单搭建AI去水印和图像修复算法lama-cleaner二
人工智能·深度学习
珠海西格电力9 小时前
零碳园区物流园区架构协同方案
人工智能·物联网·架构·能源
向成科技9 小时前
新品 | 向成电子XC3576M小体积主板,全面适配国产麒麟操作系统
人工智能·ai·解决方案·硬件·国产操作系统·麒麟系统·主板
水如烟9 小时前
孤能子视角:人工智能的“安全对齐“与“共享学习“
人工智能
夏天是冰红茶9 小时前
小目标检测:PinwheelConv详解
人工智能·目标检测·计算机视觉
老蒋新思维9 小时前
创客匠人启示:破解知识交付的“认知摩擦”——IP、AI与数据的三角解耦模型
大数据·人工智能·网络协议·tcp/ip·重构·创客匠人·知识变现
爱笑的眼睛119 小时前
深入解析Matplotlib Axes API:构建复杂可视化架构的核心
java·人工智能·python·ai
百***07459 小时前
GPT-5.2 极速接入指南:流程详解与主流模型对比
网络·人工智能·gpt
工程师丶佛爷9 小时前
从零到一MCP集成:让模型实现从“想法”到“实践”的跃迁
大数据·人工智能·python
黑客思维者10 小时前
机器学习001:从“让机器学会思考”到生活中的智能魔法
人工智能·机器学习·生活