迁移学习——入门简介

一、简介

背景:现如今数据爆炸:

  • 对机器学习模型来说要求快速构建,强泛化

  • 对于数据来说,大部分数据没有标签

所以收集标签数据和从头开始构建一个模型都是代价高昂的,需要对模型和带有标签的数据进行重用

传统机器学习:假设数据服从相同分布,但我们希望针对不同分布的数据,快速构建模型,实现数据标记

迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性。在迁移学习中,我们已有的知识叫做源域(source domain),要学习的新知识叫目标域(target domain),源域和目标域不同但有一定关联,我们需要减小源域和目标域的分布差异,进行知识迁移,从而实现数据标定。

  • 源域目标域区别:一般目标域相对于源域,在数据分布、特征维度以及模型输出变化条件有不同,有机地利用源域中的知识来对目标域更好地建模。另外,在有目标域标定数据缺乏的情况下,迁移学习可以很好地利用相关领域有标定的数据完成数据的标定。

  • 负迁移:如果源域和目标域之间相似度不够,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。

  • 为什么要进行迁移学习:

    数据的标签很难获取 从头建立模型是复杂和耗时的

二、迁移学习常用概念

  • Domain (域):由数据特征和特征分布组成,是学习的主体

  • Source domain (源域):已有知识的域

  • Target domain (目标域):要进行学习的域

  • Task (任务):由目标函数和学习结果组成,是学习的结果,可理解为分类器

  • 迁移学习条件:给定源域和源域的任务,目标域和目标域的任务,目标:利用源域和源域任务学习目标域预测函数f(),限制条件:源域和目标域不同或源任务和目标任务不同

  • domain adaptation(领域自适应):有标签的源域和无标签的目标域共享一致的类别和特征,但分布不同

  • space coding(稀疏编码):给定一组输入数据向量 { x1,x2,...,xN },去学习一组基字典(dictionary of bases),将每个样本表示为一组基的线性组合,其中这组基较为完备,多于输出,而系数向量则大部分都为 0,所以称为「稀疏」。

    稀疏编码过程:       1、训练(training):给定一系列的样本图片[x1, x 2, …],我们需要学习得到一组基[Φ1, Φ2, …],也就是字典,这需要不断迭代,目标函数表示为Min |I – O|   u*(|a1|   |a2|   …   |an |)I为输入,O为输出,其后为正则化。
               每次迭代分两步:               a)固定字典Φ[k],然后调整a[k],使得上式,即目标函数最小(即解LASSO问题)。               b)然后固定住a [k],调整Φ [k],使得上式,即目标函数最小(即解凸QP问题)。
               不断迭代,直至收敛。这样就可以得到一组可以良好表示这一系列x的基,也就是字典。2、编码(Coding):给定一个新的图片x,由上面得到的字典,通过解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达了。

三、迁移学习分类

3.1 按照学习方式分四类:

  1. 基于样本的迁移:通过对源域中有标记样本加权利用完成知识迁移,例如相似的样本就给高的权重

    假设:源域中的一些数据和目标域会共享很多共同的特征 方法:对源域进行样本重新加权,筛选出与目标域数据相似度高的数据,然后进行训练学习 代表工作: · TrAdaBoost [Dai, ICML-07] · Kernel Mean Matching (KMM) [Smola, ICML-08] · Density ratio estimation [Sugiyama, NIPS-07] 优点: · 方法较简单,实现容易 缺点: · 权重选择与相似度度量依赖经验 · 源域和目标域的数据分布往往不同
  2. 基于特征的迁移:通过将源域和目标域特征变换到相同的空间(或者将其中之一映射到另一个的空间中)并最小化源域和目标域的距离来完成知识迁移;目前使用最多也最易于上手完成

    假设:源域和目标域仅仅有一些交叉特征
       方法:通过特征变换,将两个域的数据变换到同一特征空间,然后进行传统的机器学习
       代表工作:
           · Transfer component analysis (TCA) [Pan, TKDE-11]   · Spectral Feature Alignment (SFA) [Pan, WWW-10]   · Geodesic flow kernel (GFK) [Duan, CVPR-12]   · Transfer kernel learning (TKL) [Long, TKDE-15]
       优点:
           · 大多数方法采用
           · 特征选择与变换可以取得好效果
       缺点:
           · 往往是一个优化问题,难求解
           · 容易发生过适配
  3. 基于模型的迁移:将源域和目标域的模型与样本结合起来调整模型的参数;一般来说使用于神经网络,使用较多

    假设:源域和目标域可以共享一些模型参数 方法:由源域学习到的模型运用到目标域上,再根据目标域学习新的模型 代表工作: · TransEMDT [Zhao, IJCAI-11] · TRCNN [Oquab, CVPR-14] · TaskTrAdaBoost [Yao, CVPR-10] 优点: · 模型间存在相似性,可以被利用 缺点: · 模型参数不易收敛
  4. 基于关系的迁移:通过在源域中学习概念之间的关系,然后将其类比到目标域中,完成知识的迁移。

    假设:如果两个域是相似的,那么它们会共享某种相似关系
       方法:利用源域学习逻辑关系网络,再应用于目标域上
       代表工作:
           · Predicate mapping and revising [Mihalkova, AAAI-07],
           · Second-order Markov Logic [Davis, ICML-09]

