CN107392085B - 可视化卷积神经网络的方法 - Google Patents
可视化卷积神经网络的方法 Download PDFInfo
- Publication number
- CN107392085B CN107392085B CN201710381902.8A CN201710381902A CN107392085B CN 107392085 B CN107392085 B CN 107392085B CN 201710381902 A CN201710381902 A CN 201710381902A CN 107392085 B CN107392085 B CN 107392085B
- Authority
- CN
- China
- Prior art keywords
- neural network
- convolutional neural
- response
- layer
- visualizing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明的可视化卷积神经网络的方法包括:1)准备数据集;2)自定义卷积神经网络输入层,并设置卷积神经网络特征抽取函数参数,生成卷积神经网络特征抽取程序;3)执行卷积神经网络特征抽取程序,抽取数据集中所有图片指定层所有神经元的响应特征,并保存;4)计算指定层神经元响应域参数;5)指定层单神经元最大响应可视化和更大响应特征可视化。本发明的可视化卷积神经网络的方法可很好地展示出神经元工作特点,有助于了解卷积神经网络如何实现其优越性。
Description
技术领域
本发明涉及图像处理技术,具体涉及一种可视化卷积神经网络的方法。
背景技术
自1989年卷积网络(convnets)第一次被LeCun.Y等在《Backpropagation appliedto handwritten zip code recognition》(Neural Comput.1989)中介绍以来,卷积网络在图像处理领域取得了不错的成果。2012年的ILSVRC(ImageNet Large Scale VisualRecognition Challenge)比赛上,Alex Krizhevsky等人设计的拥有5个卷积层和3个全连通层的8层卷积神经网络(Convolutional Neural Network)取得了16.4%的top-5errorrate,几乎是第二名26.1%top-5错误率的一半。整个图像处理研究领域也开始从做凸优化大量向研究神经网络迁移。现在,卷积神经网络已经成为众多科学领域的研究热点之一,特别是在模式分类(Pattern Recognition)领域,由于卷积神经网络避免了对图像复杂的前期预处理,而改为简单地将原始图像直接输入模型,直接得到想要的结果,因此得到非常广泛的应用。
一般来说,卷积神经网络主要用于识别位移、缩放及其他形式扭曲不变性的二维图像。由于卷积神经网络的卷积层通过训练数据进行学习,所以在使用卷积神经网络时,避免了传统图像识别方法中的显式的特征抽取,而隐式地从训练数据直接出发进行识别。此外,由于GPU(图形处理器)的快速发展,使得计算机的并行运算能力极大地提高,而卷积神经网络以其局部权值共享的特殊结构从而能借助GPU进行大规模的并行运算,使其在语音识别,图像处理等方面有独特的优越性。相比早期的神经元彼此相连的神经网络,卷积神经网络布局更接近于生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络计算这一特点避免了特征提取和分类过程中数据重建的复杂度。
现有技术中,研究对于所训练的卷积神经网络的展示一般只局限于部分的卷积参数(卷积核Kernel)的显示及最终识别结果的展示。而单纯参数的显示并不能很好的看出卷积层到底对怎么样的图像输入会产生更大的响应。
发明内容
本发明的目的在于提供一种可视化卷积神经网络的方法,可很好地展示出神经元工作特点,有助于了解卷积神经网络如何实现其优越性。
为了达到上述的目的,本发明提供一种可视化卷积神经网络的方法,包括:1)准备数据集;2)自定义卷积神经网络输入层,并设置卷积神经网络特征抽取函数参数,生成卷积神经网络特征抽取程序;3)执行卷积神经网络特征抽取程序,抽取数据集中所有图片指定层所有神经元的响应特征,并保存;4)计算指定层神经元响应域参数;5)指定层单神经元最大响应可视化和更大响应特征可视化。
上述可视化卷积神经网络的方法,其中,所述步骤2)中通过自定义参数生成卷积神经网络的输入层,所述参数包括图片大小、剪切大小、均值文件、图像文件列表和图像位置。
上述可视化卷积神经网络的方法,其中,所述步骤2)中,根据图像文件列表计算网络迭代次数写入shell文件作为特征抽取函数的参数,生成卷积神经网络特征抽取程序,同时指定需要抽取的层。
上述可视化卷积神经网络的方法,其中,网络迭代次数为:Iteration=Ceil[NumOtlmagers÷batchSize],其中,batchSize为GPU的并行程度。
上述可视化卷积神经网络的方法,其中,所述步骤3)中,调用GPU执行卷积神经网络特征抽取程序。
上述可视化卷积神经网络的方法,其中,所述神经元响应域参数包括响应域的大小、初始位置和步长。
上述可视化卷积神经网络的方法,其中,所述步骤4)中,对于相邻的两层特征,若中间操作为卷积操作,则下一层的神经元对应上一层的响应域的大小receptiveSize、初始位置position、步长step由对应卷积操作的卷积核的大小kernelSize、边界pad及步长stride计算得到:
receptiveSize=kernelSize
position=position0×stride-pad
step=stride
对于更深层次的响应域的计算通过如下迭代式得到:
receptiveSizek=stridek×(receptiveSizek+1-1)+kernelSizek
positionk=positionk+1×stridek-padk
stepk=stepk+1×stridek
k表示迭代数。
上述可视化卷积神经网络的方法,其中,所述步骤5)中,对所有图片在单个神经元上的响应进行堆排序,获取最高响应的N张图片显示,并将前M最高响应的响应域的均值作为该神经元的更大响应特征,N、M均为非零正整数。
上述可视化卷积神经网络的方法,其中,所述步骤5)中,N=4,M=100。
与现有技术相比,本发明的技术效果是:
本发明的可视化卷积神经网络的方法着眼于每一层的任何位置的神经元的响应特征的可视化,针对每个神经元的响应域来认识该神经元对整个卷积神经网络产生的作用,从而更好地理解卷积神经网络的工作方式,从而可以为相关使用卷积神经网络的研究工作提供帮助。
附图说明
本发明的可视化卷积神经网络的方法由以下的实施例及附图给出。
图1是本发明的可视化卷积神经网络的方法的流程图。
图2是AlexNet卷积神经网络的网络结构图。
图3是AlexNet第二层卷积层部分神经元更大响应特征可视化(pool 2)。
图4是AlexNet第五层卷积层部分神经元更大响应特征可视化(pool 5)。
图5是AlexNet第七层全连通层部分神经元最大响应图像及更大响应特征可视化(fc7),其中,(a)相同物体,(b)相同形状,(c)相同颜色,(d)特征组合。
图6是PlacesCNN第二层卷积层部分神经元更大响应特征可视化(pool 2)。
图7是PlacesCNN第五层卷积层部分神经元更大响应特征可视化(pool 5)。
图8是PlacesCNN第七层全连通层部分神经元最大响应图像及更大响应特征可视化(fc7),(a)相同物体,(b)相同形状,(c)相同颜色。
图9是AlexNet卷积层参数可视化(conv1)。
图10是AlexNet与PlacesCNN第七层全连通层更大响应特征对比图。
具体实施方式
以下将结合图1~图10对本发明的可视化卷积神经网络的方法作进一步的详细描述。
图1所示为本发明的可视化卷积神经网络的方法的流程图。如图1所示,本发明的可视化卷积神经网络的方法包括:
1)准备数据集;
2)自定义卷积神经网络输入层,并设置卷积神经网络特征抽取函数参数,生成卷积神经网络特征抽取程序;
3)执行卷积神经网络特征抽取程序,抽取数据集中所有图片指定层所有神经元的响应特征,并保存;
4)计算指定层神经元响应域参数;
神经元响应域的大小、初始位置、步长可以通过卷积神经网络各层参数迭代计算得到;
5)指定层单神经元最大响应可视化和更大响应特征可视化。
本发明的可视化卷积神经网络的方法着眼于每一层的任何位置的神经元的响应特征的可视化,针对每个神经元的响应域来认识该神经元对整个卷积神经网络产生的作用,从而更好地理解卷积神经网络的工作方式,从而可以为相关使用卷积神经网络的研究工作提供帮助。而现有技术中,对卷积神经网络的可视化都是从卷积核参数出发,或者是对全局的结果做展示,不能很好的看出卷积层到底对怎么样的图像输入会产生更大的响应。
现以一较佳实施例详细说明本发明的可视化卷积神经网络的方法。
本实施例采用的卷积神经网络是现有技术中已训练的卷积神经网络,为验证本发明的技术效果,本实施例对两个结构完全相同、但不同训练集训练的卷积神经网络——AlexNet卷积神经网络和PlacesCNN卷积神经网络,实施本发明的可视化卷积神经网络的方法。
先运用本发明的可视化卷积神经网络的方法可视化AlexNet卷积神经网络:
1)准备数据集;
本实施例选择ILSVRC2012数据集的test数据集,共100,000张图片,以及SUN397数据集108,000多张图片,由于SUN397数据集没有提供文件列表,并且存在无法显示的坏图片,所以本实施例为SUN397数据集提供了文件列表生成程序,并且加入了坏图片检测,以避免在运行卷积神经网络的时候发生错误;
2)自定义卷积神经网络输入层,并设置卷积神经网络特征抽取函数参数,生成卷积神经网络特征抽取程序;
图2所示为AlexNet卷积神经网络的网络结构图,AlexNet卷积神经网络各层参数如表1所示:
表1 AlexNet卷积神经网络参数表
本实施例还需要AlexNet卷积神经网络训练时使用到的均值文件;官方提供的AlexNet卷积神经网络的deploy.prototxt结构文件没有给出输入层,本实施例自定义参数生成AlexNet卷积神经网络的输入层,输入层生成程序参见vis\code\caffe_common\visCNN\extract*.py
这里设置resize大小为256×256,裁切大小227,不做镜像翻转,并指定均值文件、图像文件列表和图像位置;
AlexNet卷积神经网络的Caffe提供了特征抽取函数extract_features.bin,本实施例根据图像文件列表计算网络迭代次数写入shell文件作为特征抽取函数extract_features.bin的参数,生成卷积神经网络特征抽取程序,同时指定需要抽取的层,这里选择pool 2、pool 5及fc7,分别在整个卷积神经网络的前端,中间和后端;
3)执行卷积神经网络特征抽取程序,抽取数据集中所有图片指定层所有神经元的响应特征,并保存;
本实施例调用GPU执行卷积神经网络特征抽取程序,并行地抽取100,000张图片指定层所有神经元的响应特征,并将抽取结果储存到LMDB中;
网络迭代次数为:Iteration=Ceil[NumOfImagers÷batchSize],其中,batchSize为GPU的并行程度,batchSize越大,并行度越高,程序执行速度越快,可以根据GPU的内存大小来设置;
4)计算指定层神经元响应域(RF)参数;
本实施例中有三层指定层,分别为pool 2、pool 5及fc7,分别计算各层神经元响应域;
对于相邻的两层特征,若中间操作为卷积操作,则下一层的神经元对应上一层的响应域的大小(receptiveSize)、初始位置(position)、步长(step)可由对应卷积操作的卷积核的大小(kernelSize)、边界(pad)及步长(stride)计算得到:
receptiveSize=kernelSize
position=position0×stride-pad
step=stride
对于更深层次的响应域的计算可以通过如下迭代式得到:
receptiveSizek=stridek×(receptiveSizek+1-1)+kernelSizek
positionk=positionk+1×stridek-padk
stepk=stepk+1×stridek
k表示迭代数;
5)指定层单神经元最大响应可视化和更大响应特征可视化;
在确定了每一层的响应域的位置和区域之后,就可以通过对全部100,000张图片在单个神经元上的响应进行排序(这里数据量较大故采用堆排序提高速度),获取最高响应的4张图片显示,并将前100最高响应的响应域的均值作为该神经元的更大响应特征。图3所示为AlexNet第二层卷积层部分神经元更大响应特征可视化(pool 2),图4所示为AlexNet第五层卷积层部分神经元更大响应特征可视化(pool 5),图5所示为AlexNet第七层全连通层部分神经元最大响应图像及更大响应特征可视化(fc7)。
PlacesCNN卷积神经网络的网络结构与AlexNet卷积神经网络的网络结构完全相同,但AlexNet卷积神经网络使用ImageNet数据集训练,针对的是物体的分类,而PlacesCNN卷积神经网络使用Places数据集训练,针对的是场景的分类。
采用相同的测试数据集(ILSVRC2012数据集的test数据集以及SUN397数据集),运用本发明的可视化卷积神经网络的方法可视化PlacesCNN卷积神经网络,图6所示为PlacesCNN第二层卷积层部分神经元更大响应特征可视化(pool2),图7所示为PlacesCNN第五层卷积层部分神经元更大响应特征可视化(pool5),图8所示为PlacesCNN第七层全连通层部分神经元最大响应图像及更大响应特征可视化(fc7)。
为直观了解本发明的优点,本实施例还对AlexNet卷积神经网络进行卷积层参数可视化(现有技术),调用AlexNet卷积神经网络的python的caffe类,读取训练完的caffemodel参数文件,获取指定层(这里选取第一层卷积层conv1为例)参数(卷积核),并将96个11×11×3大小的矩阵参数展示到10×10的网格中。图9所示为AlexNet卷积层参数可视化(conv1)。
如图9所示,现有技术的卷积层参数可视化不能很好地看出神经元是如何工作的,无法帮助了解卷积神经网络如何实现其优越性。
参见图3至图5,从单个神经元的可视化结果可以看到:
首先,对于同一网络的不同深度的网络层的更大响应特征,可以观察到较浅层次的网络层上的神经元产生响应的图像特征更多的体现了一些颜色及纹理特征,而随着层次的加深,到第五层卷积层(pool 5)再到倒数第二层全连通层(fc7),均值化的更大响应特征越来越趋于对实际物体的响应,体现在图像上表现为均值化的图像中的特征形状更多地集中在中部,与AlexNet训练时采用的数据集特征是一致的。
其次,观察附图5中的最大响应图像,发现深层次的网络层上的神经元的特征包含了各种较浅层次特征的综合,包括(a)相同物体、(b)相同形状(纹理)、(c)相同颜色等特征及其组合。直观地体现了最终卷积神经网络实现对物体的准确分类的能力来自于各种形态的特征的组合,之后可以用传统的对最后一层全连通层的参数的观察来确定每个分类所依据的特征及其权重。
参见图6至图8,同样可以看到,随着网络层次的加深,更深层次的神经元的更大响应特征越来越趋于对实际场景的对应,体现在图像上表现为均值化的图像中的特征形状更多地显示为横向和纵向的色块区分,与PlacesCNN训练时采用的场景图像数据集特征是一致的。
图10所示为AlexNet与PlacesCNN第七层全连通层更大响应特征对比图,这里可以更加明显的看到,用来分类物体的AlexNet在fc7层上的响应更多是在图像中心的物体,多次叠加而形成了中心的球形,而用来分类场景的PlacesCNN的fc7层上的响应跟多是水平的类似地平线的特征以及类似建筑物的长方形物体。需要注意的一点是:两个网络的可视化使用了完全相同的测试数据集,而得到的结果也大相径庭体现了两个网络功能的区别。
Claims (5)
1.可视化卷积神经网络的方法,其特征在于,包括:
1)准备数据集;
2)自定义卷积神经网络输入层,并设置卷积神经网络特征抽取函数参数,生成卷积神经网络特征抽取程序;所述步骤2)中通过自定义参数生成卷积神经网络的输入层,所述参数包括图片大小、剪切大小、均值文件、图像文件列表和图像位置;所述步骤2)中,根据图像文件列表计算网络迭代次数写入shell文件作为特征抽取函数的参数,生成卷积神经网络特征抽取程序,同时指定需要抽取的层;
3)执行卷积神经网络特征抽取程序,抽取数据集中所有图片指定层所有神经元的响应特征,并保存;
4)计算指定层神经元响应域参数;
5)指定层单神经元最大响应可视化和更大响应特征可视化;
所述神经元响应域参数包括响应域的大小、初始位置和步长;所述步骤4)中,对于相邻的两层特征,若中间操作为卷积操作,则下一层的神经元对应上一层的响应域的大小receptiveSize、初始位置position、步长step由对应卷积操作的卷积核的大小kernelSize、边界pad及步长stride计算得到:
receptiveSize=kernelSize
position=position0×stride-pad
step=stride
对于更深层次的响应域的计算通过如下迭代式得到:
receptiveSizek=stridek×(receptiveSizek+1-1)+kernelSizek
positionk=positionk+1×stridek-padk
stepk=stepk+1×stridek
k表示迭代数。
2.如权利要求1所述的可视化卷积神经网络的方法,其特征在于,网络迭代次数为:Iteration=Ceil[NumOfImagers÷batchSize],其中,batchSize为GPU的并行程度。
3.如权利要求2所述的可视化卷积神经网络的方法,其特征在于,所述步骤3)中,调用GPU执行卷积神经网络特征抽取程序。
4.如权利要求1所述的可视化卷积神经网络的方法,其特征在于,所述步骤5)中,对所有图片在单个神经元上的响应进行堆排序,获取最高响应的N张图片显示,并将前M最高响应的响应域的均值作为该神经元的更大响应特征,N、M均为非零正整数。
5.如权利要求4所述的可视化卷积神经网络的方法,其特征在于,所述步骤5)中,N=4,M=100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710381902.8A CN107392085B (zh) | 2017-05-26 | 2017-05-26 | 可视化卷积神经网络的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710381902.8A CN107392085B (zh) | 2017-05-26 | 2017-05-26 | 可视化卷积神经网络的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107392085A CN107392085A (zh) | 2017-11-24 |
CN107392085B true CN107392085B (zh) | 2021-07-02 |
Family
ID=60338369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710381902.8A Active CN107392085B (zh) | 2017-05-26 | 2017-05-26 | 可视化卷积神经网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107392085B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537328A (zh) * | 2018-04-13 | 2018-09-14 | 众安信息技术服务有限公司 | 用于可视化构建神经网络的方法 |
CN109858506B (zh) * | 2018-05-28 | 2022-11-18 | 哈尔滨工程大学 | 一种面向卷积神经网络分类结果的可视化算法 |
CN109344957A (zh) * | 2018-08-01 | 2019-02-15 | 浙江工业大学 | 基于差异比较的卷积神经网络可视分析方法 |
CN109859204B (zh) * | 2019-02-22 | 2020-12-11 | 厦门美图之家科技有限公司 | 卷积神经网络模型检验方法及装置 |
CN110222877B (zh) * | 2019-05-17 | 2021-08-03 | 华中科技大学 | 一种基于自定义神经网络的负荷预测系统及负荷预测方法 |
CN110852394B (zh) * | 2019-11-13 | 2022-03-25 | 联想(北京)有限公司 | 数据处理方法及装置、计算机系统以及可读存储介质 |
CN111415221B (zh) * | 2020-03-19 | 2023-04-07 | 重庆邮电大学 | 基于可解释性卷积神经网络的服装推荐方法、装置及终端 |
CN112101522B (zh) * | 2020-08-20 | 2023-04-18 | 四川大学 | 基于可视化的交互式机器学习方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930934A (zh) * | 2016-04-27 | 2016-09-07 | 北京物思创想科技有限公司 | 展示预测模型的方法、装置及调整预测模型的方法、装置 |
CN106682730A (zh) * | 2017-01-10 | 2017-05-17 | 西安电子科技大学 | 基于vgg16图像反卷积的网络性能评估方法 |
-
2017
- 2017-05-26 CN CN201710381902.8A patent/CN107392085B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930934A (zh) * | 2016-04-27 | 2016-09-07 | 北京物思创想科技有限公司 | 展示预测模型的方法、装置及调整预测模型的方法、装置 |
CN106682730A (zh) * | 2017-01-10 | 2017-05-17 | 西安电子科技大学 | 基于vgg16图像反卷积的网络性能评估方法 |
Non-Patent Citations (5)
Title |
---|
Multifaceted Feature Visualization: Uncovering the Different Types of Features Learned By Each Neuron in Deep Neural Networks;Anh Nguyen et al;《arXiv》;20160507;全文 * |
Object Detectors Emerge in Deep Scene CNNs;Bolei Zhou et al;《arXiv:1402.6856v2 [cs.CV]》;20150415;第4页至第6页 * |
Understanding Neural Networks Through Deep Visualization;Jason Yosinski et al;《arXiv》;20150612;全文 * |
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks;Wenjie Luo et al;《arXiv》;20170115;全文 * |
Visualizing Deep Convolutional Neural Networks Using Natural Pre-images;Mahendran, A et al;《INTERNATIONAL JOURNAL OF COMPUTER VISION》;20161231;第120卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107392085A (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392085B (zh) | 可视化卷积神经网络的方法 | |
Zhao et al. | Pyramid feature attention network for saliency detection | |
Xiang et al. | Generating 3d adversarial point clouds | |
Wang et al. | Detect globally, refine locally: A novel approach to saliency detection | |
Yu et al. | Pu-net: Point cloud upsampling network | |
US10872446B2 (en) | Systems and methods for high dimensional 3D data visualization | |
Guo et al. | Image retargeting using mesh parametrization | |
Cho et al. | Weakly-and self-supervised learning for content-aware deep image retargeting | |
Qin et al. | Saliency detection via cellular automata | |
WO2020119527A1 (zh) | 人体动作识别方法、装置、终端设备及存储介质 | |
Li et al. | A comparison of methods for sketch-based 3D shape retrieval | |
US9449253B2 (en) | Learning painting styles for painterly rendering | |
CN108304357B (zh) | 一种基于字体流形的中文字库自动生成方法 | |
Tasse et al. | Cluster-based point set saliency | |
CN107844795A (zh) | 基于主成分分析的卷积神经网络特征提取方法 | |
Li et al. | LPSNet: a novel log path signature feature based hand gesture recognition framework | |
CN111967533B (zh) | 一种基于场景识别的草图图像翻译方法 | |
Dong et al. | Image retargeting by texture-aware synthesis | |
JP7294788B2 (ja) | 3d配置のタイプに応じた2d画像の分類 | |
US9013485B2 (en) | Systems and methods for synthesizing high fidelity stroke data for lower dimension input strokes | |
Jia et al. | Mesh resizing based on hierarchical saliency detection | |
CN110163095B (zh) | 回环检测方法、回环检测装置及终端设备 | |
Ren et al. | Example-based image synthesis via randomized patch-matching | |
CN110955809A (zh) | 一种支持拓扑结构保持的高维数据可视化方法 | |
Liu et al. | Photographic image synthesis with improved U-net |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |