迁移学习 领域自适应

迁移学习

什么是迁移学习

迁移学习是机器学习领域用于标记数据难获取这一基础问题的重要手段,

将训练好的内容应用到新的任务上被称为迁移学习。

由于这个过程发生在两个领域间,已有的知识和数据也就是被迁移的对象被称为源域,被赋予经验的领域被称为目标域。

迁移学习不是具体的模型,而是解题思路。

核心思想

找到不同任务之间的相关性。不要找相关性不高的数据集(负迁移)。

使用迁移学习的原因

  1. 目标领域的数据太少,需要标注数据更多的源域的帮助。
  2. 节约训练时间。
  3. 为了实现个性化的应用。

常见应用场景

  1. 语料匮乏的小语种之间的翻译
  2. 缺乏标注的医疗影像数据识别
  3. 面向不同领域快速部署对话系统

        在大规模数据集上训练好的模型就称作是预训练模型,这种模型通常都具有很好的泛化能力,可以在它的基础上完成各种各样的任务。使用预训练模型的好处就是它可以帮我们去减少训练时间以及计算资源。

学习策略

  1. 人家训练好的权重参数当做初始化
  2. 人家训练好的直接拿过来当做我的权重参数,不进行训练

学习策略选择

数据量比较少的时候,一万多不到。数据量越少,越需要借助人家训练好的模型。当数据量越少的时候,需要冻住的层数是越多的。

数据量稍微中一点,不多也不少,可以只冻住前面这一部分,后面的自己训练。

数据量比较大的时候,需要冻住的更少。

总之,具体冻住模型的多少层,没有固定的答案,基本上是根据自己的数据量来的。你觉得数据量比较少,怕出现过拟合,怕出现问题,最好还是用人家训练好的结果。数据量比较多,我的任务跟人家的任务差异其实还很大,那尽可能只做初始化而不冻住这些层。

迁移学习特点

学习的非常快。

比如说A和B同学考试,把A做完的卷子给B,B只需要检查一遍卷子就可以交卷了。

迁移学习的时候,拿过来的网络模型权重参数通常情况下都是大家公认的,训练的比较好的参数,不是随便整出来的,都是经过大量的测试得到的结果。

迁移学习方法分类

 迁移学习研究领域与方法分类

同构:特征维度一样

异构:特征维度不一样,比如图片到文本

贯穿同构和异构的方法有监督迁移学习、半监督迁移学习、无监督迁移学习。

领域自适应属于同构迁移学习

领域自适应

什么是领域自适应

英文名:Domain Adaptation(DA)

相关的概念:cross-domain learning(同构迁移学习)

问题定义:有标签的源于和无标签的目标域共享相同的特征和类别,但是特征分布不同,如何利用源域标定目标域。

领域自适应实际上是源域目标域特征分布不一样,但是特征维度是一样的。

领域自适应问题分类

按照目标域有无标签

  • 目标域全部有标签:supervised DA 全监督领域自适应
  • 目标域有一些标签:semi-supervised DA 半监督领域自适应
  • 目标域全没有标签:unsupervised DA

Unsupervised DA最有挑战性,是我们的关注点。

        在域适应中,通常将有监督的训练域称为源域,半监督或无监督的训练域称为目标域。根据目标域标签数据,域适应分为半监督域适应,无监督域适应和其他域适应。基于域知识迁移层面,可将域适应分为3类:基于实例加权的域适应方法、基于特征的域适应方法以及基于模型的域适应方法。具体而言,基于实例加权的域适应是通过调整源域样本和类间权重以减小源域与目标域之间分布差异的;基于特征的域适应则利用新的特征表示空间的方式来拉近域之间的特征分布距离;基于模型的域适应,对源域模型只是迁移利用,以实现领域之间的对齐。

        换一种解释:通过在不同阶段进行领域自适应,研究者提出了三种不同的领域自适应方法:1)样本自适应,对源域样本进行加权重采样,从而逼近目标域的分布。2)特征层面自适应,将源域和目标域投影到公共特征子空间。3)模型层面自适应,对源域误差函数进行修改,考虑目标域的误差。

李宏毅讲解领域自适应

Domain shift:一旦训练资料和测试资料之间有一些差异, 它们中间的分布是不一样的,在训练资料上训练出来的模型在测试资料上可能就会坏掉。

领域自适应可以看做是迁移学习的一种,迁移学习就是你在A任务上学到的技能可以被用在B任务上。对于Domain adaptation来说,你的训练资料是一个Domain,你的测试资料是另外一个Damain。你在训练资料Domain上学到的资讯,要把它用到另外一个测试资料Domain上。

最基础的想法

        找到一个feature extractor,实际上是一个network,吃入一张图片,吐出一个feature。

        虽然source domain和target domain表面上看起来不一样,但是feature extractor会把他们不一样的部分拿掉,只抽取出它们共同的部分。虽然从图片看起来这两组图片一个有颜色,一个没有颜色,本来就不一样,但是期待地说这个feature extractor可以学到无视颜色这个事情,把颜色的资讯过滤掉。所以今天不管来自source domain的图片还是来自target domain的图片,只要通过这个feature extractor以后得到的feature看起来是没有差异的。

        这样就可以用source domain的这些feature训练一个模型,直接用在target domain上。接下来是怎么找出一个feature extractor。其实可以把一般的Classifier就分成feature extractor和label predictor两个部分,我们知道一个image的Classifier就是输入一张Image 得到Output就是分类的结果。假设Image Classifier有10层,那么前5层是Feature Extractor,后5层是Label Predictore。如果你上CNN的话,它的输出其实是Feature Map,但Feature Map拉直后就可以看做是一个Factor。再丢到Label Predictore的后面5层会产生class。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防火墙的内容安全

目录 1. 内容安全 1.1 IAE引擎 DPI---深度包检测技术 DFI---深度流检测技术 结论(优缺点): 1.2 入侵防御(检测)(IPS) IPS的优势: 入侵检测的方法: 入侵检测的流程 签名 查看预定义签名的内容 新建自定义签名 入侵防御的检测…

面试题解答