3.2 按迁移情境分三类:

  1. 归纳式迁移 (inductive transfer learning):源域目标域学习任务不同但相关

  2. 直推式迁移(transductive transfer learning):源域目标域不同但相关,学习任务相同

  3. 无监督迁移(unsupervised transfer learning):源域目标域及任务均不同但相关,均没有标签

3.3 按特征空间分两类:

  1. 同构迁移学习:特征维度相同分布不同

  2. 异构迁移学习:特征维度不同或特征本身就不同,如图片到文字

四、迁移学习热门研究领域

4.1、域适配问题 (domain adaptation)

有标签的源域和无标签的目标域共享相同的特征和类别,但是特征分布不同,如何利用源域标定目标域计算机视觉的一个重要问题
解决思路:

  • 数据分布角度:最小化概率分布距离————概率分布适配(distribution adaptation)

    边缘分布适配:目标域数据每类分布图形和源域的看起不一样 条件分布适配:目标域数据每类分布图形和源域的看起大致一样,但类内分布不一样 联合分布适配:目标域数据每类分布图形和源域的看起不一样,但类内分布也不一样 方法: 基础:大多数方法基于MMD距离进行优化求解 效果:平衡(BDA)>联合(JDA)> 边缘(TCA)> 条件 使用:数据整体差异大(相似度低),边缘分布更重要 数据整体差异小(协方差漂移),条件分布更重要 最新成果:深度学习 分布适配往往有更好的效果(DDC、DAN、JAN)
  • 特征选择角度:选择源域目标域公共特征,建立统一模型————特征选择法(feature selection)

  • 特征变换角度:把源域目标域变换到公共子空间内————子空间学习法(subspeace learning)

迁移方法:
1、基于特征的迁移方法:

  • (TCA)Transfer component analysis [Pan, TKDE-11]

    迁移成分分析:将源域和目标域变换到相同空间,最小化它们的距离
其中优化目标表示最小化源域目标域在高维空间的低维嵌入的距离,其后是正则化 分布距离由MMD求出,当源域数据和目标域数据映射在一个高维完备的希尔伯克空间中,其分布可以用其平均值表示, TCA的扩展: ACA:最小化MMD,同时维持迁移过程中目标域的结构 DTMKL:多核MMD,原来有一个k现在有多个k求解 DDC:MMD加入神经网络(一层) DAN:MMD加入神经网络(三层) DME:先进行矩阵变换再映射 CMD:不只一阶的MMD,k阶
  • joint distribution adaptation(JDA)

    直接继承于TCA,但是加入了条件分布适配
       联合分布的结果普遍优于单独适配边缘或条件分布
           JDA扩展:           ARTL:分类器学习 联合分布适配           VDA:加入类间距的类内距比值
               JGSA:加入类间距,类内距,标签适配(非深度学习效果最好)           JAN:提出JMMD度量,在深度网络中进行联合分布适配
  • SCL(structural corresponding learning):

    寻找主特征并把源域和目标域对齐
  • Geodesic flow kernel[Duan, CVPR-12]

    利用流形学习,将数据映射到高维空间中,然后测量其距离,使得源域和目标域差异最大
  • Transfer kernel learning [Long, TKDE-15]

    在再生核希尔伯特空间中学习一个领域不变核矩阵,从而实现源域和目标域的适配
  • TransEMDT [Zhao, IJCAI-11]

    首先通过聚类得到初始的目标域决策树模型,然后迭代更新决策树的参数直到收敛为止

