迁移学习综述

article/2025/10/13 0:45:59

这是我根据北京邮电大学一位博士的讲解视频所归纳的笔记

视频地址:https://www.bilibili.com/video/BV1ct41167kV?spm_id_from=333.337.search-card.all.click

正文

我们为什么需要迁移学习?

 众所周知,AlphaGo是通过强化学习去训练,适合下围棋,围棋比赛的棋盘是19*19,那如果让它在5*5的棋盘上下棋,甚至让它下象棋,它还会表现的很好吗?

 而人类与生俱来就有举一反三的能力,比如你会骑自行车后就会骑电动车,会羽毛球就很快学会网球等等。人可以很好的把自己学到的知识迁移到相关的领域,这就是迁移学习。

现如今,深度学习都是通过大量有标签的数据进行训练,如果我们能把训练结果用在其他相关领域上,是不是就可以很好的解决数据少甚至没有数据时的问题。

 在普通的深度学习中,我们用数据通过不同的损失函数对它进行训练,拿到一部分测试样本再过一遍这个网络就能很好的预测出来。

 在迁移学习中有两个域,一个是源域对应训练样本,一个是目标域对应测试样本。源域和目标域的数据和任务可能都不一样,就比如源域是美颜照片,而目标域是素颜照片,源域的任务是分类,而目标域的任务是回归。在这种场景下传统的深度学习就不够用了,这时候就需要迁移学习。

域适应

源域有大量有标记的样本,但目标域只有少量有标记的样本或者无标记的样本,在任务相同但数据不同的场景下,如何迁移能使得目标域也能有很好的性能呢?

首先看一下什么叫不同的数据分布

 比如第一排在不同场景下的自行车和电脑,人可以很好的识别,但计算机不一定可以做到。

第二排的数字一个是手写数字一个是门牌号

第三排人脸有成年人有婴儿还有素描

 举个例子,假如我们要从门牌号迁移到手写数字集上,我们在门牌号这个源域上训练模型,提取特征用到目标域手写数字集上,图中,蓝色的点是源域,红色的点是目标域,左图源域和目标域的分类边界不好区分,说明源域训练的样本不能在目标域上取得很好的性能,迁移学习想达到右图的效果,源域和目标域都对齐了,这样源域的分类器也能很好的在目标域上使用。

特征适应

 把源域和目标域提取到共同的空间里,在这个空间里,源域和目标域足够的近,足够对齐,这样目标域的性能就会提升。

实例适应

源域总有样本和目标域相似,把这些样本拿出来,越像的给它的权重w就越大,这样训练模型就会在目标域上有很好的效果

模型适应

通过参数的迁移使得效果提升

在深度学习下大部分迁移学习都是特征适应

 在深度学习下一般分为三个方法:差异,对抗,重构

 这是一个微调的实验,实验表明,在浅层提取的特征一般是通用的,而在深层的特征比较特殊一般更偏向于源域。

 无监督下的域自适应

用数学公式找到衡量源域和目标域之间的度量,找到度量后把度量数字化,把数字作为一个loss,然后让深度网络优化这个loss,让这个距离逐渐变小,然后得到的特征就是源域和目标域足够的近,源域训练出来的模型在目标域上有很好的效果。

 此方法的解析见以下论文:DANN:Unsupervised Domain Adaptation by Backpropagation_gdtop818的博客-CSDN博客


http://chatgpt.dhexx.cn/article/fnn82vSI.shtml

相关文章

整理学习之深度迁移学习

迁移学习(Transfer Learning)通俗来讲就是学会举一反三的能力,通过运用已有的知识来学习新的知识,其核心是找到已有知识和新知识之间的相似性,通过这种相似性的迁移达到迁移学习的目的。世间万事万物皆有共性&#xff…

迁移学习简要

什么是迁移学习 迁移学习是一种机器学习方法,就是把任务为A的开发模型作为其的初始点,重新使用在任务为B的开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务。虽然大多数机器学习的新 算法都是为了解决单个任务而设计的…

迁移学习(Transfer),面试看这些就够了!(附代码)

1. 什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都…

迁移学习

简介 好的机器学习模型需要大量数据和许多GPU或TPU进行训练。大多数时候,他们只能执行特定的任务。 大学和大公司有时会发布他们的模型。但很可能你希望开发一个机器学习应用程序,但没有适合你的任务的可用模型。 但别担心,你不必收集大量数据…

迁移学习(Transfer)

1. 什么是迁移学习 迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都…

2021-11-29 拿到第一个badger

Coursera课程的前三节 What is data science Tool of data science Methodology of data science 感觉更像是阅读理解 今天拿到了第一个badger 准备花一周把剩下俩阅读理解拿了,开始搞实战部分 我走得很慢,但是从来不停下

Postgersql神器之pgbadger安装配置

