IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Meta-Learning之Meta-SGD -> 正文阅读

[人工智能]Meta-Learning之Meta-SGD

这篇文章是MAML的提升版本,结合了Meta-LSTM的思想,生成一种新的元学习算法。由于这种算法自行设计了学习率和优化方向来获取新的参数,这种做法和SGD很像,因此作者取名为——Meta-SGD

参考列表:
Meta-SGD论文阅读笔记
MAML与Meta-SGD

1 MAML

1.1 简介

具体可参考我的另一篇MAML论文解读

1.2 优势

  1. 可以在新的task上达到Fast Adaptation。
  2. 为算法提供一个可以快速收敛的合适初始化参数,而不是最优参数,这一点区别要理解。最优参数是Learner在MAML给予的初始参数基础上,进行微调从而达到它那个task上使得 L o s s Loss Loss达到最优化的参数。

1.3 缺陷

  1. 内更新的设计中,学习率、搜索方向都是自行设计的,其中搜索方向是样本上近似的梯度值。一来学习率的大小需要调节;二来搜索方向显然不是最佳的选择。

2 Meta-LSTM

2.1 简介

具体可参考我的2篇论文解读:
L2L by gradient by gradient
optimization as a model for few-shot learning
在这里插入图片描述这是我用Meta-LSTM学习出来的优化器去优化最小二乘 L o s s Loss Loss的学习曲线。

2.2 优势

用元学习算法学到了一种优化方法,MAML学习到了初始化参数,Meta-LSTM学习到了一种优化方式。利用LSTM作为Meta-Learner,然后将Meta-Learner作为模型,用Adam去训练,也就是说将Meta-Learner当作模型去训练参数 θ \theta θ。Learner的参数就通过LSTM的输出口获取: θ t = θ t ? 1 + g t \theta_t=\theta_{t-1} +g_t θt?=θt?1?+gt?,这就是Meta-LSTM所学习到的优化算法,简而言之就是用LSTM来表示参数更新这个式子。

2.3 缺陷

  1. 训练难度大。
  2. 收敛速度慢。

3 Meta-SGD

3.1简介

  1. Meta-SGD是MAML和Meta-LSTM的结合版本,或者说是MAML的升级版,它在MAML只能元学习网络初始化参数的基础上,还能去元学习优化的学习率和搜索方向,回忆下我们常用的SGD、Adam等优化算法,他们大多都是以手动设计学习率和搜索方向为主(比如SGD为 L o s s Loss Loss的梯度方向,结合我们的优化理论基础知识,梯度方向显然不是最优的搜索方向,比如自然梯度法、共轭梯度法、最速下降法等等,但谁都不能说是最好的,那么与其我们人为去选择一种优化方法,还不如让计算机自己去学习选择一个优化算法)。
  2. 和MAML一样,Meta-Learner可以快速将学习到的一套优化规则(学习率+搜索方向)适应到Learner上,具体来说,只需1个step。因此Meta-SGD也具备Fast-Adaptation的能力。
  3. Meta-SGD和Meta-LSTM一样,都算是学习到了一种优化方式,但是Meta-SGD更容易训练;且其实现起来简单:Meta-LSTM需要依赖LSTM,而Meta-SGD只需要一个可更新的矩阵即可,所以训练起来也更快。

3.2 核心思想

