笔者在2020年1月10号去听了李宏毅老师的无监督学习讲座,在此做个总结,文末附上李老师的PPT,喜欢的同学请点赞自取。
讲座内容主要分为三部分:
Learning from Unpaired Data
Self-supervised Learning
Meta Learning
1.1
Learning from Unpaired Data
01
1.1.1 使用不成对数据和GAN思想来训练模型
笔者已经在之前的推文提及GAN的原理与实验,还不了解的可以去翻阅一下。
02
1.1.2 四种样例
总共有四种例子,整体训练思路是一样的,只是不同例子在训练过程中有些trick需要注意,这里笔者就拿自然语言处理的文本生成任务进行介绍。
▲ Learning from Unpaired Data的四个例子
03
1.1.3 具体例子
训练一个生成文本摘要的网络(相当于GAN里面的Generator)
▲ 实验流程
Generator:生成摘要
Discriminator:辨别摘要是否机器生成(人工手写摘要与机器生成摘要)
Seq2Seq:目的是通过减小还原样本的误差,来提高整体生成摘要的准确率
人工手写摘要有两种
① 用Gigaword的标题作为摘要(一般的文本摘要在标题即可体现,为Matched data,即生成器Genrator生成的摘要与手写摘要是对应的)
② 用CNN(Cable News Network)/日记邮件作为摘要(为No Matched data,即生成器Genrator生成的摘要与手写摘要是不对应的)
实验结果(trival是直接拿文本前N个字作为文本摘要的分数)
总结:可以看到监督学习是最好的,但无监督学习的两种方式都比直接拿文本的前N个字作为摘要的效果要好,说明模型确实是学到东西的,而使用无监督学习的方式却可以大大地降低人工标注的成本。
1.2
Self-supervised Learning
自监督学习其实就是BERT的预训练过程,笔者之前已经做过总结了,这里不介绍了。还不了解的可以翻阅以下推文。
1.3
Meta-Learning
01
1.3.1 本质
Learn to learn(学习如何学习),简单来说就是一开始用很多任务的数据对模型进行粗(预)训练,然后再用我们当前想要完成的特定任务数据进行精训练(fine-tune),让模型快速迭代至适应当前亟需解决任务的权重。
举个例子:普通的模型就像学习每一个单词的发音,当这个模型遇到一个完全陌生单词(比如刚刚造出来的新词)时,它得等人教授如何发音才会发音,而Meta Learning就像学习音标发音,看到新单词,通过音标默念(Fine-tune)一下,差不多就知道应该怎么念了。
02
1.3.2 算法思想
MAML(2017,Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks),整体的思路在近几年并没有太多的创新,笔者在此对这篇论文算法核心思想做一下简单的介绍。
MAML的参数概念
Mmeta训练算法流程
参数解释
整体的流程如下:
初始化模型参数
开始epoch的循环:
对tasks池采样形成batch数据
开始第一次梯度更新,对batch数据进行梯度计算
对形成的batch数据计算损失,回归则用MSE,分类则用cross-entropy,将所有损失加起来。
第一次梯度更新
结束第一次梯度更新循环
第二次梯度更新的过程,将第一次梯度更新得到的参数进行第二次梯度更新,再通过SGD作用到元模型,就是我们模型的真正梯度。步骤8结束后,模型在该batch中的训练结束,开始回到步骤3,继续采样下一个batch,直至循环结束。
其中,步骤8的loss计算方法,大致与步骤5相同,但是不同点有两处:
一处是我们不再是分别利用每个task的loss更新梯度,而是像常见的模型训练过程一样,计算一个batch的loss总和,而后对梯度进行随机梯度下降SGD;
另一处是这里参与计算的样本,是task中的query set,在我们的例子中,即5-way*15=75个样本,目的是增强模型在task上的泛化能力,避免过拟合support set。
Mfine-true训练算法流程
利用训练好的Mmeta初始化参数,用P1~P5数据进行微调(fine-tune)即可。
MAML的实验结果:(CER(%)是越小越好)
03
1.3.3 总结
讲座后还问了李老师一些meta-learning的问题:现在做的人很少,也没啥特别新的思路突破,沿用的思想还是2017年的MAML。
什么人才最受欢迎:
1960年:懂很多事的人
1990年:善于学习新事物的人
2020年:善于学习如何学习新事物的人via:hardmaru
knowledge,learn,learn to learn,对应到Ai就是规则,学习(learning),元学习(meta-learning)。
参考文献与链接
【李宏毅深度学习】meta learning
https://zhuanlan.zhihu.com/p/68555964
Model-Agnostic Meta-Learning (MAML)模型介绍及算法详解
https://zhuanlan.zhihu.com/p/57864886
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
李老师无监督学习讲座PPT(整理不易,跪求点“赞”or“在看”)
百度网盘:https://pan.baidu.com/s/1EAVSxBoJZ9QiNaMLl6sV9w
提取码:hba1
下一期,我们将讲授
深度学习中的 Keras和全连接神经网络敬请期待~
关注我的微信公众号~不定期更新相关专业知识~
内容 |阿力阿哩哩
编辑 | 阿璃
点个“在看”,作者高产似那啥~