Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
迁移学习 --- 元学习
2023-05-16
C. 人工智能 — 迁移学习 - 元学习
概述
概念
Learn to learn
本质上,就是输入训练资料,生成一个 目标函数
也可以说是Domain Adaptation
问题
Too many tasks to learn, to learn more efficiently
Faster learning methods
Better hyper-parameter/learning algorithms
Related to:
transfer learning
domain adaptation
multi-task learning
life-long learning
…
Too little data, to fit more accurately - few-slot learning
Traditional supervised may not work(容易过拟合)
步骤
定义一组学习算法,学习不同的component,需要不同的方法
Net Architecture
Initial Prameters
Learning Rate
…
定义loss函数
数据
需要的是一组的训练任务(任务里面包含训练数据和测试数据)
训练任务和测试任务,需要有差别
不同的任务的loss相加,作为最终的Loss
寻找最优的函数
与机器学习对比
相同点
会有过拟合问题
增加训练任务来提升效果
Task augmentation:扩充任务
同样需要调参
Development task(验证任务?)
不同点
机器学习:within-task
元学习:accross-task
与Pre-training相比
相同点
都是预先训练好之后,再调参
不同点
标注资料
MAML:用到了
Pre-training:没有用到
将多个任务资料倒在一起训练找到一组好的初始化参数(multi-task learning),通常将预训练得到的模型准确率作为MAML的baseline。
分类
Model Parameters(Few-slot framework)
Initializations
Embeddings/Representations/Metrics
Optimizers
Reinforcement learning(Policies/ other settings)
Hyperparameters(e.g. AutoML)
Hyperparameters search
Network architectures -> Network architecture search(NAS)(related to: evolutional strategy, genetic algorithm…)
Others
Algorithm itself(literally, not a network)
算法
Black-box((memory)Model)based
MANN
SNAIL
MetaNet
Optimization(gradient)based(Parametric)
learn to initialize
MAML
目标
针对神经网络的参数初始化。之前的参数初始化,都是随机的(或者通过特定的分布)
评估
评估的标准不是初始参数的好坏,而是通过初始参数训练之后的结果的好坏
因为期间涉及到 local point、global point、鞍点 等
评估的时候,拿的是一次迭代之后的结果评估
Train的时候,是一次迭代
效率
防止过拟合
Test的时候,可以多次迭代
优化算法
Meta-SGD
优化learning rate
MAML++
AlphaMAML
DEML
CAVIA
ANIL
Reptile:源自MAML
参数的梯度方向,跟MAML不一样
learn to Optimizer
优化器中的参数也可以通过Meta Learning学出来,比如学习率等。
这里有一篇关于Meta Learning根据训练任务自动学习Optimizer的文章,训练方式类似于训练一个LSTM。利用学习到的学习率比直接手调的效果要好一些。这篇文章最后还给出测试任务对应网络结构改变或者激活函数改变,会对最后结果产生不同程度的影响。
网络结构优化(Network Architecture Search/NAS)
Reinforcement Learning
Evolution Algorithm
Data Augmentation
数据处理的方式也是可以通过Meta Learning学出来的。比如数据增强的过程,可以通过学习的方式学出来
Sample Reweighting
另外还可以给不同的sample(样本)在训练时赋予不同的权重(weight)
其他
Meta-LSTM
different meta-parameters
iMAML
R2-D2/LR-D2
ALPaCA
MetaOptNet
Bayesian meta-learning
应用场景
Uncertainty problems
算法
Black-box
VERSA
Optimization
PLATIPUS
Bayesian MAML(BMAML)
Probabilistic MAML(PMAML)
Non-parametric(Metric based)Learn to compare
上面的方法都是基于Gradient Descent(梯度下降),有没有一种可能,给训练资料,然后直接输出网络参数,目前也有人在做相关的研究
我们所有模型建立的过程都是,先利用Learning Algorithm学出一个模型,然后用训练得到的模型经过测试集得到分类结果。有没有一种可能,就是直接将训练资料和验证资料都扔给一个Function,就可以直接根据验证资料输出对应的结果。这种方法叫做Learning to compare(Metric-based Approach)
Face Verification(脸部验证)(二分类?)
Siamese Network
训练任务
输入 训练图片 和 测试图片,输出是不是同一个人
测试任务
需要跟 训练任务 不一样(图片在训练中不一样)
处理
通过CNN,计算每张图片的 embedding,看两个 embeddings 的相似度
跟 AutoEncoder的不一样
相同的人,分数尽可能的相近,不相同的人,分数尽可能远
5-ways 1-shot
Prototypical Network
训练任务
N分类问题
处理
通过CNN,计算每张图片的 embedding,看两个 embeddings 的相似度
计算 testing data 和 训练数据的每个类的 embeddings的相似度
通过softmax分类
Matching Network
训练任务
N分类问题
处理
通过Bidirectional LSTM,计算每张图片的 embedding,看两个 embeddings 的相似度
计算 testing data 和 训练数据的每个类的 embeddings的相似度
通过softmax分类
Relation Network
训练任务
N分类问题
处理
计算每张图片的 embedding,看两个 embeddings 的相似度
把测试图片的embedding 接到 训练图片的 embedding 后面
在通过另外一个 神经网络 学习
General neural network
输入
图片
图片对应的类别
处理
图片通过CNN生成 embedding
类别用one-hot编码
embedding和类别编码 拼接成一个向量
通过 LSTM 训练预测分类
直接使用LSTM没有效果,通过 MANN(Neural Turing Machine)、SNAIL(Using Attention) 可以
其他
IMP
Hybrid
跟机器学习相关的技术
Reinforcement learning
Meta-RL is a massive active research area
GNN & Adversarial attack
Metric-based, feature extraction
Attack on GNN by meta learning
GAN:metaGAN
Transfer learning:Meta-transfer Learning(MTL)
应用场景
Few-shot Image
难点
Each class only has a few images
思路
N-ways K-shot classification
通过 Generator 生成新的图片
Meta Learning还可以应用于其他任务中,比如语音辨识、文本分类等等
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)
迁移学习 --- 元学习 的相关文章
Proxmox 服务器搭建全过程(纯手打,亲测可用)
一 服务器配置过程说明 首先需要现在服务器上找一个节点装window server xff0c 然后开始配置存储阵列为RAID 5 xff1b 然后创建Proxmox集群以及KVM xff08 也就是虚拟节点 xff09 xff0c 在每个
CLEARTEXT communication to upload-as0.xxxx.com not permitted by network security policy
android设备网络请求时候出现了下面错误 xff1a CLEARTEXT communication to upload as0 xxxx com not permitted by network security policy 这里是
Windows 10 Python 语音合成朗读文本
1 下载pywin32 2 代码 span class hljs comment 导入包 span span class hljs keyword import span win32com client span class hljs co
对生产者和消费者问题的另一个解决办法是使用QWaitCondition(封装好了wakeOne,wakeAll,而且与QReadWriteLock对接,几乎是万能的办法)
对生产者和消费者问题的另一个解决办法是使用QWaitCondition xff08 封装好了wakeOne xff0c wakeAll xff0c 而且与QReadWriteLock对接 xff0c 几乎是万能的办法 xff09 参考文章
Windows server 2022 组策略软件分发
1 首先们需要安装ad域并让另一个系统加入域这里可以查看我的上一篇文章 http t csdn cn xMVxa 在服务器中创建一个文件夹 xff0c 并给文件夹起名 2 右键属性 gt 共享 gt 共享添加everyone用户组 gt 确
/u字符串
utf 8 1 4个字节表示字符 一个字节8位
verilog语言的ps2键盘驱动设计
PS 2接口是目前最常见的鼠标接口 xff0c 最初是IBM公司的专利 xff0c 俗称 小口 这是一种鼠标和键盘的专用接口 xff0c 是一种6针的圆型接口 本设计完成了ps2键盘驱动 xff0c 并将键盘对应的16进制ascii码值在数
【23M1W1】菊厂入职前的一些小复习
文章目录 总结Day1 Day2 Day3 Day4Day5 知识点 总结 Day1 Day2 Day3 Day4 做计划 xff0c 找资源 xff1a 1 代码实操 xff1a acwing和leetcode日常刷题 2 看书 xff1
SQl复杂一点的查询
复杂一点的查询 视图 我们先来看一个查询语句 xff08 仅做示例 xff0c 未提供相关数据 xff09 span class token keyword SELECT span stu name span class token key
虚拟机本地搭建Hadoop集群教程
Hadoop概述 狭义下Hadoop是Apache的一套开源软件 xff0c 用java实现 xff0c 广义上是围绕Hadoop打造的大数据生态圈 http hadoop apache org Hadoop核心组件 xff1a HDFS
windows下编译64位ffmpeg的问题。以64位 zlib为例
x264 265 等等10几个库都很顺利的编译过去了 xff0c zlib的64位库在vs2015下下编译通过了 放到ffmpeg环境里 死活找不到 卡了我整整两天 怎么折腾 xff0c 始终提升error zlib requested b
windows11安装kali linux子系统
一 开启windows子系统 打开控制面板 系统和安全 程序 程序和功能 启用或关闭Windows功能 适用于linux的Windows子系统 打勾 在微软商店搜索Kali 下载安装并打开 二 配置子系统 刚安装完成的Kali Linux是
使用 Ajax 发送的PUT、DELETE请求
一 方式一 xff1a 将 POST 请求转化为相应的 PUT 和 DELETE 请求 1 在 Web xml 中添加如下配置 xff1a 用于将 POST 请求转化为相应的 PUT 和 DELETE 请求 lt filter gt lt
python+pycharm+pyqt5安装教程
现在教大家在Windows系统下如何安装Python 43 PyCharm 43 PyQt5 1 安装Python 访问官网https www python org xff0c 下载对应Python版本 2 安装PyQt5 1 xff09
pytest+seleniumUI自动化框架设计
前言 selenium自动化 43 pytest测试框架 本章你需要 一定的python基础 一定的selenium基础 不讲selenium xff0c 不会的自己去看selenium中文翻译网 测试框架简介 测试框架有什么优点呢 xff
selenium的UI自动化时遇到了谷歌浏览器与驱动不兼容的问题解决方案
问题背景 xff1a 在做selenium的UI自动化时 xff0c 遇到了谷歌浏览器与驱动不兼容的问题 去很多其他网站下载谷歌浏览器驱动 xff0c 结果下载下来的都是2 23版本的 xff08 困扰了很久啊 xff0c 一群骗子 xff
如何使用apipost做接口测试?
今天给大家推荐一款好用的接口测试工具 xff1a apipost 这是一款国产的接口测试工具 xff0c 非常类似于postman xff0c 但是整体使用上感觉要比postman更适合咱们使用 xff0c 毕竟是全中文的 话不多说直接上图
如何使用pycharm将github上的代码同步到本地
1 首先确定你安装了git exe 具体的话是在pycharm里面的settings version control 2 打开pycharm xff0c 新建版本使用git 3 从github上复制代码链接 4 填入相关内容点击clone即
StrokeStart与StrokeEnd动画
通过修改CAShapeLayer的StrokeStart与StrokeEnd的值来实现画图动画 效果图 代码部分 import 34 ViewController h 34 64 interface ViewController 64 pr
GUI编程之路内计费工具
span class token keyword import span os span class token keyword import span sys span class token keyword from span PyQt
随机推荐
提高测试人员测试效率之GUI工具
如何有效的去提高测试效率 xff0c 在一个团队当中 xff0c 肯定会存在部分人员无法熟悉数据库操作的情况 xff0c 这个时候我们就可以通过GUI编程将工具界面会 xff0c 使之快速的上手 本次通过一个GUI工具来带领大家如何制作这么
GUI编程之智慧交通自动化测试计费
最终实现效果 本工具实现了案例搜索 xff0c 导入案例 xff0c 测试类型选择 xff0c 自动化测试 xff0c 测试报告 xff0c 邮件发送等功能 xff0c 能有效的提升回归测试效率 xff0c 保证测试质量 源码暂不提供 xf
Ubuntu14.04 Wifi 连接不稳定、掉线重连问题(终极解决办法)
Ubuntu14 04 Wifi 连接不稳定 上不了网 掉线问题 xff08 终极解决办法 xff09 这可能是我写的最短的一篇博客 用Ubuntu系统的人知道 xff0c 有线连接比较稳定 xff1b 一般台式机不带网卡 xff0c 自己
【Ubuntu】Ubuntu上搭建本地源,做离线安装
一 实验背景 Ubuntu作为最优秀的Linux发行版之一 xff0c 是初学者入门的不二选择 xff0c 但Linux有个最大的问题 xff0c 就是离了网络就废了 在Windows系统中 xff0c 安装软件十分方便 xff0c 下载安
gitlab-ce 备份还原 迁移新系统
https blog csdn net foupwang article details 94362292 迁移前首先要保证新旧服务器上的GitLab版本号一致 查看当前GitLab版本 cat opt gitlab embedded se
linux虚拟网络设备之vlan配置详解
https www jb51 net article 130486 htm 注意VLAN方式达到了网络隔离 xff0c 但是mac地址是相同的 xff0c 意思就是基于同一个网卡出来的vlan mac地址相同 要想不通 xff0c 可以用m
jacoco的使用
一 概述Java 覆盖率 Jacoco 插桩的不同形式总结和踩坑记录 TesterHome 测试覆盖率 xff0c 老生常谈的话题 因为我测试理论基础不是很好 xff0c 就不提什么需求覆盖率啦这样那样的主题了 xff0c 直奔主题 xff
mysql bin-log,relay-log删除方法
master的bin log日志清理 xff1a 方法1 RESET MASTER 1 1 解释 xff1a 该方法可以删除列于索引文件中的所有二进制日志 xff0c 把二进制日志索引文件重新设置为空 xff0c 并创建一个以 000001
ubuntu18 网络问题
在 etc netplan yaml配置文件中 xff1a renderer的值可以是networkd xff0c 或者是NetworkManager 它俩的其中一个区别为 xff1a networkd在图像界面 xff0c network
Python - 日志管理模块: Loguru的使用
python的日志管理模块可以用自带的logging模块 xff0c 也可以用第三方的Loguru模块 xff0c 关于logging和loguru模块的简单使用可以参考以下文章 xff0c 写的还是不错的 xff1a logging 和
centos 源码编译 srpm centos-git-common
Overview centos git common CentOS Git server
centos7 nbd 挂在qcow2或qcow,raw,虚机镜像,virsh,virt,使用qemu-nbd挂载qcow2镜像文件
基本原理 nbd xff08 网络块设备 Network Block Device xff09 xff0c 利用qemu nbd将qemu虚拟机镜像挂载到Linux上 展开来讲 xff0c nbd可以将一个远程主机的磁盘空间 xff0c 当
rename
头文件 xff1a include lt stdio h gt 函数rename 用于重命名文件 改变文件路径或更改目录名称 xff0c 其原型为 int rename char oldname char newname 参数 oldnam
数据库多表查询之 where和INNER JOIN
https blog csdn net u013372487 article details 52622491 locationNum 61 1 https blog csdn net qingtanlang article details
在 Shell 脚本中调用另一个 Shell 脚本的三种方式以及返回值问题
https blog csdn net simple the best article details 76285429 脚本调用 xff1a 先来说一下主要以下有几种方式 xff1a fork 如果脚本有执行权限的话 xff0c path
Linux服务器上监控网络带宽的18个常用命令和linux带宽流量监控查看工具
http www piis cn jiaocheng web1200 asp 这些工具使用不同的机制来制作流量报告 nload等一些工具可以读取 34 proc net dev 34 文件 xff0c 以获得流量统计信息 xff1b 而一些
shell中的(),(()),{},=,==,[],[[]]几种语法用法
查看脚本语法是否有错误 xff1a bash n modify suffix sh 跟踪执行 sh x modify suffix sh aaa 1 var 2 cmd 3 和 4 var string var 43 string var
Docker中Dockerfile多From 指令存在的意义
老版本Docker中为什么不支持多个 FROM 指令 Docker 17 05版本以后 xff0c 新增了Dockerfile多阶段构建 所谓多阶段构建 xff0c 实际上是允许一个Dockerfile 中出现多个 FROM 指令 这样做有
Kubernetes Ingress Nginx使用
在此我们不讲述如何部署ingress controller xff0c 只演示如何使用ingress之nginx使用 主要演示如何使用ingress nginx实现我们nginx的多样化配置 xff0c 从而达到使用ingress ngin
迁移学习 --- 元学习
C 人工智能 迁移学习 元学习 概述 概念 Learn to learn本质上 xff0c 就是输入训练资料 xff0c 生成一个 目标函数也可以说是Domain Adaptation 问题 Too many tasks to learn
热门标签
androidide
medoo
reorganize
joomla32
taskdialog
durability
pyqtdeploy
cstr
awsvpn
codan
rabinkarp
ri