在这里插入图片描述
4. 如上图所示,就是MAML-SGD的核心思想的体现,乍一看和MAML论文中的很类似,它所表达的是:第一个正方形平面内黑色线是MAML中,不同task上的搜索方向,红色线是我们Meta-SGD在不同task上的搜索方向,可以看出——Meta-SGD添加了一个学习率矩阵 α \alpha α,这个矩阵和黑色梯度矩阵的大小是一样的,中间的 ° \circ °表示按元素相乘,这种方式使得产生了一种新的搜索方向。
5. α ° ? L ( θ ) \alpha\circ\nabla\mathcal{L}(\theta) α°?L(θ)的长度就是更新的步长,其归一化向量(方向)就是搜索方向。在这里插入图片描述此外, α ° ? L ( θ ) \alpha\circ\nabla\mathcal{L}(\theta) α°?L(θ)产生的更新方向和 ? L ( θ ) \nabla\mathcal{L}(\theta) ?L(θ)往往是不一样的,因为 α \alpha α是个可学习的矩阵(向量)

  1. 中间的黑色弧线代表着Meta-Learner的参数,和MAML不同的是,Meta-SGD有2个—— ( θ α ) \begin{pmatrix}\theta\\\alpha\end{pmatrix} (θα?)
  2. 第二个正方形平面就是MAML的内循环,得到Learner的参数 θ i ? \theta_i^* θi??,更新公式为: θ i ? = θ ? α ° ? L i ( θ ) L i ( θ ) = 1 ∣ T ∣ ∑ ( x , y ) ∈ T l ( f θ ( x ) , y ) (2) \theta_i^* = \theta - \alpha\circ\nabla\mathcal{L}_i(\theta)\\\mathcal{L}_i(\theta) = \frac{1}{|\mathcal{T}|}\sum_{(x,y)\in\mathcal{T}}l(f_\theta(x), y)\tag{2} θi??=θ?α°?Li?(θ)Li?(θ)=T1?(x,y)T?l(fθ?(x),y)(2)

3.3 训练过程

在这里插入图片描述
整个训练过程如上所示:

  1. 和MAML类似,Meta-SGD也有2层的循环,第一层就是核心思想所述,将Meta-Learner参数快速适应到Learner上;第二层是Meta-Learner参数的更新。
  2. 第一层循环不用自己设定的固定学习率,而是用学习率矩阵 α \alpha α代替,其Size和参数的Size一样,使用按元素逐一相乘。损失是在Support-set上的损失。
  3. 第二层循环除了要更新网络的参数 θ \theta θ以外,还要去更新学习率矩阵 α \alpha α,两者更新方式一样。这里我个人在复现的时候使用的是FOMAML的做法。损失是在Query-set上的损失。
  4. 对于每一个任务都是相同的做法。实际在做的时候,第一个task上完成内更新之后,然后在Query-set上计算 L o s s Loss Loss的梯度;然后对第二个task也是这样的操作…mini-batch个tasks做完之后,求取mini-batch个 L o s s Loss Loss梯度的平均值用于更新 ( θ α ) \begin{pmatrix}\theta\\\alpha\end{pmatrix} (θα?)。第一轮更新结束后,用新的Meta-Learner参数去做第二次,第三次…第n次更新。

3.4 伪代码

在这里插入图片描述
在这里插入图片描述
将3.3节训练过程整理成伪代码就是如上所示,其实和MAML的伪代码类似。第一张图片是Meta-SGD在监督学习上的应用;第二张图片是Meta-SGD在RL上的应用。两者区别主要在于 L o s s Loss Loss的构成、task的构成不一样,其余大同小异。尤其要注意的一点是,无论是监督学习还是RL,外循环的 L o s s Loss Loss一定是Learner参数 θ ′ \theta' θ在Query-set上的损失。

3.5 实验结果

3.5.1 回归

在这里插入图片描述

3.5.2 分类

在这里插入图片描述

3.5.3 强化学习

在这里插入图片描述
在这里插入图片描述

3.5.4 实验小结

  1. 总的来说,作者设置对比实验来突出Meta-SGD在监督学习和强化学习上对于MAML、Meta-LSTM的优越性。
  2. 证明了Meta-SGD在分类、回归、RL下的可行性高。

4 总结

  1. MAML-SGD = MAML + MAML-LSTM
  2. 用最简单的方式来描述Meta-SGD就是在MAML的基础上,增加了一个可学习的学习率 α \alpha α矩阵(向量),这个学习率矩阵在内循环中和原MAML的梯度按元素相乘来改变更新方向;在外循环中和Meta-Learner参数一起更新。
  3. Meta-SGD的优点在于既可以学习网络的初始化参数,为Learner提供更快的收敛速度;其次对于每一步,它还可以自行学习适合task的学习率、搜索方向。可以说Meta-SGD拥有MAML的一切优点。
  4. Meta-SGD这种优化方式训练起来更加快速且实现方便。
  5. Meta-SGD适用范围广:分类、回归、强化学习。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 10:56:24  更:2021-10-22 10:57:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:35:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码