Press "Enter" to skip to content

【图像分类】 实战图像分类网络的可视化

欢迎大家来到《图像分类》专栏,今天讲述分类模型可视化问题, 进入网络内部,让我们一探究竟!

 

作者&编辑 | 郭冰洋

 

1 简介

 

一直以来,深度学习被认为缺乏可解释性和基础理论支撑,往往被人们看做一个“黑匣子”。为了展现神经网络的内部特征并构建相应的理解过程,使神经网络更加可靠,相关的网络可视化研究越来越受人们重视。

 

 

现阶段,网络可视化的研究内容基本上围绕经典的分类网络展开,是图像分类的延伸和升华,大体上可以分为层可视化、卷积核可视化、类激活图可视化三种,本篇文章我们就走进神经网络的内部,了解那些千姿百态的可视化知识。

 

2 方法汇总

 

2.1 层可视化

 

众所周知,神经网络由若干卷积层、池化层、非线性激活层等构成,层可视化就是对构成网络的各层结果进行可视化,以观测图像在网络中的传播过程。

 

层可视化的对应操作比较简单,我们只需要获取网络的各层输出结果,也就是将图像由tensor形式转换为numpy对应的矩阵形式即可。

如上图中的蜘蛛,可以输出每层的结果如下:

在层数较低时,网络关注的重点在整幅图片,随着层数的加深,关注的重点则放在了某些轮廓边缘区域,说明网络会随着学习的深入关注更加细节的部分,这一过程也符合人们由整体到局部的认知方式。

 

层可视化可以很好的解释网络学习的大致流程,呈现了网络在图像传播过程中关注区域的变化过程。

 

2.2 卷积核可视化

 

图像分类网络的本质是对卷积核的参数进行学习,不同的卷积核代表对应的类别特征,是分类的核心基准。因此,如何呈现出卷积核的内容,也是评判网络学习能力的方法之一。

 

在进行卷积核可视化时,我们需要对网络中各层学习到的参数进行提取,同样需要由tensor转化为转换为numpy对应的矩阵形式。

 

仍然以蜘蛛的图片为例,可以看到不同层的卷积核可视化如下:

可以看出浅层的卷积核大多学习点、颜色等基础特征;随着层数的增加开始学习到线段、边缘等特征。层数越深,学习到的特征就越具体越抽象。

 

2.3 类激活图可视化

 

层可视化和卷积核可视化所关注的重点在图像的局部特征,需要通过提取每层的参数才可以获得对应的可视化图,并不能反应整幅图像的完整响应。

 

如果能得出整幅图像对其类别的整体响应值,即每个像素在分类所做出的贡献,我们便可以得到特征在网络学习过程中的重要程度占比。

 

在此基础上,类激活图的概念被提出。

 

 

通过对特征图作全局平均值池化可以获得特征图的整体均值,并移除全连接层,以此作为基准进行分类,可以保留特征的空间位置信息,从而反应图像中任意位置特征的重要程度。

 

 

如上图中的花朵图像,通过类激活图我们可以看到网络关注的重点区域,这也是判定网络学习是否准确的一种全新思路。

 

 

总结

 

以上就是关于网络可视化的内容,目前许多关于可视化的研究仍在开展当中, 这有助于我们更深入的了解网络各部分的作用,更有助于对网络模型进行优化,希望大家可以重视这部分内容,深入的去了解整个过程。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注