深度学习经典网络解析图像分类篇(三):ZFNet

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:  ZFNet在2013年 ILSVRC 图像分类竞赛获得冠军,错误率11.19% ,比去年的AlexNet降低了5%,ZFNet是由 Matthew D.Zeiler 和 Rob Fergus 在 AlexNet 基础上提出的大型卷积网络。ZFNet解释了为什么卷积神经网络可以在图像分类上表现的如此出色,以及研究了如何优化卷积神经网络。ZFNet提出了一种可视化的技术,通过可视化,我们就可以了解卷积神经网络中间层的功能和分类器的操作,这样就就可以找到较好的模型。ZFNet还进行消融实验来研究模型中的每个组件,它会对模型有什么影响。

1.背景介绍


 ZFNet在2013年 ILSVRC 图像分类竞赛获得冠军,错误率11.19% ,比去年的AlexNet降低了5%,ZFNet是由 Matthew D.Zeiler 和 Rob Fergus 在 AlexNet 基础上提出的大型卷积网络。ZFNet解释了为什么卷积神经网络可以在图像分类上表现的如此出色,以及研究了如何优化卷积神经网络。ZFNet提出了一种可视化的技术,通过可视化,我们就可以了解卷积神经网络中间层的功能和分类器的操作,这样就就可以找到较好的模型。ZFNet还进行消融实验来研究模型中的每个组件,它会对模型有什么影响。


 对应论文《Visualizing and Understanding Convolutional Networks》


91802a20725946bba019fb23d18309fa.png


2. ZFNet网络


2.1 ZFNet网络架构


 ZFNet网络结构和AlexNet保持一致,但是卷积核的大小和步长发生了变化。


 主要改进:


  ➢ 将第一个卷积层的卷积核大小改为了7×7。

  -➢ 将第二、第三个卷积层的卷积步长都设置为2。

  ➢ 增加了第三、第四个卷积层的卷积核个数。



21ed0433220f4864ad7536569fb7f45c.png


0a467c104d514fe0a39faa4420f2c9fc.png


2.2 ZFNet要点


2.1 通过反卷积可视化


 可视化可以理解卷积网络的操作需要解释中间层的特征活动。ZFNet提出了一种新颖的方法来将这些活动映射回输入像素空间,显示最初在特征映射中引起给定激活的输入模式。ZFNet使用反卷积网络(deconvnet)实现此映射。反卷积网络可以被认为是一个使用相同组件(过滤,池化)的逆向的卷积模型,即不是将像素映射到特征,而是将特征映射到像素。,它们不会用于任何学习能力,仅作为对已经训练好的卷积网络的探索。


6dbce3ae39124ee6b35098aba15784cf.png


  如上图所示,为了检查一个卷积网络,网络的每个层都附有一个反卷积网络,提供了一条返回图像像素的连续路径。首先,将输入图像呈现给卷积网络并通过所有层计算特征。为了检查给定卷积网络的激活,我们将图层中的所有其他激活设置为零,并将特征图作为输入传递给附加的反卷积网络层。然后我们依次反池化、纠正和过滤以重建下面的层中的活动,从而产生所选择的激活。 然后重复这一过程,直到达到输入像素空间。


 反池化:池化的逆运算,但可以用一组转换变量switch在每个池化区域中通过记录最大值的位置来获得一个近似逆。在反卷积网中,反池化操作使用这些转换来放置上述最大值的位置,保存激活的位置,其余位置都置0。


 纠正:卷积网中使用非线性的ReLU来修改特征图来确保特征图总是正值。为了获得在每层的有效(也应该是正值)的特征重建,也在反卷积网中利用了ReLU。


 滤波:反卷积网中利用卷积网中的相同的滤波器的转置应用到纠正过的特征图中,而不是上层的输出。也就是对滤波器进行水平方向和垂直方向的翻转。从高层向下投影使用转换变量switch,这个转化变量switch产生自向上的卷积网的最大池化操作。由于重建由一个单独的激活获得,因此也就只对应于原始输入图像的一小块。


 可视化结果:


 下图显示了培训完成后模型的特征可视化。 可以发现通过CNN学习后,学习到的是具有辨别性的特征,比如要我们区分人脸和狗,那么通过CNN学习后,背景部位的激活度基本很少,我们通过可视化就可以看到我们提取到的特征忽视了背景,而是把关键的信息给提取出来了。Layer 1、Layer 2学习到的特征基本上是颜色、边缘等低层特征;Layer 3学习到的是纹理特征,比如上面的一些网格纹理;Layer 4学习到的则是比较有区别性的特征,比如狗;Layer 5学习到的则是具有辨别性关键特征。


dc23e7f8bd474e26b3a2ced4d709204b.png


2.2 CNN的平移和缩放不变性


 不变性意味着即使目标的外观发生了某种变化,但是你依然可以把它识别出来。平移是一种几何变换,表示把一幅图像或一个空间中的每一个点在相同方向移动相同距离。比如对图像分类任务来说,图像中的目标不管被移动到图片的哪个位置,得到的结果(标签)应该是相同的,这就是卷积神经网络中的平移不变性。

为什么CNN具有平移不变性?


 简单地说,卷积+最大池化约等于平移不变性。

 卷积:图像经过平移,相应的特征图上的表达也是平移的。

池化:比如最大池化,它提取感受野中的最大值,如果最大值被移动了,但是仍然在这个感受野中,那么池化层也仍然会输出相同的最大值。


CNN层数越高不变性越强,但是不具有旋转不变性。


 下图按行顺序分别为对5类图像进行不同程度的垂直方向上的平移、尺度变换、旋对输出结果影响的分析图。a1为原始变换图像,a2是原始图片的欧氏距离,a3是经过7层变换后的图片的欧氏距离,a4是变换后图片被正确分类的概率图。


b5325efa93594341b4592752d952d2aa.png


2.3 可视化特征学习的过程


 下图显示了,在网络训练过程中,每一层学习到的特征是怎么变化的,上面每一整张图片是网络的某一层特征图,然后每一列有8个小图片,分别表示网络epochs次数为:1、2、5、10、20、30、40、64的特征图:


86117228e1c443838b18f419d0e61775.png


1.仔细看每一层,在迭代的过程中的变化,出现了sudden jumps;


2.从层与层之间做比较,我们可以看到,低层在训练的过程中基本没啥变化,比较容易收敛,高层的特征学习则变化很大。


3.从高层网络conv5的变化过程,我们可以看到,刚开始几次的迭代epochs,基本变化不是很大,但是到了40~50的迭代epochs的时候,变化很大。


556b5b9beabd4f76bd03e34a6bb16b3d.png


 再上图中(a):经过裁剪的图片经过第一个卷积层后的特征可视化图。一个特征占主导地位。(b):AlexNet在卷积后的第一层特征。(c):ZFNet在卷积后的第一层特征。较小的步长(2 vs 4)和卷积核尺寸(7x7 vs 11x11)导致更多有效特征和更少的无效特征。(d):AlexNet在第二层卷积后特征的可视化。(e):ZFNet第二层卷积后特征的可视化。它们更干净,没有(d)中可见的混叠伪影。


2.4 卷积的工作原理


 CNN到底是如何来学习图像特征的?如果给一张狗的照片,背景是家具,那么卷积是如何确定狗在图像中的位置的?ZFNet进行了消融实验:使用用灰色方块覆盖场景的不同部分

 

4ba6851f9bcc4e3b87bfefa8c29ce70d.png


 上图使用了三个测试示例,a列是原始被遮盖的图像,b列是被灰色小方块掩盖后的网络结构中第五层的特征图,c列是把第五层的特征图(b)反卷积的可视化图像,我们可以看到每幅图像的特征区域。d列为正确分类概率的图,e列是分类的概率。


 更进一步探究在深度模型中如何对同一类物体的不同图像进行一致性分析:


 对五张不同种类的小狗的图片的不同区域(依次遮挡住左眼,右眼,鼻子等)进行掩盖,然后进行分析观察探究深度模型是对一类物体的那部分进行一致性分析的过程:


902bcfa80a3342269f5c62e852f2091d.png


7a6d2aab3c2f4c96882992572ef3f345.png


 在5个不同的狗图像中的不同物体部分的对应性。眼睛和鼻子的得分较低 (与随机物体部分相比),这表明模型隐含地建立了某种形式的对应关系,在模型的第5层,各部分的对应关系。在第7层,这些分数更加相似,也许是由于上层试图区分不同品种的狗。

这表明底层判别的是一类物体共有的部分,而高层判别的是类别中不同的品种这种更高维的部分。


3. ZFNet总结


 ZFNet的结构与AlexNet一致,为什么能够下降五个点?这让我们对神经网络里面的每一个神经元或者卷积在做什么有了更深入的理解。


 ZFNet将第一个卷积层大小改成7×7了,原来是11×11,第一个卷积层大大小改小了以后,最大作用就是能感受更细致的东西,我们知道11×11是大尺度的模板,它检测的一般都是比较粗旷粒度的系列的特征,比较细节的特征一般不太看,所以这个时候呢第一层卷积用大模板去套的时候就丢掉了很多细节信息。所以ZFNet将第一个卷积层大小改成7×7为后面层的更好的特征学习奠定了基础。


 ZFNet增加了第三层和第四层卷积核个数。通过反卷积可视化以后发现,第三层、第四层的卷积核已经有一些语义概念的这种结构元素了,就是他那个描述的元素,就像前面几幅图刚才看到前面那个他们有一定的结构,有意义、有语义信息了。如果这个时候我的卷积核的个数太少了,能记住的语义结构就很少,就是能学习到的语义结构就很少,如果这一层有512个卷积核的话,就能描述512种模式结构。如果这一层只有384个卷积核,那我能描述的结构只有384个,这么多物体只记得384个模板不太够用。所以ZFNet扩张了这一层的卷积核的个数,当然这不是拍脑袋想的,是他发现了这一层第三层和第四层已经开始不再是基元,结果我们认为世界的基元总是很少的,它的组合能组合出任意复杂的东西,所以基元不需要那么多东西,但是到了高层概念以后,他已经有基元组合的概念。已经有很多了,组合起来东西有很多种,结果你仅靠384个是记不住的。


 总体上来说,ZFNet反卷积操作实现对中间层的可视化,ZFNet针对可视化结果对网络结构进行改进

目录
相关文章
|
2月前
|
安全 虚拟化
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力。通过具体案例,展示了方案的制定和实施过程,强调了目标明确、技术先进、计划周密、风险可控和预算合理的重要性。
60 5
|
10天前
|
监控 安全 网络安全
深入解析PDCERF:网络安全应急响应的六阶段方法
PDCERF是网络安全应急响应的六阶段方法,涵盖准备、检测、抑制、根除、恢复和跟进。本文详细解析各阶段目标与操作步骤,并附图例,助读者理解与应用,提升组织应对安全事件的能力。
166 89
|
1月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
237 30
|
1月前
|
网络协议
TCP报文格式全解析:网络小白变高手的必读指南
本文深入解析TCP报文格式,涵盖源端口、目的端口、序号、确认序号、首部长度、标志字段、窗口大小、检验和、紧急指针及选项字段。每个字段的作用和意义详尽说明,帮助理解TCP协议如何确保可靠的数据传输,是互联网通信的基石。通过学习这些内容,读者可以更好地掌握TCP的工作原理及其在网络中的应用。
|
1月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
117 3
|
1月前
|
存储 监控 网络协议
一次读懂网络分层:应用层到物理层全解析
网络模型分为五层结构,从应用层到物理层逐层解析。应用层提供HTTP、SMTP、DNS等常见协议;传输层通过TCP和UDP确保数据可靠或高效传输;网络层利用IP和路由器实现跨网数据包路由;数据链路层通过MAC地址管理局域网设备;物理层负责比特流的物理传输。各层协同工作,使网络通信得以实现。
|
1月前
|
SQL 安全 算法
网络安全之盾:漏洞防御与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为维护个人隐私和企业资产的重要防线。本文将深入探讨网络安全的薄弱环节—漏洞,并分析如何通过加密技术来加固这道防线。文章还将分享提升安全意识的重要性,以预防潜在的网络威胁,确保数据的安全与隐私。
82 2
|
1月前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot编码的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
62 2
|
2月前
|
安全 算法 网络安全
网络安全的盾牌与剑:漏洞防御与加密技术深度解析
在数字信息的海洋中,网络安全是航行者不可或缺的指南针。本文将深入探讨网络安全的两大支柱——漏洞防御和加密技术,揭示它们如何共同构筑起信息时代的安全屏障。从最新的网络攻击手段到防御策略,再到加密技术的奥秘,我们将一起揭开网络安全的神秘面纱,理解其背后的科学原理,并掌握保护个人和企业数据的关键技能。
102 3
|
2月前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
95 5

热门文章

最新文章

推荐镜像

更多