整理学习之深度迁移学习

2023-05-16

迁移学习(Transfer Learning)通俗来讲就是学会举一反三的能力,通过运用已有的知识来学习新的知识,其核心是找到已有知识和新知识之间的相似性,通过这种相似性的迁移达到迁移学习的目的。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。

迁移学习小故事

有一个商人以卖猫的玩偶为生,他是一个分辨高手,擅长区分不同的猫,如果有人拿猫想要坑他,基本是不可能的。名贵的猫的玩偶也就卖的贵一些。突然有一天,他不想卖猫了,想要卖老虎和狗的玩偶。

本以为老虎和猫长的比较像,区分种间不同的种类的时候,也是比较容易的。可是事实没有他想象的那么容易。这突然间一下子的转行,却使他的生意远不如从前了,因为他经常会对不同的种类的老虎和狗的玩偶种类做出错误的判断,会误以为名贵的为廉价的,而卖出的时候以一个低价卖出,导致自己的利润大大降低。

这时候,他只能重新开始学习大量的不同的种类的狗和老虎的细节特征,来尽量提升自己的利润。

模型
商人:不管他是叫是CNN,还是RNN,还是GAN,商人是迁移学习中需要用到的模型

源域
猫咪
源域:具体地,在迁移学习中,我们已有的知识叫做源域(source domain)

目标域
狗和老虎的玩偶
目标域:要学习的新知识叫目标域(target domain)。

多任务学习
同时学习不同种类的狗和老虎的玩偶的特点。

负迁移
从猫迁移到狗,它们之间的相似度不高,即同一模型,对于数据的相似度不高的情况下,迁移的效果会出现副作用的情况,为负迁移。

产生负迁移的原因主要有:
1、源域和目标域压根不相似,谈何迁移?——数据问题(猫和狗的玩偶)
2、源域和目标域是相似的,但是,迁移学习方法不够好,没找到可迁移的成分。——方法问题(猫和老虎的玩偶)



A Survey on Deep Transfer Learning

迁移学习放宽了训练数据必须与测试数据独立同分布(i.i.d.)的假设,这启发我们使用迁移学习来解决训练数据不足的问题。

根据深度迁移学习中使用的技术,给出了深度迁移学习的定义、类别并回顾了最近的研究工作。

1.引言

深度学习是机器学习中一种基于大规模数据的表征学习算法。

数据依赖是深度学习中最严峻的问题之一。与传统的机器学习方法相比,深度学习极其依赖大规模训练数据,因为它需要大量数据去理解潜在的数据模式。我们可以发现一个有趣的现象,模型的规模和所需数据量的大小几乎呈线性关系。

对于特定问题,模型的表达空间必须大到足以发现数据的模式。模型中的较底层可以识别训练数据的高级特征,之后的较高层可以识别帮助做出最终决策所需的信息

迁移学习放宽了训练数据必须与测试数据独立同分布(i.i.d.)这样的假设,这启发我们使用迁移学习来解决训练数据不足的问题。在迁移学习中,训练数据和测试数据不需要是 i.i.d.,目标域中的模型也不需要从头开始训练,这可以显著降低目标域对训练数据和训练时间的需求。

2.深度迁移学习

迁移学习是机器学习中解决训练数据不足问题的重要工具。它试图通过放宽训练数据和测试数据必须为 i.i.d 的假设,将知识从源域迁移到目标域。

我们已有的知识叫做源域(source domain)

要学习的新知识叫目标域(target domain)

符号定义:

域可以 用 D = {χ, P(X)} 表示,其包含两部分:特征空间 χ 和边缘概率分布 P(X) 其中 X = {x1, …, xn} ∈ χ。

任务可以用 T = {y, f(x)} 表示。它由两部分组成:标签空间 y 和目标预测函数 f(x)。f(x) 也可看作条件概率函数 P(y|x)。

