- 概念
- 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(容易过拟合)
- Too many tasks to learn, to learn more efficiently
- 步骤
- 定义一组学习算法,学习不同的component,需要不同的方法
- Net Architecture
- Initial Prameters
- Learning Rate
- …
- 定义loss函数
- 数据
- 需要的是一组的训练任务(任务里面包含训练数据和测试数据)
- 训练任务和测试任务,需要有差别
- 不同的任务的loss相加,作为最终的Loss
- 数据
- 寻找最优的函数
- 定义一组学习算法,学习不同的component,需要不同的方法
- 与机器学习对比
- 相同点
- 会有过拟合问题
- 增加训练任务来提升效果
- 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的时候,可以多次迭代
- Train的时候,是一次迭代
- 优化算法
- meta-SGD
- 优化learning rate
- MAML++
- AlphaMAML
- DEML
- CAVIA
- ANIL
- meta-SGD
- 目标
- Reptile:源自MAML
- 参数的梯度方向,跟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)
- Black-box
- 应用场景
- learn to initialize
- 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的不一样
- 相同的人,分数尽可能的相近,不相同的人,分数尽可能远
- 训练任务
- Siamese Network
- 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 后面
- 在通过另外一个 神经网络 学习
- 训练任务
- Prototypical Network
- General neural network
- 输入
- 图片
- 图片对应的类别
- 处理
- 图片通过CNN生成 embedding
- 类别用one-hot编码
- embedding和类别编码 拼接成一个向量
- 通过 LSTM 训练预测分类
- 直接使用LSTM没有效果,通过 MANN(Neural Turing Machine)、SNAIL(Using Attention) 可以
- 输入
- Face Verification(脸部验证)(二分类?)
- 其他
- 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条)