图像风格迁移_欢迎来到实力至上主义的CS231n教室(三) 图像标注、风格迁移和GAN...

本文介绍了CS231n课程中的图像语义分析任务,包括RNN和LSTM在Image Captioning中的应用,以及网络可视化、风格转移和GAN的相关内容。通过实例详细解析了RNN和LSTM的前向和反向传播过程,并展示了如何使用这些技术进行图像风格迁移和生成对抗网络的训练。
摘要由CSDN通过智能技术生成

Hello,大家好,这里是从不拖更的糖葫芦喵喵~!

ようこそ実力至上主义のCS231n教室へ

天気がいいから、いっしょに散歩しましょう。(划掉烦人的听力!)

考N1什么的才不会耽误更新!大家一定要保佑喵喵一次通过啊~

那么,最后一篇CS231n 2017 Spring Assignment3 就要开始了~!

喵喵的代码实现:Observerspy/CS231n,欢迎watch和star!

视频讲解CS231n Assignment3:

Assignment 3-AI慕课学院​www.mooc.ai
02c96c97ff04bf1f0bf29d3297549bbc.png

Part 1 Image Captioning with Vanilla RNNs

下面让我们来和普通RNN一起玩耍,并完成一个简单的看图说话(图像语义分析)的任务吧!

1.1 Vanilla RNN

40acd8d8b54f0952eaaea30afcd05441.png

1.1.1 RNN单元

首先我们来看对于一个RNN单元:

前向:

向右的箭头:也就是

从左到右的传播过程:

向上的箭头:输出层,是一个softmax:

反向:

反向我们需要计算dWx,dWh,db,dx和dh,不管计算哪一个,都要先把

这层先去掉,其导数是
。所以上游传下来的dout和导数先相乘,我们把这个值先记为dtheta。

剩下的就是一个线性的式子,分别对我们要的5个参数求导:

db = sum(dtheta)

dWx = dtheta dot x (是矩阵乘哦,然后还有注意形状!这里喵喵给出的不是实际式子,应该谁和谁相乘请按照形状自己想一想~)

dWh = dtheta dot h

dx = dtheta dot Wx

dh = dtheta dot Wh

1.1.2 完整RNN

每个单元都是一样的,那么,对于完整的RNN:

前向:

也就是要对RNN单元循环T次,T是序列的长度。

返回来看RNN单元前向公式,每次输入5个参数,输出一个

又是下一个循环的输入。因此在循环内部我们要不断更新
,并记录它。这里就不赘述了。

反向:

RNN反向和之前我们计算的反向都不太一样,因为之前我们计算反向时上游传回来的值只有dout一个。在RNN示例图中,反向时所有箭头都要翻转,也就是说,不仅有从右边来的dprev_h,还有从上面来的dh。

既然有两个那么加起来就好了。

首先我们逆序循环:

for t in range(T-1, -1, -1):

对于每一个时间片t,上面来的导数是dh[:, t, :](形状是(N, T, H)),右边来的暂时记作dprev_h。对于最后一个单元,它的右边没有传来导数,所以初始化dprev_h是0。

于是对于每一个RNN单元,需要传进去的导数就是dh[:, t, :]+dprev_h。显然dprev_h是需要更新的。

注意到我们在实现RNN单元的反向传播时还需要有一个参数cache,所以还需要构造cache,这时候需要注意其中有些元素的下标

参数计算完毕,利用刚才实现的反向传播就可以计算出5个导数了。

但是还没有完!

对于dx,我们可以计算它每一个时刻的导数,那么剩下dWx,dWh,db和dh呢?注意到

其实RNN中,这四个参数在不同时刻是共享的,因此需要在每一个时刻把它们都加起来做更新

RNN我们做完啦!下面让我们来看看这个看图说话(图像语义分析)任务是什么样!

1.2 Image Captioning

简单说就是看图说话,给你一幅图,给出关于这幅图的说明文字。网络结构如下图所示:

7dd22f312178a57ff40e6135f08ab875.png

1. 隐藏层

输入一幅图片,从训练好的vgg16的fc7层中取出特征,当做h0输入到RNN中。这样剩下的任务就是训练网络,使之能够输出图片说明句子(单词序列)。然后h还要经过一次线性变换。

如何表示单词呢?做过自然语言处理想必一定知道必不可少的操作就是Wor

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值