深度学习500问——Chapter10:迁移学习(2)

2024-06-11 11:04

本文主要是介绍深度学习500问——Chapter10:迁移学习(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

11.2 迁移学习的基本思路有哪些

11.2.1 基于样本迁移

11.2.2 基于特征迁移

11.2.3 基于模型迁移

11.2.4 基于关系迁移


11.2 迁移学习的基本思路有哪些

迁移学习的基本方法可以分为四种。这四种基本方法分别是:基于样本的迁移,基于模型的迁移,基于特征的迁移,及基于关系的迁移。

11.2.1 基于样本迁移

基于样本的迁移学习方法(Instance based Transfer Learning)根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习。图14形象地表示了基于样本迁移方法的思想源域中存在不同种类的动物,如狗、鸟、猫等,目标域只有狗这一种类别。在迁移时,为了最大限度地和目标域相似,我们可以人为地提高源域中属于狗这个类别的样本权重。

图14 基于样本的迁移学习方法示意图

在迁移学习中,对于源域Ds和目标域Dt,通常假定产生它们的概率分布是不同且未知的(P(Xs) =P(Xt))。另外,由于实例的维度和数量通常都非常大,因此,直接对 P(Xs) 和P(Xt) 进行估计是不可行的。因而,大量的研究工作 [Khan and Heisterkamp,2016, Zadrozny, 2004, Cortes et al.,2008, Dai et al., 2007, Tan et al.,2015, Tan et al., 2017]着眼于对源域和目标域的分布比值进行估计(P(Xt)/P(Xs))。所估计得到的比值即为样本的权重。这些方法通常都假设P(xs) <并且源域和目标域的条件概率分布相同(P(y|xs)=P(y|xt))。特别地,上海交通大学Dai等人 [Dai et al.,2007]提出了 TrAdaboost方法,将AdaBoost的思想应用于迁移学习中,提高有利于目标分类任务的实例权重、降低不利于目标分类任务的实例权重,并基于PAC理论推导了模型的泛化误差上界。TrAdaBoost方法是此方面的经典研究之一。文献 [Huang et al.,2007]提出核均值匹配方法 (Kernel Mean atching, KMM)对于概率分布进行估计,目标是使得加权后的源域和目标域的概率分布尽可能相近。在最新的研究成果中,香港科技大学的Tan等人扩展了实例迁移学习方法的应用场景,提出 了传递迁移学习方法(Transitive Transfer Learning, TTL) [Tan et al.,2015] 和远域迁移学习 (Distant Domain Transfer Learning,DDTL) [Tan et al.,2017],利用联合矩阵分解和深度神经网络,将迁移学习应用于多个不相似的领域之间的知识共享,取得了良好的效果。

​ 虽然实例权重法具有较好的理论支撑、容易推导泛化误差上界,但这类方法通常只在领域间分布差异较小时有效,因此对自然语言处理、计算机视觉等任务效果并不理想。而基于特征表示的迁移学习方法效果更好,是我们研究的重点。

11.2.2 基于特征迁移

基于特征的迁移方法(Feature based Transfer Learning)是指通过特征变换的方式互相迁移 [Liu et al.,2011, Zheng et al.,2008, Hu and Yang 2011] 来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中 [Pan et al.,2011, Long et al.,2014b, Duan et al.,2012], 然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。图15很形象地表示了两种基于特征的迁移学习方法。

图15 基于特征的迁移学习方法示意图

基于特征的迁移学习方法是迁移学习领域中最热门的研究方法,这类方法通常假设源域和目标域之间有一些交叉的特征。香港科技大学的Pan等人[Pan et al.,2011] 提出的迁移成分分析方法(Transfer Component Analysis,TCA)是其中较为经典的一个方法。该方法的核心内容是以最大均值方差异(Maximum MeanDiscrepancy, MMD)[Borgwardt et al.,2006] 作为度量准则,将不同数据领域中的分布差异最小化。加州大学伯克利分校的Blitzer等人[Blitzer et al.,2006]提出了一种基于结构对应的学习方法(Structural Corresponding Learning,SCL),该算法可以通过映射将一个空间中独有的一些特征变换到其他所有空间中的轴特征上,然后在该特征上使用机器学习的算法进行分类预测。清华大学龙明盛等人[Long et al.,2014b] 提出在最小化分布距离的同时,加入实例选择的迁移联合匹配(Tran-fer Joint Matching, TJM) 方法,将实例和特征迁移学习方法进行了有机的结合。澳大利亚卧龙岗大学的 Jing Zhang 等人[Zhang et al.,2017a]提出对于源域和目标域各自训练不同 的变换矩阵,从而达到迁移学习的目标。

11.2.3 基于模型迁移

基于模型的迁移方法(Parameter/Model based Transfer Learning)是指从源域和目标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条件是:源域中的数据与目标域中的数据可以共享一些模型的参数。其中代表性的工作主要有 [Zhang et al., 2010, Zhao et al.,2011, Pan et al.,2008b, Pan et al.,2008a]。图16形象地表示了基于模型的迁移学习方法的基本思想。

图16 基于模型的迁移学习方法示意图

​ 其中,中科院计算所的Zhao等人[Zhao et al.,2011]提出了TransEMDT方法。该方法首先针对已有标记的数据,利用决策树构建鲁棒性的行为识别模型,然后针对无标定数据,利用K-Means聚类方法寻找最优化的标定参数。西安邮电大学的Deng等人[Deng et al.,2014]也用超限学习机做了类似的工作。香港科技大学的Pan等人[Pan et al.,2008a]利用HMM,针对Wifi室内定位在不同设备、不同时间和不同空间下动态变化的特点,进行不同分布下的室内定位研究。另一部分研究人员对支持向量机 SVM 进行了改进研究 [Nater et al.,2011, Li et al.,2012]。这些方法假定 SVM中的权重向量 w 可以分成两个部分: w = wo+v, 其中 w0代表源域和目标域的共享部分, v 代表了对于不同领域的特定处理。在最新的研究成果中,香港科技大学的 Wei 等人 [Wei et al.,2016b]将社交信息加入迁移学习方法的 正则项中,对方法进行了改进。清华大学龙明盛等人[Long et al.,2015a, Long et al.,2016, Long et al.,2017]改进了深度网络结构,通过在网络中加入概率分布适配层,进一步提高了深度迁移学习网络对于大数据的泛化能力。

11.2.4 基于关系迁移

基于关系的迁移学习方法(Relation Based Transfer Learning)与上述三种方法具有截然不同的思路。这种方法比较关注源域和目标域的样本之间的关系。图17形象地表示了不同领域之间相似的关系。

​ 就目前来说,基于关系的迁移学习方法的相关研究工作非常少,仅有几篇连贯式的文章讨论:[Mihakova et al.,2007, Mihakova and Mooney,2008, Davis]。这些文章都借助于马尔科夫逻辑网络(Markov Logic Net)来挖掘不同领域之间的关系相似性。

​ 我们将重点讨论基于特征和基于模型的迁移学习方法,这也是目前绝大多数研究工作的热点。

图17 基于关系的迁移学习方法示意图

图18 基于马尔科夫逻辑网的关系迁移

这篇关于深度学习500问——Chapter10:迁移学习(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050987

相关文章

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security