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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> WDK李宏毅学习笔记第十八周01_Meta learning-MAML and Gradient descent as LSTM -> 正文阅读

[人工智能]WDK李宏毅学习笔记第十八周01_Meta learning-MAML and Gradient descent as LSTM

Meta learning-MAML and Gradient descent as LSTM


摘要

本章要讲的是Meta learning,MAML及 Gradient descent as LSTM。Meta learning是让机器能够在学习中进步,使得自己的学习能力越来越强。MAML是找最好的初始化参数的方法。Gradient descent as LSTM是LSTM向着MAML的变形,也是用来找最好的初始化参数的。

1、Meta learning

1.1 Meta learning是什么

Meta learning是让机器学习如何去学习,让机器可以从以往的学习中找到学习的经验,使得机器学习能力越来越强。
在这里插入图片描述
以下图猫狗辨识为例,Meta learning是输入资料,输出F,F可以找到一个Function f,f可以完成猫狗辨别的任务。
在这里插入图片描述

1.2 Meta Learning架构

首先设计一个Network Structure架构,用一个合适的方法对模型参数初始化,根据训练资料和初始化参数计算Gradient,再更新参数,反复多次,直至找到最佳的参数值。
在这里插入图片描述
显然,Meta Learning中最重要的就是Network Structure的设计,也就是Learning Algorithm的设计。

1.3 如何评价Learning Algorithm

让其去完成多个任务,得到完成每个任务后的loss值,用loss值的和,用来评估该Learning Algorithm的好坏。
在这里插入图片描述
有一个叫Ominglot的数据集是专门用来评价Mate learning的t的好坏的。
在这里插入图片描述

2、Meta learning最近的技巧

2.1 MAML

MAML是用来找最好的初始化参数的,它是以初始化参数Φ作为训练目标来训练model的。
在这里插入图片描述
具体点说,我们找的初始化参数Φ是希望它经过训练后能找到最小的loss值点,MAML并不在意初始化参数Φ在训练前的表现,所以MAML认为最好的点是下图所示的点。
在这里插入图片描述
而Model Pre-training不同,它在意的是初始化参数Φ在训练前的表现,它需要找的是能让loss值在训练前最好的初始化参数Φ。所以Model Pre-training认为最好的点是下图所示的点。
在这里插入图片描述
MAML在实做时,为了缩短训练时间,通常用只更新一次得到的Loss值代替完全训练好的模型的loss值。
在这里插入图片描述

2.2 MAML-Real Implementation

在更新初始化参数时,取第二次的导数来更新初始化参数的值。在这里插入图片描述
而Model Pre-training是直接将每次的导数都用在初始化参数的更新上。
在这里插入图片描述

2.3 Reptile

Reptile是更新很多次参数得到θm,然后将初始化参数直接向着θm的方向进行更新。
在这里插入图片描述
对三者进行比较可以发现,Pre-train的结果是比较烂的,MAML是最好的,Reptile随着训练次数的增加,慢慢逼近于MAML。
在这里插入图片描述

3、Gradient Descent as LSTM

在这里插入图片描述
上图是MAML,与下图的RNN做对比,可以发现两者其实是很像的。
在这里插入图片描述
现在用的一般都是RNN的变形LSTM。
在这里插入图片描述
于是写出LSTM的公式,与MAML做比较,可以观察到两个公式是有相似的地方的,再以此对LSTM进行变形,希望它和MAML公式一样。
在这里插入图片描述

  1. 将Ct和Ct-1当作θt和θt-1。
  2. 将ht-1和Xt换成Gradient -▽θL。
  3. 让Z就是Gradient-▽θL。
  4. 让Zf永远都是1。
  5. 让Zi是η。
    经过以上变形,得到下图所示的LSTM,此时的LSTM和MAML就是一样的了。
    在这里插入图片描述
    因为Zf代表的是记忆功能,Zi代表的是学习速率,若它们的值是固定的,那么在处理问题时就无法随机应变,就显得不够智能,如果让机器自己学到根据不同实际情况取不同的Zf和Zi的值,这样就更有效更智能了。有一个常用的办法是将θt-1得到的loss值作为Other输入,于是最终的model(LSTM for Gradient Descent)就变成了下图所示:
    在这里插入图片描述
    LSTM for Gradient Descent和一般的LSTM比较可以发现,它们的区别在于前者的θ会作为输入影响Gradient。
    在这里插入图片描述
    在实做上,为了减少运算量,我们只用一个LSTM进行训练,所有的参数都是共用同一个LSTM。
    在这里插入图片描述

方法

  1. Meta learning的做法是设计一个Network Structure,这个Network Structure是复杂的神经网络,让其完成多个训练任务,当它遇到与曾经训练过的任务类似的任务时,它会凭借还保留在神经网络里的一部分参数,快速找到完整的参数,以此提高效率。
  2. MAML的model架构和Meta learning是相同的,它们的区别是MAML是以找到最好的初始化参数Φ作为训练目标,所以在训练过程中,每训练一次得到的loss,需要对Φ求导,再向梯度方向改变Φ,循环往复,直至求得最好的Φ。
  3. Gradient descent as LSTM它的目的和MAML是一样的,都是为了找到最好的初始化参数,不过前者是在对LSTM向着MAML的方向进行的变形。

结论与展望

Meta learning为什么能够做到让机器能够从学习中进步,提高学习效率?我认为是因为Meta learning每完成一个任务,都会记下该任务的一部分参数,当再次遇到类似的问题时,会调用这一部分参数作为初始化参数,这样就会缩短训练时间并一定程度的提高了准确率。但是该方法存在明显的问题,就是当Meta learning的Network Structure太简单或者训练任务太多时,最开始完成的任务留在神经网络的参数会被后面任务的参数覆盖,导致最开始完成的任务被machine遗忘,这个问题还尚待解决。 Meta learning在实做中,还需要和MAML一起用,在Meta learning完成任务的同时MAML找到最好的初始化参数,这样Model学习能力的提升才比较明显

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:44:45  更:2021-08-16 11:47:41 
 
开发: 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 20:24:58-

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