课程视频地址:https://study.163.com/courses-search?keyword=CS231

课程主页:http://cs231n.stanford.edu/2017/

这一讲介绍了可视化和理解卷积神经网络。

特征可视化

这一部分主要介绍卷积神经网络的可视化。

First Layer: Visualize Filters

首先看下可视化第一层的滤波器:

第一层主要检测边和线。课程中还介绍了最后一层滤波器的可视化,用到了降维等技巧,这里从略。

Maximally Activating Patches

另一种可视化方法是找到产生最大激活值的图片块,即遍历训练集,找到是单元激活最大化的一些图片块,利用这个方法可以了解到每个滤波器检测的模式:

Gradient Ascent

梯度上升法可以找到使某个激活值最大的图片,思路如下:

正则项是为了让图像更平滑,最后产生的图像代表了CNN检测的模式:

DeepDream

DeepDream是利用Gradient Ascent来产生艺术品,例如输入天空图像:

会产生如下作品:

Neural Style Transfer

介绍Neural Style Transfer之前,首先介绍以下两个内容。

Feature Inversion

Feature Inversion是为了产生和原图内容内容相近的图像,过程如下:

产生的图像:

Neural Texture Synthesis

这里用Gram矩阵衡量图片的纹理特征,利用Gradient Ascent产生和原图纹理相似的图像:

将以上两者结合起来,就得到了Neural Style Transfer,输入是两张图片,第一张代表内容,第二张代表风格,我们要产生图片,使得这张图片和第一张图片内容相近(Feature Inversion),和第二张图片风格相近(Neural Texture Synthesis),具体过程如下:

产生的效果如下: