迁移学习与域自适应

1 摘要

  • 本文会介绍迁移学习与域自适应的具体区别
  • 首先,解答一个问题:如果说两个image服从同一种分布,到底是什么意思?
  • 之后通过数学理论公式,严谨的将迁移学习与域自适应区分开来,并介绍两者相应的应用场景。
  • 坚持看下去,我会讲清楚,我也相信你会有所收获。

2 思路

2.1 Question:

  • 如果说两个image服从同一种分布,到底是什么意思?

Answer:

  • 该问题在 AI或机器学习 中经常出现,动辄要求输入图像数据独立同分布。what the fuck?自己没说我怎么知道同分布什么意思?基础概念没懂,它的一些相关公式也就稀里糊涂地理解,学起来真的难。深有感触的评论区扣 “ 确实!”。

  • 首先,我们必须了解一张图片可以通过其像素值表示出来。例如,一张256*256的灰度图可以通过65536维的向量,每个维度值的范围是0-255,来表示出来。

  • 想象一下,65536维的向量服从均匀分布 x ∼ U [ 0 , 255 ] 65536 x∼U[0,255]^{65536} xU[0,255]65536 ,它的图像该是什么样。如果我们将这样一种随机采样得到的向量解释为图像,你觉得我们看到一张脸的可能性大吗?当然不可能,实际上你会看到如下的噪音图。
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UyE33k6B-1628828549569)(https://i.stack.imgur.com/vlEte.png)]

  • 为什么你知道你看到的不是一张脸?没错,因为你知道一张脸不是由均匀分布的像素组成。换句话说,因为你直觉地知道一张脸的像素值构成的向量,分布不服从 x ∼ U [ 0 , 255 ] 65536 x∼U[0,255]^{65536} xU[0,255]65536 ,而是有另外的一种分布。

  • 因此,我们说两个image服从同一种分布。其实就是将它们转化为向量后,该向量服从某一种分布。如下图,直觉上你自然地知道mnist和mnist-m分布不同,但是其内部图像服从同一分布。解释完毕,还有不懂评论区留言。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-msv6CDfN-1628828549571)(https://nbviewer.jupyter.org/github/vistalab-technion/cs236605-tutorials/blob/master/tutorial6/img/mnist_m.png)]

2.2 理论公式

假设我们数据集中有 N N N个图像 { ( x i , y i ) } i = 1 N \left\{(x^i,y^i)\right\}_{i=1}^N {(xi,yi)}i=1N ,其中:

  • x i = ( x 1 i , … , x D i ) ∈ X x^i = \left(x^i_1, \dots, x^i_D\right) \in \mathcal{X} xi=(x1i,,xDi)X 是image, D D D 是image的维度
  • y i ∈ Y y^i \in \mathcal{Y} yiY 是标签
  • 标签 C C C 个类别, Y = { 0 , … , C − 1 } \mathcal{Y} = \{0,\dots,C-1\} Y={0,,C1} ,因此 y i y^i yi 是类别标签
  • X , Y \mathcal{X},\mathcal{Y} X,Y 分别是image spacelabel space。作为一个分类任务,我们需要做的就是从数据中学习 P ( Y ∣ X ) P(Y|X) P(YX) (给定数据X,其分类成Y的概率)

Finally:

  • D {\mathcal{D}} D 被定义为 D = { X , P ( X ) } \mathcal{D}=\left\{\mathcal{X},P(X)\right\} D={X,P(X)} (可以理解为数据集)
  • 学习任务 T \mathcal{T} T 被定义 T = { Y , P ( Y ∣ X ) } \mathcal{T}=\{\mathcal{Y},P(Y|X)\} T={Y,P(YX)} (可以理解为数据集分类任务)

Definition:

给定:

  • 源域 D S \mathcal{D}_S DS 和学习任务 T S \mathcal{T}_S TS (大白话:训练集和训练集分类任务)
  • 目标域 D T \mathcal{D}_T DT 和学习任务 T T \mathcal{T}_T TT (大白话:测试集和测试集任务)

迁移学习目标是通过利用 D S \mathcal{D}_S DS T S \mathcal{T}_S TS 的信息来提升目标域的学习任务 T T \mathcal{T}_T TT ,此时

  • D S ≠ D T \mathcal{D}_S \neq \mathcal{D}_T DS=DT, or
  • T S ≠ T T \mathcal{T}_S \neq \mathcal{T}_T TS=TT

也就是说,迁移学习的范畴很大。源域可以与目标域数据不同,源域与目标域任务也能不同。如下举例:

2.3 任务场景

2.3.1 同样的域,不同任务

Case1:标签空间 label space 不同, Y S ≠ Y T \mathcal{Y}_S \neq \mathcal{Y}_T YS=YT

例如:标签空间的类别数量不同

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-09LJKngp-1628828549573)(C:\Users\刘志远\AppData\Local\Temp\1628826393498.png)]

Case2:标签的条件分布不同, P ( Y S ∣ X S ) ≠ P ( Y T ∣ X T ) P(Y_S|X_S)\neq P(Y_T|X_T) P(YSXS)=P(YTXT)

源域与目标域的标签分布不同,例如可能源域为1的图片很多;目标域为2的图片很多,类别不平衡。

2.3.2 同样任务,不同的域

Case1:源域与目标域图像空间 image space 不同, X S ≠ X T \mathcal{X}_S \neq \mathcal{X}_T XS=XT

例如, X S \mathcal{X}_S XS 是灰度图像空间, X T \mathcal{X}_T XT 是彩色图像空间

Case2:源域与目标域图像空间的数据分布不同, P ( X S ) ≠ P ( X T ) P(X_S)\neq P(X_T) P(XS)=P(XT)

例如:源域包含手绘图像,目标域则是机器拍的图像

关键来了,这个常见的场景又称之为域自适应 domain adaptation

由此可见:

迁移学习涉及范畴很大,包括如上全部。但如果仅仅只是源域与目标域图像空间的数据分布不同,那就属于域自适应的范畴。也就是说, D o m a i n    A d a p t a t i o n ∈ T r a n s f e r    L e a r n i n g Domain\; Adaptation \in Transfer\;Learning DomainAdaptationTransferLearning

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uaEec5Td-1628828549575)(C:\Users\刘志远\AppData\Local\Temp\1628827569381.png)]

3 总结

  • 迁移学习范畴很大,不管源域与目标域,源域学习任务与目标域学习任务相不相同,都属于迁移学习的范畴
  • 但如果仅仅只是源域与目标域图像空间的数据分布不同,那就属于域自适应的范畴。当然, D o m a i n    A d a p t a t i o n ∈ T r a n s f e r    L e a r n i n g Domain\; Adaptation \in Transfer\;Learning DomainAdaptationTransferLearning ,也能说是迁移学习范畴啦。
  • 这篇文章算是科普 ”什么是迁移学习与域自适应?“。后续也会出内容的相关代码实现。

附录

参考资料:

https://nbviewer.jupyter.org/github/vistalab-technion/cs236605-tutorials/blob/master/tutorial6/tutorial6-TL_DA.ipynb#CS236605:-Deep-Learning

  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值