【李宏毅2020 ML/DL】补充:Meta Learning - Gradient Descent as LSTM
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
本次笔记补充视频 BV1JE411g7XF 的缺失部分。上节课李老师讲了元学习中的参数初始化方法:MAML 与 Reptile 。本节课内容为 Gradient Descent as LSTM
。在 B 站搜索 meta
与 lstm
即可找到视频。本节内容 30 分钟左右。
注意:本节讨论的是“元学习”,我们将讨论用 LSTM 做优化器的方法。我们所指的训练,是指训练优化器 LSTM 的参数。
本节内容综述
- 我们可以把元学习的过程,当然 RNN 来看。首先复习 RNN 。多数时候,我们说 RNN ,其实就是在用 LSTM 。
- 比较 LSTM 中的运算与 meta-learning 中的更新式,会发现有一些相似之处。
- 在实际操作中,我们做了非常大的简化。
- 此外,我们很久以前介绍过一些优化方法,如
RMSProp
、Momentum
,是需要过去的梯度来确定现在的梯度的。因此,可以根据这个为 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相关推荐
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 【李宏毅2020 ML/DL】P110-111 Policy Gradient Proximal Policy Optimization
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 关于强化学习,我专门花半年时间学习实践过,因此这里笔记只记录李老师的 outline .我的强化学习资源仓库: ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】补充:Structured Learning: Structured SVM
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本次笔记补充视频 BV1JE411g7XF 的缺失部分.在另一个UP主上传的2017课程BV13x411v7U ...
最新文章
- 布袋除尘器过滤风速多少_塑烧板除尘器过滤风速选多少
- 用户界面设计准则从何而来
- lisp填写明细表对话框_用AutoLisp定制acad的对话框
- 特斯拉「断网」致500名车主被锁车外,最长5小时,网友:有些东西就不该经过网络...
- [云炬ThinkPython阅读笔记]3.4 增加新函数
- [Ext JS]Grid的列过滤
- python力导向图论文_力导向图(关系图) echarts的运用
- 容器技术Docker K8s 35 容器服务ACK基础与进阶-应用与发布管理
- android自定义相机取景框模仿微信抓取录像实现活体认证
- 文件服务器杀毒软件推荐,服务器上装什么杀毒软件好?
- 解决 linux下编译运行.sh文件报错 “[: XXXX: unexpected operator” 问题
- 重庆科技学院计算机考研资料汇总
- 从第三方应用跳回uniapp开发的app
- php字符串处理函数大全--有时候我们只需要知道名字。
- getshell之Nexus远程命令执行(CVE-2020-10199)
- ESP8266 MP3制作——关于SelectionList从源码中改代码的一次经历
- 大数据分析R和RStudio使用指南
- Java汉字转拼音库,Pinyin4j
- c语言中换行符与回车符的区别,C语言中换行符与回车符的区别
- AWG含义及尺寸电流对照表
热门文章
- 使用 ReSharper对.NET解决方案进行全面重构
- 解决Ubuntu “E: 软件包 vim 还没有可供安装的候选者“问题
- jsx中如何解决{if…else…}的问题
- json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
- 一键解决 500、502和504 Internal Privoxy Error 问题(图文详解)
- VS2013、VS2015中,新建项目没有看到解决方案的问题(已解决)
- Tab键== 4个空格并在Vim中的花括号后自动缩进
- ros_tools.prompt 断点调试
- 当前计算机技术与医学结合的研究热点,改进的模糊遗传算法在医学中的应用和研究...
- Android:adb 详细介绍