迁移学习 --- 元学习

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还可以应用于其他任务中,比如语音辨识、文本分类等等
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值