文章目录 1.介绍2.安装pgbager3.参数调整3.1相关参数内容3.2 重启db4.配置apache5.安装libtext-csv-perl,6.手动产生报告 7.排程自动产生分析报告7.2脚本授权:7.3设定crontab7.4检视pgbadger日志分析报告 1.介绍 pgbadger是postgresql 三大神器之一:pg_…

BoltDB,RocksDB,PebbleDB,BadgerDb简介及测评

几个常用数据库性能分析 ​ 最近公司需要选型一款单机KV数据库来做业务承载,所以我对比了目前市面上比较流行的几个KV数据库并记录下来,包括boltdb,rocksdb,pebbledb,badgerdb四款,我将简单分析一下各数据库的特点,最后用自己的简…

智能优化算法-蜜獾算法Honey Badger Algorithm(附Matlab代码)

引言 提出了一种新的元启发式优化算法——蜜獾算法(Honey Badger Algorithm,HBA)。该算法受蜜獾智能觅食行为的启发,从数学上发展出一种求解优化问题的高效搜索策略。蜜獾挖掘和采蜜的动态搜索行为。于2021年发表在Mathematics and Computers in Simula…

惠普ipaq蓝牙键盘配对码_将旧的Compaq Ipaq从Ubuntu 5.10 Breezy Badger升级到8.10 Intrepid Ibex...

惠普ipaq蓝牙键盘配对码 Ive got an old Compaq Ipaq that I gave my then 10 year old niece to play with. I put Ubuntu 5.10 "Breezy Badger" on it. Fast forward to today, and she wants it refreshed. It hasnt been on the Internet for 3 years so it does…

BadgerDB 原理及分布式数据库的中应用与优化

Part 1 - BadgerDB 设计架构 Badger[1] 是基于论文:WiscKey: Separating Keys from Values inSSD-conscious Storage[2] 的思想利用 Go 语言进行设计实现的。 LSM-Tree 的优势在于将随机写转换为顺序写,将大块的内存连续地写入到磁盘,减少磁…

vue手风琴组件_Vue 2的Badger手风琴组件

vue手风琴组件 Vue-Badger手风琴 (vue-badger-accordion) Badger-Accordion Component for Vue 2.0. Vue 2.0的Badge-Accordion组件。 An accessible light weight, vanilla JavaScript accordion. 轻巧的香草JavaScript手风琴。 View demo 查看演示 Download Source 下载源 …

防追踪创安全网络环境 EFF推Beta版“Privacy Badger”扩展

自棱镜监控丑闻曝光之后在线安全和个人隐私成为网络上热门的话题,为此电子前沿基金会(EFF)今天推出了beta测试版本“Privacy Badger”扩展程序,为Chrome和Firefox浏览器用户打造安全的在线网络环境,阻挡一系列目前网络…

小米手机应用ICON角标Badger显示

项目有个新需求,像iOS一样给应用加个未读消息数量的角标,网上查了下这个开源框架还是不少的,这里介绍一个比较好用的,git地址:https://github.com/leolin310148/ShortcutBadger,集成和实现比较容易&#xf…

Honey Badger BFT共识协议详解

阅读建议 Honey Badger BFT应用了很多前人的研究,进行了巧妙的构造和优化,初次学习往往难以理解。在阅读时可以先大致了解各个构造块的基本作用,再了解总体的共识过程。之后回过头来深入研究各个构造块的原理,特别是BA算法&#…

badger和rocksDB性能对比

结论: 从最后一个表格来看,ssd只对batch_read和batch-write操作有优势,而且在多协程的情况下,这个优势也丢失了。从第二和第三个表格来看,badger的write操作比rocksDB慢了一个数量级,而batch_write操作badg…

Honey Badger BFT(异步共识算法)笔记

最近一直在看Honey Badger BFT共识协议,看了很多博客和一些相关的论文,但是发现有些博客存在着部分理解错误的地方,或者就是直接翻译2016年的那一篇论文,在经过半个多月的细读之后,打算整理出这篇博客,方便…

Badger、Leveldb

BadgerDB v2 介绍 2017年发行 来自DGraph实验室 开源 纯go语言编写 https://github.com/dgraph-io/badger https://godoc.org/github.com/dgraph-io/badger 内存模式 (所有数据存在内存,可能丢失数据)SSD优化键值分离 Key(00000*.sst) Valu…

badger 一个高性能的LSM K/V store

大家好,给大家介绍一下, 新晋的高性能的 K/V数据库: badger。 这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。 事实上,市面上已经有一些知名的基于LSM tree的k/v数据库…

badger框架学习 (一)

1.badger是什么? badger是一种高性能的 K/V数据库。 这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。 2.badger有什么优势? 事实上,市面上已经有一些知名的基于LSM tre…