2、基于实例的迁移方法:

  • Kernel mean matching [Huang, NIPS-06]

    在再生希尔伯特空间中计算源域和目标域的协方差分布差异,然后用二次规划求解样本权重
  • Covariate Shift Adaptation [Sugiyama, JMLR-07]

    采用自然估计法估计源域和目标域的密度比例,然后进行实例权重的分配,最后迁移

3、基于模型的迁移方法:

  • (ASVM)Adaptive SVM [Yang et al, ACM Multimedia-07]

    使用SVM模型,在适配和原始模型之间学习“数据函数”,达到模型迁移效果
  • Multiple Convex Combination (MCC) [Schweikert, NIPS-09]

    对一些域适配的方法做集成学习
  • Domain Adaptation Machine (DAM) [Duan, TNNLS-12]

4.2、多源迁移学习 (multi-source TL)

  • TrAdaBoost [Dai, ICML-07]

    利用Boost的技术过滤掉多个源域中与目标域不相似的样本,然后进行实例迁移学习
  • MsTL-MvAdaboost [Xu, ICONIP-12]

    不仅考虑源域和目标域的样本相似度情况,同时,以多视图学习的目标来进行统一的迁移
  • Consensus regularization [Luo, CIKM-08]

    同时在源域和伪标注的目标域上训练分类器,利用一致性约束进行知识的迁移

4.3、深度迁移学习 (deep TL)

4.4、异构迁移学习 (heterogeneous TL)

五、机器学习常见框架

AlexNet:基于神经网络学习(CNN)的框架,解决了图像分类的问题

  • 输入:是1000个不同类型图像(如猫、狗等)中的一个图像,输出是1000个数字的矢量。输出向量的第i个元素即为输入图像属于第i类图像的概率。因此,输出向量的所有元素之和为1。

  • 架构:AlexNet由5个卷积层和3个全连接层组成,多个卷积内核(a.k.a过滤器)可以提取图像中有趣的特征。

VGG:在AlexNet网络的基础上发展而来的神经网络模型,可以应用在人脸识别、图像分类等方面
ResNet(Residual Neural Network):基于神经网络学习(CNN)的框架,通过使用ResNet Unit成功训练出了152层的神经网络,参数量比VGGNet低,效果突出。ResNet的结构可以极快的加速神经网络的训练,模型的准确率也有比较大的提升。
PyTorch:一个以Python 优先的深度学习框架,不仅能够实现强大的GPU 加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow 等都不支持的。
TensorFlow :是世界上最受欢迎的开源机器学习框架,它具有快速、灵活并适合产品级大规模应用等特点

(0)

