t-SNE(数据降维)可视化技术(给她一个高维数据,根据数据的结构和关系自动进行内聚)
ConvNets逐渐的将不同的图片分类,我们可以将不同的图片嵌入到二维的空间,这样相似的图片就会在一起.有很多嵌入的方法,t-SNE 是很有名的一个。我们可以从ConvNet中抽取cnn codes(例如在AlexNet中是分离器前的4096维向量)代入 t-SNE 得到了二维分布的图片,图片间的距离也可以表现出在ConvNet中认为他们是否相似,下图就是一例,越近的图片在ConvNet的眼里他们长的越像。
相应的还有PCA(主成分分析)降维技术。
一、利用反卷积实现特征可视化
理解卷积神经网络的工作原理,就需要理解CNN在每一层到底学到了什么点东西。为了理解其中的每一层内容,我们可以将提取到的特征,利用反卷积的方式,进行可视化。反卷积网络可以看做是卷积网络的逆过程。
反卷积可视化以各层得到的特征图作为输入,进行反卷积,得到反卷积结果,用以验证显示各层提取到的特征图。举个例子:假如你想要查看Alexnet 的conv5提取到了什么东西,我们就用conv5的特征图后面接一个反卷积网络,然后通过:反池化、反激活、反卷积,这样的一个过程,把本来一张13*13大小的特征图(conv5大小为13*13),放大回去,最后得到一张与原始输入图片一样大小的图片(227*227)。
反卷积网络是一个对称结构的网络。前半部分是池化,卷积过程,后半部分是反卷积,反池化过程。
1.反池化过程
池化是不可逆过程,但是我们在正向池化的过程记录最大激活值的坐标位置(采用Max Pooling)。