2.1 迁移方式分类:归纳式、直推式与无监督


2.1 迁移方式分类:归纳式、直推式与无监督

本节摘要:按"任务同不同"与"目标侧有无标签"两根轴,迁移学习分为归纳式、直推式、无监督三大类。你日常做的预训练模型微调几乎都属于归纳式;直推式对应同任务跨分布的领域适应场景;无监督迁移则处理双侧都无标签的表示学习。本节给出分类树、各类的判断口诀与代表方法,并用代码演示如何判断一个具体项目落在哪个格子。

一段分类小史

迁移学习的系统化分类,公认框架由学者潘嘉玮与杨强在跨世纪后的调研论文中定型:以源任务与目标任务的关系为主轴、以标签可得性为辅轴,把纷乱的迁移方法收进一张表。此后深度学习时代的实践发生了有趣的收敛——绝大多数工程师每天做的事,都被这张表里"归纳式"一格覆盖,但另外两格在跨领域与无监督场景仍不可替代。了解全表的意义在于:当你遇到不合常规的项目时,知道还有别的格子可以站。

分类树与判断口诀

三类各有判断口诀:

  • 归纳式:换了任务(标签空间或预测目标变了),目标侧有标注可学。口诀"任务变、有标签"
  • 直推式:任务原样,但数据分布变了(换语言、换成像设备、换用户群)。口诀"任务不变、地皮变了"
  • 无监督:源与目标都没有监督标签,迁的是无监督学到的表示。口诀"双方都没标签"

为什么预训练加微调属于归纳式?以 BERT 为例:源任务是掩码词预测,目标任务是情感分类——任务变了;目标侧有几千条标注——归纳式的条件全部满足。

三类的代表方法与场景对照

类别 源任务举例 目标任务举例 代表方法 工程队行话
归纳式 掩码预测、ImageNet 分类 文本分类、缺陷检测 预训练-微调、特征提取 旧宅改新用途
直推式 英文情感分类 中文评论情感分类 实例加权、特征对齐、对抗领域适应 同用途换城市重装修
无监督式 无标签源域表示学习 无标签目标域聚类/异常检测 自编码器迁移、对比学习复用 毛坯房之间借图纸

注意直推式与归纳式的边界情况:如果任务"看起来相同"但标签集有细微差别(比如源是五星打分、目标是好评差评二分类),严格说已经换了标签空间,应归归纳式。边界不清时,以"预测输出的语义是否一致"为准。

用代码定位你的项目

写一个小的判断函数,把项目特征(目标侧有无标签、任务是否相同)映射到分类格子:

def classify_transfer(target_labeled: bool, same_task: bool, source_labeled: bool = True) -> str: """按两轴三问定位迁移类别""" if not target_labeled and not source_labeled: return "无监督迁移" if same_task: return "直推式迁移(任务同、域变,走领域适应工具箱)" return "归纳式迁移(预训练-微调主线)" # 三个真实项目代入 projects = [ ("ImageNet模型迁移做缺陷二分类", True, False, True), ("英文情感模型转中文评论", True, True, True), ("无标签设备日志迁移做异常检测", False, True, False), ] for name, tl, st, sl in projects: print(f"{name}: {classify_transfer(tl, st, sl)}") # 输出: # ImageNet模型迁移做缺陷二分类: 归纳式迁移(预训练-微调主线) # 英文情感模型转中文评论: 直推式迁移(任务同、域变,走领域适应工具箱) # 无标签设备日志迁移做异常检测: 无监督迁移

定位为什么重要?因为类别决定工具箱。直推式项目里拼命调冻结与学习率常常收效甚微——它的病根在分布差异,需要的是下一节的领域适应手段;归纳式项目反过来,盲目加领域对齐损失反而拖慢收敛。

再补一个数据侧的判断练习:分布差异的显著度检验,帮你确认"域是不是真的变了"。

import numpy as np from scipy import stats rng = np.random.default_rng(7) # 源域某特征的分布(如文本序列长度的对数) src = rng.normal(3.5, 0.6, size=500) # 目标域同特征(法律文本更长) tgt = rng.normal(4.1, 0.7, size=300) # 双样本 KS 检验:分布是否相同 stat, p = stats.ks_2samp(src, tgt) print(f"KS 统计量: {stat:.3f}, p 值: {p:.2e}") # 典型输出: KS 统计量: 0.342, p 值: 3.10e-24 # p 远小于 0.05:分布确实显著不同,域漂移坐实,值得考虑领域适应

p 值小到需要科学计数法表示,说明这不是抽样噪声——两个域真的不同。工程上,这样的检验应该在项目开工前跑一遍,而不是等微调效果差了再回头找原因。

⚠️ 常见坑:把所有项目都硬塞进"预训练-微调"这一条归纳式流水线。任务相同、纯分布漂移的项目(如换设备后的同任务识别)走领域适应往往事半功倍。

边界情况与易混判断

分类的真正考验在边界情况,补三个高频的易混判断:

**判断一:换了标签粒度算不算换任务?**源是"五星打分"、目标是"好评差评二分类"——标签空间被重新定义了,严格意义是归纳式。但两个任务高度相关,工程上常按"准直推"处理:分布偏移的手段(如重加权)依旧有效。判断原则:预测输出的语义一致才算同任务。

**判断二:目标侧只有极少量标签算哪类?**几十条标注撑不起独立的监督学习,但直推式方法(伪标签、对齐)可以借用源模型的判断。这类"半监督式直推"在工业界极为常见,分类上仍归直推式——少量标签用于校准而非从头学习。

**判断三:无监督迁移与自监督预训练什么关系?**自监督预训练是源侧的施工方式(用无标签数据学表示),无监督迁移是源目标双侧都无标签的迁移类别。当自监督表示从源域搬到目标域的无监督任务(聚类、异常检测)时,两者交汇。辨析的意义在于:选型时别把"用自监督模型"直接等同于"走无监督迁移路线"。

💡 关键直觉:分类不是贴标签游戏,它决定你打开哪个工具箱。工具箱开错了,里面再好的工具也治不了你的病。

本节要点回顾

  • 两轴定三类:任务变不变、目标侧有无标签,交叉出归纳、直推、无监督
  • 日常微调=归纳式:换头微调全部落在这一格,但别把另外两格忘了
  • 直推式=领域适应的主场:任务原样、分布漂移,工具是加权与对齐而非冻结策略
  • 先检验再分类:KS 检验这类分布检验能把"感觉不一样"变成统计证据
  • 本节位置:分类树的两根轴来自上一章的术语坐标系;下一节深入直推式格子的核心问题——领域适应

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U