题目 为管理业务培训信息,现需建立3个表: 表S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄、 表C(C#,CN)C#,CN分别代表课程编号,课程名称 表SC(S#,C#,G)S#,C#,G分别代表学号&#xf…

热闹元宵进行中,如何利用VR全景展示民宿品牌形象?

错峰出游闹元宵,元宵节恰逢周末,而且还是春节假期返工之后的首个休息日,不少人都想通过短途度假来缓解“节后综合征”。两位数的特价机票、打折的各种酒店让你实现“旅行自由”,那么如何知道特价酒店服务好不好呢?先别…

Leetcode.901 股票价格跨度

题目信息 LeetoCode地址: . - 力扣(LeetCode) 题目理解 价格跨度的定义在题目中很明确,就是韭菜持有一只股票且该股票保持连续上涨最大的天数。 直观的想,我们可以保存第一天到当前天的所有股价,并一天一天往前找单…

2-27练习

1、请用fscanf和fprintf实现文件拷贝。 &#xff08;fputc和fgetc&#xff09; #include <stdio.h> int main(int argc, const char *argv[]) {FILE* fp NULL;fp fopen("./z1.txt","r");//用fscanf统计文件大小int count 0;char c; // while(fs…

对于大前端开发来说,转鸿蒙开发究竟是福还是祸?

从铺天盖地的市场消息来看&#xff0c;华为即将面世的鸿蒙NEXT系统已经势不可挡了 想必大家都已经迫不及待地想要进行尝试。 估计大家都有着同样的疑问&#xff1a; 会不会是下一个风口&#xff1f;转鸿蒙应用开发难吗&#xff1f; 会不会是下一个风口&#xff1f; 自从鸿蒙…

江科大stm32 定时器 TIM输出比较--学习笔记

这几天遇到输出比较相关的问题&#xff0c;于是来学习下TIM输出比较部分知识点&#xff01; 输出比较简介 CNT是计数器的值&#xff0c;CCR寄存器是捕获/ 比较寄存器 简单的讲&#xff0c;输出比较就是用来输出PWM波形。 PWM简介 占空比&#xff1a;高电平占一个周期的比例。…

搜索算法(算法竞赛、蓝桥杯)--双向BFS字串变换

1、B站视频链接&#xff1a;B19 双向BFS 字串变换_哔哩哔哩_bilibili 题目链接&#xff1a;[NOIP2002 提高组] 字串变换 - 洛谷 #include <iostream> #include <queue> #include <unordered_map> using namespace std;const int N7; int n; string A,B,a[N]…

opencascade c#例程解析

1.编译 将msvc.bat文件拖入vs2022的x64 native tools&#xff0c;即可 2.about.xaml <Windowxmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"x:Class"IE_WPF_WinForms…

前后端项目-part03

文章目录 5.4.4 机构名称5.4.4.1 创建实体类Company5.4.4.2 创建实体类CompanyMapper5.4.4.3 创建实体类CompanyService5.4.4.4 创建实体类CompanyController5.4.4.5 后端测试5.4.4.6 修改basic.js5.4.4.7 修改course.vue5.4.4.8 测试5.4.5 课程标签5.4.5.1 效果5.4.5.2 修改co…

后台管理系统: 权限管理

权限管理 角色:一家企业而言&#xff1a;BOSS、运维、销售、程序员 权限:超级管理员&#xff08;BOSS&#xff09;&#xff0c;是有权利操作整个项目的所有的模块 test&#xff08;新媒体&#xff09;&#xff0c;只能首页、商品管理者一部分菜单数据 admin&#xff1a;…

ClickHouse 指南(三)最佳实践 -- 主键稀疏索引

在ClickHouse主索引的实用介绍 ClickHouse release 24.1, 2024-01-30 1、简介 在本指南中&#xff0c;我们将深入研究ClickHouse索引。我们将详细说明和讨论: ClickHouse中的索引与传统的关系数据库管理系统有何不同ClickHouse是如何构建和使用表的稀疏主索引的什么是在Clic…

Curator基本使用

文章目录 1. 基本操作1.1 建立连接1.2 创建结点1.3 查询结点查询数据查询子结点查看结点信息 1.4 修改结点普通修改带乐观锁的修改 1.5 删除删除单个结点删除带子结点的结点必须成功的删除带回调函数的删除 2. 监听器事件2.1 NodeCache单一结点连续监听2.2 PathChildrenCache监…

nginx平滑升级,信号使用,分割日志

信号 kill -l 看信号大全 nginx -h 中可以看到的信号较少 s signal : send signal to a master process: stop, quit, reopen, reload 可以使用man手册来查看详细的信号 如果没安装&#xff0c;去源码包里找到man文件 man 路径/nginx.8 不加路径打不开man帮助 st…

docker小知识:linux环境安装docker

安装必要软件包&#xff0c;执行如下命令 yum install -y yum-utils device-mapper-persistent-data lvm2目的是确保在安装 Docker 之前&#xff0c;系统已经安装了必要的软件包和服务&#xff0c;以支持 Docker 的正常运行。设置yum源&#xff0c;添加Docker官方的CentOS存储…

javasript基础

1.HTML是网页的结构 css是网页的外观 而JavaScript是页面的行为 2.javascript支持吧静态页面(HTML)转换为支持用户交互并响应相应事件的动态页面 3.typeof&#xff08;&#xff09;返回当前操作数的数据类型 parseInt()将字符串转换为整型,parseFloat()将字符串转换为浮点型 …

对Redis锁延期的一些讨论与思考

上一篇文章提到使用针对不同的业务场景如何合理使用Redis分布式锁&#xff0c;并引入了一个新的问题 若定义锁的过期时间是10s&#xff0c;此时A线程获取了锁然后执行业务代码&#xff0c;但是业务代码消耗时间花费了15s。这就会导致A线程还没有执行完业务代码&#xff0c;A线程…

【Redis】基本操作 - 安装与配置

文章目录 1. 安装Redis1.1 Ubuntu / Debian1.2 CentOS / RHEL1.3 macOS1.4 Windows 2. 启动和停止Redis2.1 Ubuntu / Debian2.2 CentOS / RHEL2.3 macOS2.4 Windows 3. 配置文件3.1 常见配置项 4. 修改配置文件5. 重启Redis5.1 Ubuntu / Debian5.2 CentOS / RHEL5.3 macOS5.4 W…

C语言统计成绩

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 问题描述 解决方案 总结 描述 输入n科成绩&#xff08;浮点数表示&#xff09;&#xff0c;统计其中的最高分&#xff0c;最低分以及平均分。 数据范围&#xff1a;1≤&#xfffd;≤100 1≤n≤100 &#xff0c; …

k8s Pod 进阶(资源限制,健康检查探针详解,启动退出,pod生命周期,)

目录 资源限制 查看资源控制字段 Pod 资源限制方式 Pod 和容器中定义资源请求和限制的具体字段 CPU资源单位 内存资源单位 示例 健康检查&#xff08;探针&#xff09; 探针的三种规则 存活探针&#xff08;Liveness Probe&#xff09; 就绪探针&#xff08;Readines…