相关推荐

  • 【生成模型】关于无监督生成模型,你必须知道的基础

    大家好,小米粥销声匿迹了很长一段时间,今天又杀回来啦!这次主要是介绍下生成模型的相关内容,尤其是除了GAN之外的其他生成模型,另外应部分读者要求,本系列内容增添了代码讲解,希望能使大家获益,更希望大家 ...

  • 机器学习的策略原理:基本过程、算法框架和项目管理

    作者:cooperyjli,腾讯 CDG 数据分析师 机器学习是一种解决问题的思维方式,核心在于收集数据,应用算法和生成模型.相对于普通的数据统计和分析而言,机器学习有自己的优化过程和评估体系,是一个 ...

  • 【AI有识境】如何掌握好图像分类算法?

    大家好,这是专栏<AI有识境>的第一篇文章,讲述如何掌握好图像分类算法. 进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落 ...

  • 用户画像: 信息抽取方法概览

    用户画像: 信息抽取方法概览

  • 基于功能磁共振成像数据的机器学习对精神分裂症进行分类

          功能磁共振成像能够估计人脑中的功能激活和连通性,近年来随着机器学习技术的发展,人们热衷于将这些功能模式与机器学习相结合用于识别精神病特征.尽管这些方法具有更好地理解疾病过程并完成早期诊断的 ...

  • 图像处理中的经典机器学习方法

    程序员书屋2021-01-24 14:28:37 在本章中,我们将讨论机器学习技术在图像处理中的应用.首先,定义机器学习,并学习它的两种算法--监督算法和无监督算法:其次,讨论一些流行的无监督机器学习 ...

  • 多媒体内容理解在美图社区的应用实践

    编辑整理:翁梦娟 出品平台:DataFunTalk 导读:移动互联网时代,图像和短视频等多媒体内容爆发,基于计算机视觉的AI算法是多媒体内容分析的基础.在美图社区智能化发展的过程中,视频和图像分类打标 ...

  • 4款深度学习框架简介,初学者该如何选择?

    导读:近几年,随着深度学习爆炸式发展,在人工智能领域除了理论方面的突破外,还有基础架构的突破,它们奠定了深度学习繁荣发展的基础.这其中涌现了几个著名的深度学习平台,本文将对这些平台进行逐一介绍. 作者 ...

  • 儿童声乐培训学习入门要领

    声乐教学不只是让孩子学会几首歌曲,单纯地解决一些声音技巧问题,而是培养他们掌握科学的发声方法,把所学的声乐知识和技巧运用到歌唱艺术中去.经过系统培训的孩子,演唱基本做到音准.节奏准确,音乐感觉较好,口 ...

  • Adapter: 高效NLP迁移学习

    今天轻松一点,看个简单高效的trick.也是咱们在昨天的DCCL: 推荐系统的端+云联动学习挖的坑. 目前,NLP中主流的方式是预训练+微调,当然,有大宗师级别的资源强者可以玩GPT-3这样子的大模型 ...

  • 这可能是史上最全的钢琴学习入门知识...

    钢琴启蒙教育相当关键当然也相当困难.入门学习是否标准与专业对今后会有深远的影响."先入为主"除了家庭方面的重要作用外,最主要是针对孩子自身的培养.笔者根据自己多年的教学经验提供一些 ...

  • 杨公风水学习入门-龙合向,向合水立向法、依水立向法

    龙合向,向合水立向法: 天玉经:"龙要合向.向合水,水合三吉位,"经四位超父母之点穴立向法,其坐向与龙水,两组中必有一组与河图生成数相符合,在当运符合时,固能发富贵,产贤良,即使失 ...

  • 零基础钢琴学习入门必看

    现在 越来越多的成年人学钢琴 或是圆儿时的梦想,或是提升自身素养 有的是上班族,有的是宝妈宝爸 -- 很多初学者在面对繁杂的钢琴教学市场时 往往不知什么才是正确的 那么 下面这些钢琴入门知识 一定能帮 ...

  • 盘点 | 对比图像分类五大方法:KNN、SVM、BPNN、CNN 和迁移学习

    图像分类是人工智能领域的基本研究主题之一,研究者也已经开发了大量用于图像分类的算法.近日,Shiyu Mou 在 Medium 上发表了一篇文章,对五种用于图像分类的方法(KNN.SVM.BP 神经网 ...

  • 采用深度迁移学习定位含直驱风机次同步振荡源机组的方法

    中国电工技术学会活动专区 CES Conference 随着新能源电力电子器件的广泛接入,电力系统次同步振荡问题的诱发机理越来越复杂.为了能够及时定位到诱发次同步振荡的机组并采取措施,新能源电力系统国 ...

  • 为什么要有Shell脚本注释?linux学习入门系统

    在Linux系统中,Shell脚本(bash Shell程序)通常是在编辑器vi/vim中编写的,由UNIX/Linux命令.bash Shell命令.程序结构控制语句和注释等内容组成.那么Shell ...