迁移学习(Transfer Learning)的背景、历史及学习
人工智能培训网chinaai.org
1、迁移学习提出背景
在机器学习、深度学习和数据挖掘的大多数任务中,我们都会假设training和inference时,采用的数据服从相同的分布(distribution)、来源于相同的特征空间(feature space)。但在现实应用中,这个假设很难成立,往往遇到一些问题:
1、带标记的训练样本数量有限。比如,处理A领域(target domain)的分类问题时,缺少足够的训练样本。同时,与A领域相关的B(source domain)领域,拥有大量的训练样本,但B领域与A领域处于不同的特征空间或样本服从不同的分布。
2、数据分布会发生变化。数据分布与时间、地点或其他动态因素相关,随着动态因素的变化,数据分布会发生变化,以前收集的数据已经过时,需要重新收集数据,重建模型。
这时,知识迁移(knowledge transfer)是一个不错的选择,即把B领域中的知识迁移到A领域中来,提高A领域分类效果,不需要花大量时间去标注A领域数据。迁移学习,做为一种新的学习范式,被提出用于解决这个问题。
2、迁移学习发展历史
迁移学习的研究来源于一个观测:人类可以将以前的学到的知识应用于解决新的问题,更快的解决问题或取得更好的效果。迁移学习被赋予这样一个任务:从以前的任务当中去学习知识(knowledge)或经验,并应用于新的任务当中。换句话说,迁移学习目的是从一个或多个源任务(source tasks)中抽取知识、经验,然后应用于一个目标领域(target domain)当中去。
自1995年以来,迁移学习吸引了众多的研究者的目光,迁移学习有很多其他名字:学习去学习(Learning to learn)、终身学习(life-long learning)、推导迁移(inductive transfer)、知识强化(knowledge consolidation)、上下文敏感性学习(context-sensitive learning)、基于知识的推导偏差(knowledge-based inductive bias)、累计/增量学习(increment / cumulative learning)等。
2迁移学习中的符号及概念的定义
1、符号定义
领域(domain)和任务(task)定义:
领域由两个部分组成:特征空间(feature space)X和特征空间的边缘分布P(x),其中,x={x1,x2......xn} 属于X。如果两个领域不同,它们的特征空间或边缘概率分布不同。领域表示成D={X,P(x)}。
任务组成:给定一个领域D={X,P(x)}的情况下,一个任务也包含两个部分:标签空间Y和一个目标预测函数f(.)。一个任务表示为:T={Y,f(.)}。目标预测函数不能被直接观测,但可以通过训练样本学习得到。从概率论角度来看,目标预测函数f(.)可以表示为P(Y|X)。任务表示成T={Y,P(Y|X)}
一般情况下,只考虑只存在一个source domain Ds 和一个target domain Dt的情况。其中,源领域Ds = {(xs1,ys1),(xs2,ys2)......(xsns,ysns)},xsi 属于Xs,表示源领域的观测样本,ysi属于Ys,表示源领域观测样本xsi对应的标签。目标领域Dt = {(xt1,yt1),(xt2,yt2).......(xtnt,ytnt)},xti属于Xt,表示目标领域观测样本,ysi属于Yt,表示目标领域xti对应的输出。通常情况下,源领域观测样本数目ns与目标领域观测样本数目nt存在如下关系:1<= nt << ns。
2、迁移学习定义
基于以上的符号定义,给出正式的迁移学习的定义:在给定源领域Ds和源领域学习任务Ts、目标领域Dt和目标领域任务Tt的情况,且Ds 不等于Dt或Ts不等于Tt,情况下;迁移学习使用源领域Ds和Ts中的知识提升或优化目标领域Dt中目标预测函数ft(.)的学习效果。
通过以上的定义可以发现:
1)、领域D=(X,P(x)),当源和目标领域D不同时,存在两种情况:
(1)Xs不等于XT,源领域和目标领域的特征空间不同;
(2)P(xs)不等于P(xt),即源空间和目标空间的特征空间相同,但观测样本X的边缘分布不同。
2)任务T={Y,P(Y|X)},当源和目标领域T不同时,存在两种情况:
(1)Ys不等于Yt,源领域的标签空间与目标领域的标签空间不同;
(2)P(Ys|Xs)不等于P(Yt|Xt),即源领域和目标领域的条件概率分布不同。
3、迁移学习(Transfer Learning)核心技术学习
1.深入了解神经网络的组成、训练和实现,掌握深度空间特征分布等关键概念;
2.掌握迁移学习的思想与基本形式,了解传统迁移学习的基本方法,对比各种方法的优缺点;
3.握深度迁移学习的思想与组成模块,学习深度迁移学习的各种方法;
4.掌握深度迁移学习的网络结构设计、目标函数设计的前沿方法,了解迁移学习在PDA、Source-Free DA上的应用;
5.掌握深度迁移学习在语义分割、目标检测、行人重识别等任务中的应用,学习图像/视频风格迁移方法,了解风格迁移在实际生活中的应用;
6.掌握小样本学习、Transformer等前沿方法和基本思想,了解小样本学习、Transformer等在实际场景下的应用;
7.通过实操掌握图片视频风格迁移,自动驾驶中的跨域语义分割,目标检测。
一、机器学习简介与经典机器学习算法介绍
1.什么是机器学习?
2.机器学习框架与基本组成
3.机器学习的训练步骤
4.机器学习问题的分类
5.经典机器学习算法介绍
目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。
二、深度学习简介与经典网络结构介绍
1.神经网络简介
2.神经网络组件简介
3.神经网络训练方法
4.卷积神经网络介绍
5.经典网络结构介绍
目标:深入了解神经网络的组成、训练和实现,掌握深度空间特征分布等关键概念,为深度迁移学习奠定知识基础。
三、迁移学习基础
1.迁移学习绪论
2.基于样本的迁移学习
3.基于特征的迁移学习
4.基于分类器适配的迁移学习
目标:掌握迁移学习的思想与基本形式,了解传统迁移学习的基本方法,对比各种方法的优缺点,掌握迁移学习的适用范围。
四、深度迁移学习介绍
1.深度迁移学习概述
2.基于距离函数的深度迁移学习
3.基于对抗网络的深度迁移学习
4.深度异构迁移学习方法介绍
5.深度领域泛化学习介绍
目标:掌握深度迁移学习的思想与组成模块,学习深度迁移学习的各种方法,对比各种方法的优缺点,掌握深度迁移学习的适用范围。
五、迁移学习前沿方法介绍
1.深度迁移网络结构设计
2.深度迁移学习目标函数设计
3.全新场景下的迁移学习
目标:掌握深度迁移学习的网络结构设计、目标函数设计的前沿方法,了解迁移学习在PDA、Source-Free DA上的应用。
六、迁移学习前沿应用
1.迁移学习在语义分割中的应用
2.迁移学习在目标检测中的应用
3.迁移学习在行人重识别中的应用
4.图片与视频风格迁移
目标:掌握深度迁移学习在语义分割、目标检测、行人重识别等任务中的应用,学习图像/视频风格迁移方法,了解风格迁移在实际生活中的应用。
七、小样本学习、Transformer等前沿方法与应用
1.小样本学习概念与基本方法介绍
2.小样本学习应用
3.Transformer概念与基本方法介绍
4.Transformer在图像领域的应用
目标:掌握小样本学习、Transformer等前沿方法和基本思想,了解小样本学习、Transformer等在实际场景下的应用。
八、实验实操之实操环境搭建
1. 硬件准备:GPU显存11GB以上
2. 软件准备:Linux操作系统(Ubuntu16.04以上),显卡驱动安装(512.54),CUDA Toolkit(10.1)和cuDNN加速库(7.6.4),VS Code编辑器安装,Jupyter Notebook
3. 编程语言和框架:Python3.8.5、torch==1..07、torchvision==0.8.2、mmcv-full==1.3.7、opencv-python==4.4.0、matplotlib==3.4.2、numpy==1.19.2、Pillow==8.3.1、scikit-learn==1.0.2
4. 数据集准备:Office-31、IRVI、GTA5、Cityscapes、Foggy cityscapes等
注:硬件准备由主办方提供云服务器
九、实验实操之深度迁移学习实践
1.掌握PyTorch中的基本原理和编程思想。
2.理解在一个新的场景或数据集下,何时以及如何进行迁移学习。
3.利用PyTorch加载数据、搭建模型、训练网络以及进行网络微调操作。
4.给定迁移场景,利用daib库和生成对抗技术独立完成图像分类中的领域适配。
5.迁移效果的可视化,利用机器学习库scikit-learn中的t-SNE对迁移过后的高维数据进行可视化。
十、实验实操之图片与视频风格迁移实践
1.掌握基于生成对抗网络的风格迁移技术。
2.图像/视频风格迁移网络的搭建,重点掌握编码器和解码器的内在逻辑和不同损失函数的运用。
3.实践红外视频转换到可见光视频的风格迁移。
十一、实验实操之自动驾驶中的跨域语义分割实践
1.掌握语义分割发展现状及代表性工作,如FCN,DeepLab系列等。
2.了解常用的语义分割评价指标(PA、mPA、mIoU、FWIoU)和常见数据集(PASCAL VOC2012,ADE20K、BDD100K、Cityscapes、GTA5、Dark Zurich)。
3.语义分割工具箱MMSegmentaion的认识和使用。
4.设计一个分割模型能够从仿真环境中得到的数据迁移到真实场景下产生的数据。
十二、实验实操之目标检测实践
1.掌握目标检测算法的基本框架以及目标检测中的经典模型,如R-CNN系列的两阶段检测模型和YOLO系列的单阶段检测模型。
2.掌握目标检测模型的评测指标(IOU和mAP)、标准评测数据集(Pascal VOC,MS COCO和Cityscapes)以及检测模型中的一些训练技巧,如数据增强、多尺度训练/测试、预测框微调/投票法、在线难例挖掘、软化非极大抑制、RoI对齐和集成。
3.实践基于Transformer的端到端目标检测框架的搭建,并在新的数据集上与基于CNN的网络进行迁移性能的对比。 百度盘/s/1mxi-tAbGxTp7RMokusRCfw 提取码: naga