台湾NTU李宏毅的Machine Learning (2017,Fall),部分要点总结3:Auto-encoder,GAN,seq2seq相关,RNN等

Auto-encoder

Auto-encoder属于无监督学习,上几句名言:
在这里插入图片描述
可以看出,无监督学习不仅有很大的发展空间,还有巨大的好处。
在这里插入图片描述
Auto-encoder可以看做先用PCA得到code,然后再解回原来的内容。input通常会先做normalization,然后通过encoder得到code,中间的bottleneck layer的neural个数,就是code的dimension数,输出即是code。然后再解回原来的大小,与原数据比较差异,最小化差异。encoder与decoder并不必要是对称的。
在这里插入图片描述
还可以先增加噪声,然后将输出与原照片对比,获得具有去噪声能力的auto-encoder。
可以做文本检索,encode后,相近的意味着文本相关。类似的还有相似图片搜索,当然可以利用convolution

Auto-encoder for CNN

在这里插入图片描述
Unpooling可以简单地重复值,或者记住位置,其余补零。
在这里插入图片描述
灰色的代表补零,同时weight顺序颠倒。

Pre-training DNN

在这里插入图片描述
pre-training的那一层相当于auto-encoder。hidden layer的neural大于input的dimension时,要加很强的regularization,比如L1。
在这里插入图片描述
就这么一层层train下去
在这里插入图片描述
最后输出层的参数w4随机初始化,再用backpropagation微调就行。pre-training可以用unlabel data,解决label data较少的问题。

Variational Auto-encoder (VAE)

希望decoder可以单独拿出来,然后单独生成。
在这里插入图片描述
exp(σ(sigma))是variance of noise,学出来的。e是从正态分布中generate出来的。
noise使得一些data的code会有重叠,因此当你输入code,其可能是某几个data加噪声后的code,所以结果会比较好。σ接近0,variance接近1。后面是L2 regularization。正式的解释就需要自行搜索了。
VAE may just memorize the existing images, instead of generating new images
在这里插入图片描述
仅仅是模仿,而不是真的试图以假乱真,因为虽然都是一个pixel的差异,但整个图片完全不一样。

Generative Adversarial Network (GAN)

类似自然界的共同进化。generator没有看过真正的image
在这里插入图片描述
在这里插入图片描述
Generator + Discriminator = a network
在这里插入图片描述
目前的问题就是不知道discriminator能力强不强,有可能骗过它只是因为它很弱。得保证两者共同进步。

RNN

RNN即Recurrent Neural Network,具有memory,即hidden layer的值,每个input除了sequence里的值外还包括memory,实现sequence to sequence的learning。其中比较standard的是LSTM。
Changing the sequence order will change the output.
在这里插入图片描述
均是同一个RNN,只是将sequence里的各项挨个输入
在这里插入图片描述
在这里插入图片描述
Elman network就是最一般的RNN,wh是hidden layer的值,每输入一个input,会读取上一个input的hidden layer的值。Jordan network是将output存起来。传说Jordan network的表现会更好(明星加成:)),因为y是有target的
在这里插入图片描述
上下文都看过,应该会更好
在这里插入图片描述
较长的短期记忆,因为不再是下一个input进来,memory就会更改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般的RNN随机初始化激活函数用sigmoid,用identity matrix初始化relu,吊打lstm
RNN不只可以做length相同的seq2seq,还有Many to one(情感分析、关键项提取)、Many to Many (Output is shorter)(语音识别,CTC引入了blank(该帧没有预测值),每个预测的分类对应的一整段语音中的一个spike(尖峰),其他不是尖峰的位置认为是blank。对于一段语音,CTC最后的输出是spike(尖峰)的序列,并不关心每一个音素持续了多长时间。)、Many to Many (No Limitation)(机器翻译)、Beyond Sequence(句法分析)、Auto-encoder (chat-bot、Video Caption Generation、Image Caption Generation)
在这里插入图片描述
deep learning与structured learning结合起来会有很好的效果。

Sequence Generation

纯粹就是给一个起始符,然后能生成一个sequence,可以是句子,也可以是图片。生成图片的话又称pixelRNN,用于给出图片的部分,看RNN如何补全。
在这里插入图片描述
在这里插入图片描述

Conditional Sequence Generation

Generate sentences based on conditions。一般就是将condition作为起始符输入
在这里插入图片描述
在这里插入图片描述
但是有时候我们不能单纯使用输入,比如聊天我们还会看之前的记录
在这里插入图片描述
生活大爆炸中不停说重复的例子,YouTube
所以有时还要将history作为condition

Dynamic Conditional Generation

把一个sequence压成一个vector比较困难,而且可能会损失一些信息,我们可以增加attention。
在这里插入图片描述
h是RNN的output,z是一个vector,z0可以作为network参数的一部分,然后learn出来,match函数自己设计。
在这里插入图片描述
match输出的α通过softmax归一化,得到attention weight,然后通过上图右下角的公式算出c,将c作为与上一次的输出结果作为decoder RNN的input,z可能是input,老师在视频里没明确说。输出下一个z和结果。
一文读懂Attention:Facebook曾拿CNN秒杀谷歌,现如今谷歌拿它秒杀所有人
attention-based model还有Neural Turing Machine

Pointer Network

在这里插入图片描述
输入一堆坐标,找到一个圈,可以将所有点包含在内——凸包问题。
在这里插入图片描述
凸包问题如果用seq2seq的方法不能做,因为输入输出的长度是不固定的。encoder可以处理长度不固定的input,但decoder的输出长度是固定的,所以不行。
在这里插入图片描述
类似于attention-based model,只是少了c的计算,h是attention weight,每次取weight最大vector。(x0,y0)是终结符,其weight最大时输出终结。

Tips for Generation

regularization

在这里插入图片描述
通过video造句的时候要均衡每个frame的weight之和,τ(tao)是事先设置的每个frame的weight之和,通过regularization使得各个frame的weight之和都在τ附近

Scheduled Sampling

Training: The inputs are reference.
Testing: The inputs are the outputs of the last time step.
在这里插入图片描述
所以测试时,有可能上一个output在train的时候没有见过,就会造成一步错步步错,这就是Exposure Bias
如果直接用output来train,会比较难train,因为每个input是上一个时间的output,当之前的还没有train好时,后面的都train不好,所以得从前往后挨个train,比较难。
在这里插入图片描述
一开始用reference概率大,然后再用自己的output

Beam Search

在这里插入图片描述
类似于解决贪心算法的缺点。Beam size = 2即Keep 2 best path at each step。就是每次分叉时选最好的2条路保留,走到头之后看哪个好

Object level

component级别的错loss不会很大,但这个句子就很有问题。所以可以尝试object级别的
在这里插入图片描述
不能微分就用强化学习,强化学习我就不介绍了,给个参考资料吧(太惨了,这是9月16日创建了final版,我之前打印的是3月份那版,还没有比较有什么区别)
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值