定义 1:(迁移学习)。给定一个基于数据 Dt 的学习任务 Tt,我们可以从 Ds 中获取对任务 Ts 有用的知识。迁移学习旨在通过发现并转换 Ds 和 Ts 中的隐知识来提高任务 Tt 的预测函数 fT(.) 的表现,其中 Ds ≠ Dt 且/或 Ts ≠ Tt。此外,大多数情况下,Ds 的规模远大于 Dt 的规模。

img

迁移学习就源域和目标域之间的关系分为三个主要类别,这已被广泛接受。这些综述是对过去迁移学习工作的总结,它介绍了许多经典的迁移学习方法。

迁移学习分类

此外,人们最近提出了许多更新和更好的方法。近年来,迁移学习研究界主要关注以下两个方面:域适应和多源域迁移。

在迁移学习中, 当源域和目标的数据分布不同 ,但两个任务相同时,这种特殊的迁移学习叫做域适应 (Domain Adaptation,DA> )。
多源迁移学习涉及多于一个的源域,同时将多个源域的知识迁移到目标域中辅助目标域的学习。

如今,深度学习近年来在许多研究领域取得了主导地位。重要的是要找到如何通过深度神经网络有效地传递知识,深度神经网络其定义如下:

定义 2:(深度迁移学习)。给定一个由 <Ds, Ts, Dt, Tt, fT(.)>定义的迁移学习任务。这就是一个深度迁移学习任务,其中 fT(.) 是一个表示深度神经网络的非线性函数。

3 类别

深度迁移学习研究如何通过深度神经网络利用其他领域的知识。由于深度神经网络在各个领域都很受欢迎,人们已经提出了相当多的深度迁移学习方法,对它们进行分类和总结非常重要。

基于深度迁移学习中使用的技术,本文将深度迁移学习分为四类:基于实例的深度迁移学习,基于映射的深度迁移学习,基于网络的深度迁移学习和基于对抗的深度迁移学习

preview

3.1 基于实例的深度迁移学习

基于实例的深度迁移学习是指使用特定的权重调整策略,通过为那些选中的实例分配适当的权重,从源域中选择部分实例作为目标域训练集的补充。

它基于这个假设:「尽管两个域之间存在差异,但源域中的部分实例可以分配适当权重供目标域使用。」

img

源域中的与目标域不相似的浅蓝色实例被排除在训练数据集之外;源域中与目标域类似的深蓝色实例以适当权重包括在训练数据集中。

3.2 基于映射的深度迁移学习

基于映射的深度迁移学习是指**将源域和目标域中的实例映射到新的数据空间。**在这个新的数据空间中,来自两个域的实例都相似且适用于联合深度神经网络。

它基于假设:「尽管两个原始域之间存在差异,但它们在精心设计的新数据空间中可能更为相似。」

img

来自源域和目标域的实例同时以更相似的方式映射到新数据空间。将新数据空间中的所有实例视为神经网络的训练集。

3.3 基于网络的深度迁移学习

基于网络的深度迁移学习是指复用在源域中预先训练好的部分网络,包括其网络结构和连接参数,将其迁移到目标域中使用的深度神经网络的一部分。

它基于这个假设:「神经网络类似于人类大脑的处理机制,它是一个迭代且连续的抽象过程。网络的前面层可被视为特征提取器,提取的特征是通用的。」

img

首先,在源域中使用大规模训练数据集训练网络。然后,基于源域预训练的部分网络被迁移到为目标域设计的新网络的一部分。最后,它就成了在微调策略中更新的子网络。

3.4 基于对抗的深度迁移学习

生成对抗网络(GANs)由2个重要的部分构成:

  1. 生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
  2. 判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”

第一阶段:固定「判别器D」,训练「生成器G」

我们使用一个还 OK 的判别器,让一个「生成器G」不断生成“假数据”,然后给这个「判别器D」去判断。

一开始,「生成器G」还很弱,所以很容易被揪出来。

但是随着不断的训练,「生成器G」技能不断提升,最终骗过了「判别器D」。

