迁移学习 --- 元学习

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(使用前将#替换为@)

迁移学习 --- 元学习 的相关文章

随机推荐

  • 提高测试人员测试效率之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