×

什么是迁移学习(Transfer Learning)?

hqy hqy 发表于2025-04-28 03:02:30 浏览28 评论0百度已收录

抢沙发发表评论

一、初步了解

迁移学习是一种机器学习方法,将已训练好的模型(通常在大规模数据集上预训练)的知识迁移到新的相关任务中,从而避免从零开始训练,显著提升小数据场景下的模型性能。

通俗来讲就是学会举一反三的能力,通过运用已有的知识来学习新的知识,其核心是找到已有知识和新知识之间的相似性,通过这种相似性的迁移达到迁移学习的目的。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。

图片取自 https://www.zhihu.com/tardis/zm/art/438117211?source_id=1005

二、深入了解

方法学习于下列视频!

猫和狗、苹果和梨都是分类任务,能否凭借已经训练好的猫和狗的模型学习梨苹果的分类模型?

在神经网络中,一般分为特征提取网络和全连接网络

在上述任务中的分类网络就是将猫和狗的特征提取网络迁移到苹果和梨的特征提取网络中,而新的模型所需要训练的仅仅是下图中绿色部分,也就是全连接层。

像这样考虑数据的相似性,用旧的模型部分训练新的模型部分被称作迁移学习

在其中,从中获取经验的被称为源域;被赋予经验的被称为目标域!

三、应用目的

目标数据太少,需要更多数据的帮助。或者是为了节约训练时间!

四、举例介绍

本文引用下列论文的工作进行介绍

[1] 许艳霞,柳江,李宝刚,等.基于改进YOLOv8n的轻量化蓝莓成熟度检测方法[J/OL].江西农业大学学报,1-12[2025-04-25]..

复杂果园环境下蓝莓果实存在密集分布、重叠以及叶片遮挡等情况,研究提出了一种基于改进YOLOv8n的目标检测算法,用于识别蓝莓的不同成熟度(成熟、未成熟和半成熟)。

所用迁移学习方法如下图所示,首先,将COCO2017数据集作为源域,对YOLOv8n模型进行训练, 使其能够对复杂的特征进行有效的学习,从而获得初始预训练权重;其次,把 1800 张包含不同成熟度的 草莓数据集作为辅助域,继续训练模型,增强模型对特征的提取能力;最后,将蓝莓数据集作为目标域, 接着训练Yolov8模型,使模型能够具有更准确的识别能力,最终获得蓝莓成熟度分类模型。

训练结果

迁移学习的组实验结果明显由于未迁移学习的

下面损失函数结果同样如此