到了这个时候,「判别器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。

第二阶段:固定「生成器G」,训练「判别器D」

当通过了第一阶段,继续训练「生成器G」就没有意义了。这个时候我们固定「生成器G」,然后开始训练「判别器D」。

「判别器D」通过不断训练,提高了自己的鉴别能力,最终他可以准确的判断出所有的假图片。

到了这个时候,「生成器G」已经无法骗过「判别器D」。

循环阶段一和阶段二

通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。

最终我们得到了一个效果非常好的「生成器G」,我们就可以用它来生成我们想要的图片了。


基于对抗的深度迁移学习是指引入受生成对抗网络(GAN)[7] 启发的对抗技术,以找到适用于源域和目标域的可迁移表征。

它基于这个假设:「为了有效迁移,良好的表征应该为主要学习任务提供辨判别力,并且在源域和目标域之间不可区分。」

img

基于对抗的深度迁移学习的示意图。在源域大规模数据集的训练过程中,网络的前面层被视为特征提取器。它从两个域中提取特征并将它们输入到对抗层。

对抗层试图区分特征的来源。如果对抗网络的表现很差,则意味着两种类型的特征之间存在细微差别,可迁移性更好,反之亦然。在以下训练过程中,将考虑对抗层的性能以迫使迁移网络发现更多具有可迁移性的通用特征

基于对抗的深度迁移学习由于其良好的效果和较强的实用性,近年来取得了快速发展。

4 结论

在本篇综述论文中,我们对深度迁移学习的当前研究进行了回顾和分类。并首次将深度迁移学习分为四类:基于实例的深度迁移学习,基于映射的深度迁移学习,基于网络的深度迁移学习和基于对抗的深度迁移学习。在大多数实际应用中,通常混合使用上述多种技术以获得更好的结果。

目前大多数研究都集中在监督学习上,如何通过深度神经网络在无监督或半监督学习中迁移知识,可能会在未来引发越来越多的关注。负迁移和可迁移性衡量标准是传统迁移学习的重要问题。这两个问题对深度迁移学习的影响也要求我们进行进一步的研究。

此外,为深层神经网络中的迁移知识找到更强大的物理支持是一个非常有吸引力的研究领域,但这需要物理学家、神经学家和计算机科学家的合作。可以预见,随着深度神经网络的发展,深度迁移学习将被广泛应用于解决许多具有挑战性的问题。





内容参考:

https://zhuanlan.zhihu.com/p/44654536?utm_source=wechat_session&utm_medium=social&utm_oi=1125847523901984769&utm_campaign=shareopn

https://blog.csdn.net/SuperYR_210/article/details/78952292

https://blog.csdn.net/qq_40360172/article/details/105232126

https://zhuanlan.zhihu.com/p/438117211

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

