元学习MAML算法详解
Meta learning
Meta learning 基本定义
元学习:又称“学习如何学习”,就像我们人类学习新知识往往从以往得经验出发而很少从头开始一样,元学习以一种系统得、数据驱动得方式从先前得经验中学习,是一个可用于描述所以基于其他先前任务经验来学习的方法的概念。学习学习的方法
MAML and Model Pre-training
区别:
MAML:MAML的loss是训练后的结果在评估模型上计算得到
Pre-training:loss在预训练上的模型上计算的
为了进一步区分两者,MAML在意训练后KaTeX parse error: Undefined control sequence: \thea at position 6: \hat{\̲t̲h̲e̲a̲}^{n}表现得好,如图处,对task1和task2都下降很快
MAML:
MAML注重找到一个任务最优点,对于所有的任务都能较快收敛,关注于潜力都不关注于此时任务上的收敛情况
在MAML中找到的ϕ\phiϕ在task1上不是全局最优解,但是他在两个任务上都下降很快
Pre-training:预训练在训练任务上找最优,收敛
在Pre-training在task1上找到全局最优作为初始值可能就在task2上陷入局部最优
在图中Model Pre-training在所有task上都最好
两者就像刚毕业学生一样,Model Pre-training就是直接毕业工作拿工资,对于当前是很好,MAML相当于去读博,有了高学历对于以后发展会很好。
Example
可以看到
- Model Pre-training,学习到的网络初始参数预测出来的是绿色曲线,找到不同的sin函数上都好的,而不同sin函数叠加起来波峰与波谷抵消,为了使每个任务上都好最后得到一条近乎水平的线,所以用transfering learning在新任务上用这几个点迭代几次依然不好
- 而MAML学习到了初始参数预测有一些波动,在经过几个训练点上几次迭代很快就能拟合到橙色曲线。
https://towardsdatascience.com/paper-repro-deep-metalearning-using-maml-and-reptile-fd1df1cc81b0
Two way one shot
理论证明
算法分析
- 给定task分布,由于MAML执行两次梯度更新,所以可以设置两个学习率
- 第一步随机初始化参数
- 2,相当于epocjh
- 3,采batch task
- 4-7在采的task上计算梯度
- 8在第一次所有采样任务上再算一次梯度,然后将梯度方向作用于θ\thetaθ
Reptile
元学习应用
迁移学习其实也可以算元学习的一种,但是更多关注于两个相似模型上的关联性,其原理更多偏向于预训练,而不是元学习的典型算法MAML,迁移学习可以称为单独的一种学习方式
变形
问题
解决
元学习MAML算法详解相关推荐
- MAML算法详解(元学习)
文章目录 回顾元学习 MAML算法 MAML和预训练模型的区别 数学推导 MAML实施细节 总结 回顾元学习 元学习的基本知识参考这篇博客元学习和机器学习的对比 MAML算法 学习初始化参数,所有任务 ...
- 【机器学习】集成学习及算法详解
集成学习及算法详解 前言 一.随机森林算法原理 二.随机森林的优势与特征重要性指标 1.随机森林的优势 2.特征重要性指标 三.提升算法概述 四.堆叠模型简述 五.硬投票和软投票 1.概念介绍 2.硬 ...
- 深度学习 --- BP算法详解(流程图、BP主要功能、BP算法的局限性)
上一节我们详细推倒了BP算法的来龙去脉,请把原理一定要搞懂,不懂的请好好理解BP算法详解,我们下面就直接把上一节推导出的权值调整公式拿过来,然后给出程序流程图,该流程图是严格按照上一节的权值更新过程写 ...
- 深度学习归一化算法详解(BN,LN,IN,GN)
目录 一.Batch Normalization(BN) 1.1为什么提出BN? 1.2BN的基本原理和公式 1.3BN在神经网络中的实现 1.4BN的优点和缺点 二.LN,IN,GN的原理和适用范围 ...
- 深度学习 --- BP算法详解(BP算法的优化)
上一节我们详细分析了BP网络的权值调整空间的特点,深入分析了权值空间存在的两个问题即平坦区和局部最优值,也详细探讨了出现的原因,本节将根据上一节分析的原因进行改进BP算法,本节先对BP存在的缺点进行全 ...
- 深度学习 --- BP算法详解(误差反向传播算法)
本节开始深度学习的第一个算法BP算法,本打算第一个算法为单层感知器,但是感觉太简单了,不懂得找本书看看就会了,这里简要的介绍一下单层感知器: 图中可以看到,单层感知器很简单,其实本质上他就是线性分类器 ...
- 强化学习ppo算法详解
PPO (Proximal Policy Optimization) 是一种基于梯度的强化学习算法.它的主要思想是通过对策略的更新来提高策略的效率.主要包括以下步骤: 首先选取一个初始策略,然后使用这 ...
- 【20210922】【机器/深度学习】KNN (K近邻) 算法详解
一.算法概念 KNN, K-near neighbor,即最近邻算法.它是一种分类算法,算法思想是:一个样本与数据集中的 k 个样本最相似,如果这 k 个样本中的大多数属于某一个类别,则该样本也属于这 ...
- 离线强化学习(Offline RL)系列3: (算法篇) IQL(Implicit Q-learning)算法详解与实现
[更新记录] 论文信息:Ilya Kostrikov, Ashvin Nair, Sergey Levine: "Offline Reinforcement Learning with Im ...
最新文章
- 快速构建Windows 8风格应用27-漫游应用数据
- Nature:复杂菌群空间分布研究
- R语言break函数和next函数实战
- php一句话图片木马过滤_php一句话图片木马怎么解析
- thinkphp-许愿墙-2
- 用python画明星_用python画一只可爱的皮卡丘实例
- 立镖机器人浙江_立镖现身LogiMAT 2019 彰显中国仓储分拣技术
- nodejs gulp less编辑
- rabbitMQ windows 下安装
- 才意识到自己“奇葩”的360,会不会有些晚?
- ASP与JSP的比较
- flask 蓝本(blueprint)
- python安装pip之后镜像源配置
- python中e怎么计算_Python之循环结构——实战计算自然底数e,圆周率Π
- 5G 技术特性、频段、架构、部署极5G 手机
- 淘宝商品详情接口抓取
- 美国专线是什么,美国专线有哪些物流方式?
- java乱码base64_JavaScript BASE64算法实现(完美解决中文乱码)
- postman如何做接口关联
- 妥妥解决MySqL中文乱码问题,就这么任性