我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本次笔记补充视频 BV1JE411g7XF 的缺失部分。上节课李老师讲了元学习中的参数初始化方法:MAML 与 Reptile 。本节课内容为 Gradient Descent as LSTM 。在 B 站搜索 metalstm 即可找到视频。本节内容 30 分钟左右。

注意:本节讨论的是“元学习”,我们将讨论用 LSTM 做优化器的方法。我们所指的训练,是指训练优化器 LSTM 的参数。

本节内容综述

  1. 我们可以把元学习的过程,当然 RNN 来看。首先复习 RNN 。多数时候,我们说 RNN ,其实就是在用 LSTM 。
  2. 比较 LSTM 中的运算与 meta-learning 中的更新式,会发现有一些相似之处。
  3. 在实际操作中,我们做了非常大的简化。
  4. 此外,我们很久以前介绍过一些优化方法,如 RMSPropMomentum ,是需要过去的梯度来确定现在的梯度的。因此,可以根据这个为 LSTM 做些改进。

文章目录

  • 本节内容综述
  • 小细节
    • 引入 RNN
    • Recurrent Neural Network
    • Similar to gradient descent based algorithm
    • LSTM for Gradient Descent
    • Real Implementation
    • Experimental Results
    • About Previous Gradients
      • Experimental Results

小细节

引入 RNN


如上,我们的训练过程像 RNN 计算过程。主要源自两篇文章。

Recurrent Neural Network


如上,RNN的输入输出过程。

多数时候,我们说 RNN ,其实就是在用 LSTM 。



LSTM的运算如上。

Similar to gradient descent based algorithm


如上,我们何不把 ctc^tct 当作 θt\theta^tθt 来看呢?

此外,为了使两个式子更相像,我们把 LSTM 的 input 从 ht+1,xth^{t+1}, x^tht+1,xt 变成 −∇θl-\nabla_\theta l−∇θ​l 。

我们发现,梯度下降其实是 LSTM 的简化版。

此外,我们还看做些调整,如上。这样,机器就会自动地调整 learning rate ,并且进行了些正则。

LSTM for Gradient Descent


如上,我们使用“简化版LSTM”,更新参数。我们的目标 loss 即为最终算出的 l(θi)l(\theta^i)l(θi) 。

有几个要注意的地方:

  • 在一般的 LSTM 里面,每次的 ccc 与 xxx 是无关的;
  • 而在我们这里,现在的 θ\thetaθ 会影响到 −∇θl-\nabla_\theta l−∇θ​l 。

Real Implementation


如上,实际操作中, LSTM 只有一个 cell ,并且被用于所有的参数上。

好处是:

  • 模型容量小了;
  • 符合在参数上应用同样规则的原理;
  • 允许 training 与 testing 模型不同。

Experimental Results


如上,我们发现 Forget gate 一般保持在 1 左右;并且,其学习率是动态变化的。

About Previous Gradients

我们在架构中加入“过去的梯度”,让过去的梯度也参与现在梯度的决定,类似优化器 Momentum

如上,我们再加一层绿色的 LSTM ,希望 m 存储过去的梯度。但是,李老师对原论文做了些“幻想”,原论文中,只使用了 LSTM 做 m 的存储,上面的蓝色 LSTM 是没有的;而另外一篇论文是有上面,没有下面的 LSTM 。

Experimental Results


如上,LSTM 作为优化器,得到了很惊人的效果。而这个 LSTM 中的参数在 1 * 20 的小神经网络中训练好了;拿到测试任务中,也训练得起来。

但是如最后一张图,训练时与测试时使用不同的激活函数,会坏掉。

【李宏毅2020 ML/DL】补充:Meta Learning - Gradient Descent as LSTM相关推荐

  1. 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM

    李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...

  2. 【李宏毅2020 ML/DL】P110-111 Policy Gradient Proximal Policy Optimization

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 关于强化学习,我专门花半年时间学习实践过,因此这里笔记只记录李老师的 outline .我的强化学习资源仓库: ...

  3. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  4. 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  5. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  6. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  7. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  8. 【李宏毅2020 ML/DL】P15 Why Deep-

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  9. 【李宏毅2020 ML/DL】补充:Structured Learning: Structured SVM

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本次笔记补充视频 BV1JE411g7XF 的缺失部分.在另一个UP主上传的2017课程BV13x411v7U ...

最新文章

  1. 布袋除尘器过滤风速多少_塑烧板除尘器过滤风速选多少
  2. 用户界面设计准则从何而来
  3. lisp填写明细表对话框_用AutoLisp定制acad的对话框
  4. 特斯拉「断网」致500名车主被锁车外,最长5小时,网友:有些东西就不该经过网络...
  5. [云炬ThinkPython阅读笔记]3.4 增加新函数
  6. [Ext JS]Grid的列过滤
  7. python力导向图论文_力导向图(关系图) echarts的运用
  8. 容器技术Docker K8s 35 容器服务ACK基础与进阶-应用与发布管理
  9. android自定义相机取景框模仿微信抓取录像实现活体认证
  10. 文件服务器杀毒软件推荐,服务器上装什么杀毒软件好?
  11. 解决 linux下编译运行.sh文件报错 “[: XXXX: unexpected operator” 问题
  12. 重庆科技学院计算机考研资料汇总
  13. 从第三方应用跳回uniapp开发的app
  14. php字符串处理函数大全--有时候我们只需要知道名字。
  15. getshell之Nexus远程命令执行(CVE-2020-10199)
  16. ESP8266 MP3制作——关于SelectionList从源码中改代码的一次经历
  17. 大数据分析R和RStudio使用指南
  18. Java汉字转拼音库,Pinyin4j
  19. c语言中换行符与回车符的区别,C语言中换行符与回车符的区别
  20. AWG含义及尺寸电流对照表

热门文章

  1. 使用 ReSharper对.NET解决方案进行全面重构
  2. 解决Ubuntu “E: 软件包 vim 还没有可供安装的候选者“问题
  3. jsx中如何解决{if…else…}的问题
  4. json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
  5. 一键解决 500、502和504 Internal Privoxy Error 问题(图文详解)
  6. VS2013、VS2015中,新建项目没有看到解决方案的问题(已解决)
  7. Tab键== 4个空格并在Vim中的花括号后自动缩进
  8. ros_tools.prompt 断点调试
  9. 当前计算机技术与医学结合的研究热点,改进的模糊遗传算法在医学中的应用和研究...
  10. Android:adb 详细介绍