-
RNN
下图是RNN训练的时候的示意图,预测的时候有一点不同就是上一个输入x是根据上一次预测出来的,而训练的时候x是数据集中的
-
LSTM
LSTM计算的描述,很清楚
LSTM具体实现的时候也只有LSTM这部分跟RNN不同,其他的比如图像的输入及映射、文字的输出(也是h进行映射)都是一样的,实现了LSTM前进的部分后,在rnn.py的类CaptioningRNN中,方法loss,sample中RNN和LSTM高度兼容。
-
可视化
Network Visualization
选定模型,根据loss优化模型后固定参数,用loss对输入求梯度,看看哪些像素对图片的影响比较大。
Fooling Images
用某张别A的分类的图片,进行梯度上升计算让网络计算得到另外某种分类B,在肉眼看来几乎没有变化却得到不同的分类。梯度是网络对B分类的分数对图片进行求导,梯度上升令B分类的分数越来越高。
Class Visualization
跟上面相似,只是这里用随机图片,并尽可能地增加分数,上面是分数只要是比其他分类大就可以。
-
Style Transfer
我们首先产生一张差不多结合风格图的风格,和内容图的图片,然后减少产生的图片跟风格图的风格差异,跟内容图的内容差异。我们需要产生一个混合损失函数,然后调整图片像素来进行梯度下降。
content loss 内容损失函数
大意:每个图片的内容用F = H * W * C长的向量来表示,每个点有C个滤波器进行卷积过。又写作F = M * C,其中M = H * W。
风格损失
大意:每个图片向量用上面的F = M*C表示,Gram matrix G的第ij个元素为F的i列和j列进行点积,损失L计算两个图片向量G矩阵的插值。
这个得看论文才知道为什么是这样子
正则化
这个正则化是利用图像一般比较平滑,所以要惩罚