cs231n 2018系列笔记(lecture10)

 

cs231n 2018系列笔记(lecture10)_第1张图片

 

lecture地址链接:https://pan.baidu.com/s/1ZKLepm2ow4AV3QJQwgmeFQ 密码:kaoc

 

本篇主讲的是RNN在机器视觉方面的应用。

cs231n 2018系列笔记(lecture10)_第2张图片

one to one 是普通的Vanilla Neural Networks
one to many 应用于Image Captioning,实现看图说话
many to one应用于sentiment classification,情感分类
many to many(1)应用于机器翻译
many to many(2)结构应用于Video classification on frame level,帧级别的视频分类

cs231n 2018系列笔记(lecture10)_第3张图片

many to many 模式的前向传播过程,W共享值,每次输出都产生相应的loss,最终的loss是累加得到

 

cs231n 2018系列笔记(lecture10)_第4张图片

many to one模式,只在最后一步输出Y

cs231n 2018系列笔记(lecture10)_第5张图片

one to many ,只有一个输入,每次都有输出y

 

many to one 和 one to many 结合起来就是 sequence to sequence结构,前面是encoder,后面是decoder.encoder部分也可以采用CNN去掉FC层,因为RNN和CNN的输出都是数组。

cs231n 2018系列笔记(lecture10)_第6张图片

下面是一个简单的char rnn前向传播过程,每次得到的输出都作为下一个的输入。

cs231n 2018系列笔记(lecture10)_第7张图片



反向传播过程如下

cs231n 2018系列笔记(lecture10)_第8张图片

但是由于是连乘操作,会发生梯度爆炸或者为0这两种情况。需要用到Truncated

Backpropagation through time,按块来进行反向传播

cs231n 2018系列笔记(lecture10)_第9张图片

这是官方推荐的一篇代码,numpy实现的最简char-rnn,作者也是 rnn captcha的创始者。

https://gist.github.com/karpathy/d4dee566867f8291f086​gist.github.com

 

还有一篇numpy实现的LSTM.

cs231n 2018系列笔记(lecture10)_第10张图片

seq to seq博客

帐号登录​blog.csdn.net

 

attention机制博客

帐号登录​blog.csdn.net

 

 


cs231n 2018系列笔记(lecture10)_第11张图片

Image Captioning是cs231n的assignment3作业,从头实现,建议做一下。CNN生成的数组变成了RNN的隐藏层输入,而输入X则是标注好的图片注释,两者结合来生成图片描述。需要注意的是,要手动设置一个开始和结束标志,比如这里的START和END.

生成过程如下

cs231n 2018系列笔记(lecture10)_第12张图片

Image Captioning with Attention是改良版,增加了attention机制。attention机制类似于人眼的聚焦机制,只集中注意力于重要的事情上面,忽略次要影响。具体可以上面那篇博客讲解。

cs231n 2018系列笔记(lecture10)_第13张图片

 

 

 

你可能感兴趣的:(cs231n 2018系列笔记(lecture10))