卷积网络第一层的卷积核为n_H*n_W*3,将其可视化出来,可以看到,都是些方向边缘。即这些卷积核在找边缘特征
------------------
中间层的权重可以通过调整为灰度图可视化,但是看不出来意义
------------------
网络最后得到的特征是有意义的,下图中显示,特征近邻的图片确实是一类。比在原始图像上寻找近邻的效果好。
----------------------------------------------------
t-SNE降维,用于可视化
下图,将各个图片经卷积网络得到的特征降维后,可以看到,近邻的这些点确实是对应着相似的图片。
------------------------------------------------------------------------------
可视化卷积激活层
下图,conv5层中有一个channel对应着人脸
-----------------------------------------------------------------------------
某个卷积层的某个channel,可以对应回原始输入图像。则可以查看某一层的某个channel在干什么,但是只针对一张图片。
===================================================
通过遮挡,做热力图,来查看分类问题中,图片各个位置的重要性。
---------------------------------------------------------------------------------------------------
反向传播梯度到原始图像,然后查看图像中梯度最大的位置,即为salienct dots
-----------------------------------------------------------------------------------------------
使用saliency maps和GrabCut 可以实现 无监督image segmentation
----------------------------------------------------------------------------
生成对应图像
对某一次conv梯度反向传播(只传播正值梯度),生成输入图像
下图展示了conv对应的和生成的图像,可以看到是一致的
----------------------------------------------------------------------------------------------------------------
随机初始化图片,然后最大化某一类的预测分数,迭代更新输入图像,则能生成某一类的图片
不加正则化则生成的图像无法理解。
可以看到,生成的图像很逼真
========================================================
但是如果我们使用一种图片,让网络将他错分为其他类(迭代更新,使得其他类的预测分数很高),生成的图片却没什么改变。
即,此时和上面一样,区别在于给的图片是真实的,不是随机生成的。