【机器学习300问】37、什么是迁移学习?

一、什么是迁移学习?

(1)它的出现是为了解决什么问题?

迁移学习是为了解决深度学习中由于数据不足导致的学习效果受限以及跨领域知识的有效利用等问题而发展起来的一种重要技术手段。

① 缺少训练数据

在许多实际应用中,获取大量标注数据的成本高、难度大。迁移学习允许模型利用在大规模相关任务上训练得到的知识,来应对那些只有有限或无标注数据的新任务。

② 计算资源受限

预训练模型可以作为初始化权重,在此基础上进行微调,相比随机初始化参数,通常能更快地收敛至较好的结果。通过迁移学习,可以从已经学习到的特征表示和模式中受益,避免从头开始训练时可能陷入局部最优解的问题,从而提高新任务的学习效率和最终表现。

(2)迁移学习的定义

  • 例一:经验丰富的画家

比如,你是一名经验丰富的画家,已经掌握了如何细致地画出苹果的技巧------对苹果的形状、颜色、光影变化等细节了如指掌。有一天,你需要开始画梨子。虽然梨和苹果在形状和纹理上有一定差异,但它们都是水果,有类似的质地、光照下的表现以及基本的三维结构。

迁移学习就像这个绘画过程:你在"画苹果"的任务上学到的知识(比如对色彩层次的理解、阴影处理方法)可以被"迁移"到"画梨子"的新任务上,这样你就无需从零开始学习所有的绘画原理,而是可以在已有的知识基础上快速适应并提高新任务的表现。

  • 例二:图像识别

比如我想要训练一个手写数字识别模型,我手头只有5000张手写0到9的训练数据。但与此同时我可以从网上获得100万张猫、狗、人、车的训练集和训练好的模型参数来进行迁移学习。

通过这样的迁移学习过程,即使只有有限的手写数字数据,也可以借助预训练模型强大的特征提取能力,快速构建出一个相对准确的手写数字识别模型。

  • 定义: 迁移学习是一种机器学习方法,它能把在一个问题上训练获得的信息和经验利用到解决另一个类似问题上,特别是当这两个问题有共同点时。

(3)预训练模型

从迁移学习的定义中我们可以得到预训练模型的定义,它是指你想要迁移过来的带有已经训练好的参数的模型。

  • 在CV领域,预训练模型可能是经过ImageNet等大型图像数据集训练过的卷积神经网络(CNN)。这些模型学会了识别图片中的各种物体和它们的特征,如边缘、形状、颜色组合等。
  • 在NLP领域,预训练模型通过大量文本语料库(如维基百科、网页等)进行了自我监督学习,学习到了丰富的语言结构和上下文信息。

(4)模型微调

迁移学习中的模型微调(Fine-Tuning)是指在预训练模型的基础上,针对特定任务或目标数据集进行进一步的训练过程。预训练模型是在大规模、标注好的源数据集上预先训练好的模型,其参数已经学习到了丰富的特征表示能力。

二、两种迁移学习的微调策略

(1)冻结预训练模型部分层并仅更新输出层

这种情况下,我们通常会利用一个在大规模数据集上预训练好的深度学习模型。由于预训练模型的早期层已经学习到了非常通用且抽象的特征表示,例如图像识别中的边缘、纹理等信息,这些特征对于许多视觉任务都有用。

因此,在新任务中,我们会将模型的大部分或所有前期层参数"冻结",即保持不变不再进行训练,只对输出层或者最后几层进行重新训练或微调。

这样做的好处:是让模型利用已有的高质量特征提取能力,针对新任务的特定分类或回归需求调整最终决策层。

(2)使用全部可用数据更新所有层参数

当手头的数据集相对较大,尽管可能不如预训练模型使用的原始数据集那么大,但仍具有一定的规模时,可以考虑采用此策略。此时,我们可以基于预训练模型初始化整个网络的权重,然后在整个模型的所有层上进行训练或微调。

这样做的好处:是可以使模型更充分地适应新数据集的特点,同时保留预训练模型的部分知识。当然,在实际操作中,可能会选择逐步解冻之前冻结的层,以平衡学习新任务特性和保留预训练知识之间的关系。

相关推荐
Chef_Chen3 分钟前
从0开始学习机器学习--Day25--SVM作业
学习·机器学习·支持向量机
矢量赛奇7 分钟前
比ChatGPT更酷的AI工具
人工智能·ai·ai写作·视频
KuaFuAI15 分钟前
微软推出的AI无代码编程微应用平台GitHub Spark和国产AI原生无代码工具CodeFlying比到底咋样?
人工智能·github·aigc·ai编程·codeflying·github spark·自然语言开发软件
Make_magic24 分钟前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
shelly聊AI28 分钟前
语音识别原理:AI 是如何听懂人类声音的
人工智能·语音识别
源于花海31 分钟前
论文学习(四) | 基于数据驱动的锂离子电池健康状态估计和剩余使用寿命预测
论文阅读·人工智能·学习·论文笔记
雷龙发展:Leah32 分钟前
离线语音识别自定义功能怎么用?
人工智能·音频·语音识别·信号处理·模块测试
4v1d36 分钟前
边缘计算的学习
人工智能·学习·边缘计算
风之馨技术录40 分钟前
智谱AI清影升级:引领AI视频进入音效新时代
人工智能·音视频
sniper_fandc1 小时前
深度学习基础—Seq2Seq模型
人工智能·深度学习