整理学习之深度迁移学习 的相关文章

  • Java学习 - 黑马(第二部分) - 随堂笔记 - 06_形参和返回值

    Java学习 黑马 xff08 第二部分 xff09 随堂笔记 06 形参和返回值 形参和返回值 1 1 类名作为形参和返回值 方法的形参是类名 xff0c 其实需要的是该类的对象方法的返回值是类名 xff0c 其实返回的是该类的对象 pa
  • Java学习 - 黑马(第二部分) - 随堂笔记 - 07_内部类

    Java学习 黑马 xff08 第二部分 xff09 随堂笔记 07 内部类 1 内部类 1 1 内部类概述 内部类 xff1a 就是在一个类中定义一个类 举例 xff1a 在一个类A的内部定义一个类B xff0c 类B就被称为内部类 内部
  • Java学习 - 黑马(第二部分) - 随堂笔记 - 08_常用API

    Java学习 黑马 xff08 第二部分 xff09 随堂笔记 08 常用API 1 Math 1 1 Math类概述 Math包含执行基本数字运算的方法 没有构造方法 xff0c 如何使用类中的成员呢 xff1f 通过查看帮助文档 看类的
  • Java学习 - 黑马 - 随堂笔记 - 第二部分总目录

    Java学习 黑马 随堂笔记 第二部分总目录 本内容仅为个人看视频记录的随手笔记 xff0c 部分内容可能不全面 xff0c xff0c 可以作为学习黑马程序员Java基础视频参考使用或者看完之后进行复习巩固使用 Java学习 黑马 xff
  • Java学习 - 黑马 - 随堂笔记 - 第一部分总目录

    Java学习 黑马 随堂笔记 第一部分总目录 本内容仅为个人看视频记录的随手笔记 xff0c 部分内容可能不全面 xff0c xff0c 可以作为学习黑马程序员Java基础视频参考使用或者看完之后进行复习巩固使用 Java学习 黑马 随堂笔
  • Java学习 - 黑马(第二部分) - 随堂笔记 - 09_异常

    Java学习 黑马 xff08 第二部分 xff09 随堂笔记 09 异常 1 异常 1 1 异常概述 package com itheima 01 import java lang reflect Method 异常 public cla
  • MATLAB2021b详细安装教程

    1 下载软件安装包 2 安装 下载安装包后打开iso文件 xff0c 若是无法打开请用解压软件打开 打开MATLAB R2021b win64 xff0c 双击软件开始安装 一直点击下一步 xff0c 直到步骤 选择我已有我的许可证的文件密
  • 新睿云科普:什么叫云技术?云技术是如何发展到如今的?

    云技术是计算机系统资源 xff08 尤其是数据存储和计算能力 xff09 的按需可用性 xff0c 而无需用户直接进行主动管理 该术语通常用于描述Internet上可供许多用户使用的数据中心 在当今占主导地位的大型云通常具有从中央服务器分布
  • 酷炫cmd命令行工具——windows terminal的详细配置

    官网配置地址 xff1a An overview on Windows Terminal Microsoft Docs 目录 一 Windows terminal安装与基本操作 1 Windows Terminal下载 2 不同命令行工具切
  • RIME中州韵输入法词库扩充(搜狗词库,QQ拼音词库,清华词库,拆字词库U模式等)

    Rime输入法作为一款高度自定义的本地输入法 xff0c 词库的配置尤为重要 1 Rime输入法词库格式 Rime输入法的词库在用户配置文件夹下 xff0c 是以 dict yaml结尾的文件 2 Rime输入法词库如何调用 Rime可以扩
  • 超全超详细Rime中州韵输入法配置指南

    1 为什么选择RIME 市面上具有众多的输入法 xff0c 无论搜狗还是QQ输入法基本都大同小异 xff0c 但RIME是众多输入法中一个特殊的存在 之所以特殊 xff0c 原因在于 xff0c 绝大部份输入法工具 xff0c 长什么样 能
  • MATLAB2022a更新了,看MATLAB2022详细安装教程

    MATLAB是很多学生党 xff0c 科研人需要的工具 xff0c 这款软件每年更新两次 xff0c 上半年为年份 43 a xff0c 下半年为年份 43 b xff0c 2022a如约而至 这次更新包含了 5 款新产品和 11 项重要更
  • 中国计算机设计大赛作品(附代码与设计书,答辩PPT)

    1 主界面 2 目录界面 3 离散信号的产生 4 离散信号的基本变换及运算 变换 运算 5 离散信号的卷积运算 6 离散信号的卷积运算 7 系统稳定性分析 8 傅立叶变换 9 FIR滤波器设计 10 IIR滤波器设计 11 语音去噪处理 录
  • 更改pip镜像源的多种方法

    目前可用的pip国内镜像源有下面这些 xff1a 阿里云 http mirrors aliyun com pypi simple 中国科技大学 https pypi mirrors ustc edu cn simple 豆瓣 http py
  • 详细介绍MATLAB导入文本文件、excel等数据文件

    一 通过导入工具导入 选择导入工具 选择文件 二 通过函数uiimport导入 xff08 推荐 xff09 使用uiimport导入数据比较方便 xff0c 输入后会自动弹出对话框选择文件或者剪贴板内容 进阶命令如下 xff1a uiim
  • 机器学习(一):概述

    机器学习近年来发展迅速 xff0c 那什么是机器学习呢 xff1f 其实机器学习在我们每天的生活 工作中都随处可见机器学习的应用 比如你每天打开手机 xff0c 无论是打开短视频软件 xff0c 还是逛购物软件 xff0c 这些里面都是包含
  • 机器学习(二):聚类算法1——K-means算法

    Kmeans是一种经典的聚类算法 xff0c 所谓聚类 xff0c 是指在没有给出目标的情况下 xff0c 将样本根据某种关系分为某几类 那在kmeans中 xff0c 是根据样本点间的距离 xff0c 将样本n分为k个类 K means实
  • 调制中的归一化因子如何计算?

    归一化因子的作用 xff1a 将功率 xff08 能量 xff09 进行归一化处理 添加功率归一化因子 xff0c 目的在于使得不同调制方式 xff08 或者说对于所有映射方式 xff09 都能够取得相同的平均功率 归一化因子 计算公式 x
  • 画图软件origin-柱状图断点设置

    OriginLab为中国学生提供了 免费半年正版中文 OriginPro xff1b 注册完毕后登录学校邮箱 xff0c 请根据邮件提示完成安装注册即可 xff0c 然后会发送安装教程给你 下载 xff0c 并安装典型使用方法 2 1 柱状

