CS231N–可视化和理解
一、概念定义:
- 可视化的方法可以让我们理解神经网络是如何工作的。不同层的神经网络结果如何,卷积核/滤波器起什么作用。
1. 可视化激活函数值
对激活函数的激活可以在激活值中找到对应的图片的轮廓。
神经网络实现
优化实现
2. 可视化卷积核/滤波器
CNN实现的是自动训练出不同类型的滤波器,取代以前的手工设定滤波器
第一层滤波器拥有不同层次的特征,横条纹、竖条纹、斜条纹、圆条纹等,是对原始图片进行特征提取,也可以把不同的训练过程滤波器变化的课程输出。
高层次的滤波器就比较玄学,^_^,对其他层不是原始层进行的激活,可视化程度较低。
3. FC全连接层可视化
t-sne算法将高维数据转通过内在联系聚集嵌入二维数据,展示出来。不同图片训练出来的FC的特征向量维度喂给tsne,实现相同特征的聚类。
KNN聚类,通过对特征进行KNN算法也可以实现KNN的聚类。
4. 遮挡实验
- 通过对特征进行遮挡,训练出来的准确率会降低,如果是重要特征,那么准确率降低的多
5. 梯度可视化方法
- 计算分类器的得分类的梯度的绝对值转换为梯度。
- 使用Grabcut在特征图片上,可以得到非监督学习的内容。
6. Guided Backprop方法
deconvnet的方法是对反向传播梯度负值不进行计算,忽略激活函数的影响
Guided Backprop的方法是不对负值进行计算,同时也不对激活函数为0的值进行计算,这样的方法形成的结果更加有特征。
7. 梯度上升
产生一个人工的图片从而最大化的激活神经元,寻找最匹配分类取值的结果进行更新,计算过程如下:
在优化过程中,除了进行正则化,还需要对图像进行高斯模糊、像素值小及梯度小的值进行置0,用来平滑图像。
梯度上升能够得到非常有特征的图片
8. 生成对抗图片
- 整个过程包括四个步骤:(1)从任意一张图片开始(2)选择任意一个分类(3)对图像进行梯度下降,修饰图片来使得满足分类得分(4)直到网络认为正确。
9. 深度梦幻:放大特征
- 用来将图片添加上想要的特征,用于生成相应的带有各种特征的图片,使得图片融合平滑的在于正则化的使用,与PS的不同在于更全局性更细腻。
训练的过程如上,不作过多解析。
10. 风格迁移–纹理合成:
简单纹理合成可以使用NN(Nearest Neighbor)
神经网络合成,核心在于格拉姆矩阵的使用,互相关的计算方法,实际上的东西没理解透,需要看博客或者论文讲解。
计算速度比较慢,需要使用fast的版本:
- ………………………………还有更多的风格迁移的内容