本文主要是介绍DeepCaps: Going Deeper with Capsule Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
胶囊网络在深度学习中是一个很有前途的概念,但到目前为止,其真正的潜力尚未得到充分发挥,它在几个关键基准数据集上均提供了低于标准的性能复杂的数据。 从成功中汲取直觉通过卷积神经网络(CNN)的深入研究,我们介绍了DeepCaps1,是一种基于新型3D卷积的深层胶囊网络架构动态路由算法。 有了DeepCaps,我们超越了胶囊网络领域的最新成果在CIFAR10,SVHN和Fashion MNIST上参数数量减少了68%。 进一步,我们提出了一个与类无关的解码器网络加强使用重建损失作为正则化术语。 这导致了解码器的有趣特性,它使我们能够识别和控制物理实例化参数表示的图像的属性
1. Introduction
在过去的几年中,卷积神经网络(CNN)在许多计算机视觉领域都取得了突破任务,并且明显胜过许多常规任务精选功能驱动模型。 增加CNN性能的两个常见主题是增加深度和网络的宽度(例如,层数网络的数量以及每个级别的单元数),以及使用尽可能多的训练数据。 尽管CNN已经取得了成功,但没有什么限制,例如由合并引起的不变性以及无法理解要素之间的空间关系。 为了解决这些局限性,Sabour等。 拟议的胶囊网络[19]显示出与CNN相当可比的结果在几个标准数据集中。 凭直觉,尝试去深入了解胶囊网络是朝着正确方向迈出的一步进一步提高他们的表现。
胶囊网络(CapsNet)模型由Sabour等。 [19]仅包含一个卷积层一层完全连接的胶囊层。 所提出的体系结构可与MNIST [16]数据集很好地协同工作,但是在具有更复杂对象的数据集上的性能例如CIFAR10 [14]与CNN不符,原因是与之相比,CIFAR10中复杂形状的性质MNIST
通过简单的方式来创建深层CapsNet的天真的尝试堆叠这些完全连接的胶囊层将导致与MLP模型相似的架构,其中有几个限制。 首先,胶囊网络中使用的动态路由这是一个极其昂贵的过程,并且具有多个路由层会导致更高的培训成本和推理时间。 第二,最近表明将完全连接的胶囊层堆叠在一起会导致中间层学习不佳[24]。 这个是因为当胶囊太多时因此,耦合系数往往太小抑制梯度流并抑制学习。 第三,已经显示,特别是在较低的层中,相关单元倾向于集中在局部区域[21]。 尽管本地化路由可以明显利用
基于这一观察,这种局部路由不能在完全连接的胶囊中实现。
为了解决由堆叠引起的这些限制胶囊层,我们提出以下解决方案。 减少由多重引入的计算复杂性层需要动态路由,可能有几种途径:减少初始的路由迭代次数较大的图层可降低复杂度,而不影响功能,因为它们不需要复杂性质。 此外,使用3D卷积启发式路由在中间层–由于参数共享–减少了参数的数量。 我们可以解决由于天真的堆叠,中间层的学习效果很差改善涉及跳过连接的梯度流加上卷积。 此外,在降低复杂性的同时,深层胶囊网络必须能够处理比MNIST更丰富的数据集。 我们建议本地化路由将能够捕获更高级别的信息比完全连接的路由更好
Sabour等。 [19]通过合并重建误差(这是由解码器网络)以减少过度拟合。尽管如此,比[19]更强的正则化对于减少在开发更深层的网络时,由于模型复杂性随模型深度的内在增加而过度拟合。因此,为了增强正则化,我们提出了一种与类无关的解码器。我们观察到了该解码器的有趣特性,它提供了可控性遍历实例化参数的学习和扰动。在现有的胶囊网络和解码器中,它不是可以保证所代表的物理性能给定的实例化参数在所有类。在建议的解码器中,可以确保对于所有类中的任何给定实例化参数,表示的属性都将相同,从而提供更高的可控性,这在实际操作中具有极大的优势应用和理论研究。
为此,在本文中,我们提出了DeepCaps:利用两个关键思想的胶囊网络架构:动态路由和深入网络。该我们提出的新型动态路由算法实现了参数减少和局部路由,使得在卷积框架中实现路由成为可能,而不是借助完全连接的胶囊,而跳过连接让我们可以训练更深入的网络。 更具体地说,我们
在本文中做出以下贡献:
•为胶囊网络提出一种新颖的深度架构,称为DeepCaps,旨在改善网络环境。胶囊网络对于更复杂的图像数据集的性能。 此外,我们提出了一种新颖的基于3D卷积的动态路由算法,以帮助DeepCaps的学习过程。
•提出一种新颖的与类无关的解码器网络,这是一个更好的正则化术语。 我们进一步对这种新型解码器的观察进行调查具有提供实例化参数可控性的能力。
•在多个方面评估DeepCap的性能基准数据集:我们明显优于现有的最先进的胶囊网络架构,同时要求的参数数量大大减少。 例如,对于CIFAR10数据集,DeepCaps的精度提高了3%。与[19]相比, 参数数量。
我们的工作探索了创造更深层次的可能性网络由多个胶囊层组成。 我们相信,据我们所知,这是第一次尝试进一步了解胶囊网络。 此外,胶囊网络的实例化参数显示出一种新颖的通过在矢量中编码诸如旋转和偏斜之类的物理变化来表示图像的一种方式。 一个小的实例化参数中的扰动将改变重建图像中相应的物理变化。 还有哪个参数会引起什么样的变化尚未研究重建图像。
本文的其余部分安排如下:在第2部分中,我们讨论了有关胶囊网络的相关工作,第3节介绍了我们的DeepCaps架构和
新颖的3D路由算法,第4节概述了类无关的解码器网络。 第5节显示了我们的结果。最后,第6节总结了论文。
2.相关工作
深度网络所面临的主要问题之一是梯度的消失/爆炸。 当错误信号通过多层时,它可能消失并且在到达网络的起点时将其洗净[2],[4],这会阻碍收敛。 这个问题是在许多建议的模型中得到解决,其中ResNets[5]和公路网[20]绕过一个信号通过身份连接到下一层。 随机深度[10]通过在训练过程中随机放置各层来缩短ResNets,以提供更好的信息和梯度流。DenseNets [9]通过连接所有层(通过匹配要素地图大小)。 至保留前馈性质,每一层都从所有先前的层中获取其他输入,并自行传递将特征映射到所有后续图层。 他们造成空头从早期层到后期层的路径
在Hinton中提出了将神经元分组的想法等。 [7]。作为对此的扩展,Sabour等人。 [19]提出了一种胶囊之间的动态路由算法,利用胶囊之间协议路由的概念。动态路由有助于网络实现差异化,CNN只能通过合并来实现不变性操作。除了动态路由,Hinton等人。 [8]用于通过姿势矩阵表示每个实体的矩阵胶囊的EM路由。有很多扩展这些:HitNet [3]使用混合命中和未命中层来存储数据
扩充。 Dilin等。文献[23]解决了动态路由优化问题,并通过引入耦合之间的KL散度实现了更好的性能。分配。 CapsGan [11]使用胶囊网络作为GAN管道中的判别器,以获得比卷积GAN更好的视觉效果。与这些相反,我们的工作重点是深入研究胶囊网络并提高其在更复杂的数据集上的性能。
SegCaps [15]使用胶囊进行图像分割和他们在LUNA16数据集上获得了最新的结果。根据路由,这是与我们最接近的工作。他们使用2D卷积进行投票程序。 通过使用2D卷积,沿深度将所有胶囊取为转换的输入,从而混合了包含在胶囊中的信息。 在基于3D卷积的基础上路由,我们将沿深度的步幅设计为胶囊尺寸,因此,每个胶囊沿深度维度将单独投票。
我们的工作探索了创造更深层次的可能性网络由多个胶囊层组成。 我们相信,据我们所知,这是第一次尝试进一步了解胶囊网络。 此外,胶囊网络的实例化参数显示出一种新颖的通过在矢量中编码诸如旋转和偏斜之类的物理变化来表示图像的一种方式。 一个小的实例化参数中的扰动将改变重建图像中相应的物理变化。 还有哪个参数会引起什么样的变化尚未研究重建图像。
3. DeepCaps
动态路由的主要缺点之一是目前的形式[19]是,它只能以完全连接的方式(例如,不能以卷积方式)。 在[19]中,原发性囊膜后层,胶囊向量被展平并动态路由到分类胶囊。 因此,如果有必要通过[19]中的动态路由算法深入研究架构,我们需要保持堆栈完全连接胶囊层,相当于在MLP模型中堆叠完全连接的层。 这不是计算上的高效,因为网络开始时的功能空间很大。 因此,为了堆叠卷积胶囊层类似于传统的CNN,一种新颖的动态路由算法是必需的。
这篇关于DeepCaps: Going Deeper with Capsule Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!