随机推荐

  • plot无法画图---已解决

    项目场景 xff1a plot画图 BUG两则 记录小bug xff1a 问题描述 用vscode开发中 xff0c 需要进行plot输出 xff0c 之前一直没问题 xff0c 近日plot无输出 xff0c 程序直接结束 xff0c 不
  • 条件判断中 两个等号(==)和三个等号(===)的区别

    1 两个等号 61 61 是抽象相等运算符 xff1b 三个等号 61 61 61 是 严格相等运算符 2 两个等号 61 61 运算符是在进行必要的类型转换后 xff0c 再比较 xff1b 如果比较的值 xff0c 一个是字符串 xff
  • Windows11连接共享打印机指定的网络名不再可用

    连接的设备是Windows11连接的Windows10打印机 一 共享网络打印机 xff08 附上共享打印机的教程 xff09 共享打印机官网教程 二 共享后指定的网络名不再可用 网上搜索后 xff0c 大体的步骤就是检查几个服务是否打开
  • 「计网四」网络层(上篇)

    文章目录 一 网络层概述二 网络层提供的两种服务三 IPv43 1 IPv4地址概述3 2 分类编址的IPv4地址3 3 划分子网的IPv4地址3 4 无分类编址的IPv4地址3 5 IPv4地址的应用规划 四 IP数据报的发送和转发过程五
  • Navicat连接MySQL出错:1251 - Client does not support authentication protocol requested by server……

    1251 Client does not support authentication protocol requested by server 游海东的技术专栏 CSDN博客 Navicat连接不上MySQL8 0问题的解决方法 终于对了
  • Huawei2288H V5 服务器重做RAID0

    Huawei服务器v5版本重做RAID0 xff1a 因为环境需求需要对三台Huawei服务器重做RAID xff0c 但是试过了百度的ctrl 43 C ctrl 43 H ctrl 43 A都是进 不去 xff0c 和网上百度的图片对比
  • 大数据之(一)Mapreduce

    MapReduce xff08 一 xff09 1 Mapreduce概述1 1定义1 2优缺点1 3核心思想1 4MapReduce进程1 5常用数据序列化类型1 6MapReduce编程规范1 7WordCount案例实操 2 Hado
  • 在Docker Debian容器中安装ps、top等命令

    有些debian镜像默认没有包括进程管理相关工具 xff0c 在实际使用时可能有些麻烦 xff0c 如果需要也可以自己安装 xff0c 使用如下命令 span class token function apt get span update
  • LCD液晶屏没有点亮,为什么会自动出现笔段、走线、乱码等现象?

    一般LCD段码液晶屏在不触碰的情况下 xff0c 是不会产生这种自动出现笔段 走线 乱码等现象 只有在物体或手碰到液晶屏的时候才会或多或少的出现这种问题 xff0c 而造成这种现象的是 静电 静电是一种处于静止状态的电荷 在干燥和多风的秋天
  • 用Java解决牛客网华为机试题目HJ9

    题目描述 输入一个int型整数 xff0c 按照从右向左的阅读顺序 xff0c 返回一个不含重复数字的新的整数 输入描述 输入一个int型整数 输出描述 按照从右向左的阅读顺序 xff0c 返回一个不含重复数字的新的整数 import ja
  • 关于word中的插件Grammarly使用

    Grammarly插件嵌入到word中 xff0c 可以帮助检查语法错误 没有账号的话注册 1 xff09 下载 链接 xff1a https www grammarly com office addin xff08 第二个 xff09 注
  • Dev C++ 5.11版 「时代 の 眼泪」安装指南

    介绍 Dev C 43 43 是一款轻量化的 C C 43 43 桌面 IDE xff0c 由于不需要额外配置 GCC 即开即用的特点 xff0c 因此常常用于 C C 43 43 语言基础的学习 目前官方最新版为 Dev C 43 43
  • 快速入门RabbitMQ(详细)第二篇:RabbitMQ五种工作模式的使用及总结

    4 RabbitMQ工作模式 4 1 Work queues工作队列模式 Work Queues 与入门程序的 简单模式 相比 xff0c 多了一个或一些消费端 xff0c 多个消费端共同消费同一个队列中的消息 应用场景 xff1a 对于
  • BGP邻居状态机

    idle connect 已经建立完成了TCP三次握手 open sent open confirm establish connect 和 active 都是 TCP 连接阶段 active 是发起方 connect 是应答方 Idle
  • bgp LP本地优先属性配置与详解

    实验目的 xff1a 1 理解掌握BGP的本地优选属性概念和配置方法 2 本地优选的属性默认值为100 xff0c 较高值的路径会被优先选择 3 本地优先属性 xff0c 决定离开本自治系统最佳的路径 实验拓扑 xff1a 步骤1 接口IP
  • 什么是pretext tasks?

    1 大约是个啥 xff1f pretext tasks 通常被翻译作 前置任务 或 代理任务 xff0c 有时也用 surrogate task 代替 2 必须具有两个关键点 xff1a 1 这种训练不是我们本身的训练任务 xff0c 并不
  • Typora自定义主题样式

    Typora自定义主题样式 1 打开Typora开发者工具 视图 gt 开发者工具 xff08 Shift 43 F12 xff09 2 使用选区工具选中想要更改的元素 3 查看styles区域 4 修改颜色并预览 修改步骤 xff1a 打
  • 整理学习之Batch Normalization(批标准化)

    Batch Normalization 1 归一化 归一化是一种常用于数据预处理的方法 根据需求定义将数据约束到固定的一定范围 希望转化后的数值满足一定的特性 xff08 分布 xff09 在神经网络的训练中 xff0c 数值更大的参数会对
  • 整理学习之注意力机制

    假如我们现在在电脑前看电影 xff0c 那么我们的注意力一定是集中在显示器而忽略键盘鼠标等物 注意力机制 实际上就是想将人的感知方式 注意力的行为应用在机器上 xff0c 让机器学会去感知数据中的重要和不重要的部分 在计算机算力资源的限制下
  • 整理学习之深度迁移学习

    迁移学习 xff08 Transfer Learning xff09 通俗来讲就是学会举一反三的能力 xff0c 通过运用已有的知识来学习新的知识 xff0c 其核心是找到已有知识和新知识之间的相似性 xff0c 通过这种相似性的迁移达到迁