摘抄-胶囊网络小综述
胶囊网络模型综述
摘要:现代计算机视觉任务要求高效解决图像识别、目标检测、目标分割、自然语言处理和语言翻译等任务。符号表示人工智能由于其硬编码规则无法解决这些复杂的问题,这也导致了深度学习模型的引入,例如卷积神经网络。然而卷积神经网络需要大量的训练数据,无法识别物体的姿态和变形。胶囊网络提供了一个有效的建模实体间局部到全局关系的方法,并可以学习视角不变表示。通过这种提升的表示学习,胶囊网络可以在多个领域下用更少的参数取得好的性能。这篇文章主要介绍了卷积神经网络的局限性,总结了胶囊网络模型的实现和现状。
关键词:胶囊网络;动态路由;神经网络;胶囊网络应用;
Overview of Capsule Network Model
Abstract: Modern computer vision tasks require efficient solutions to tasks such as image recognition, target detection, target segmentation, natural language processing, and language translation. Symbols indicate that artificial intelligence cannot solve these complex problems due to its hard-coded rules, which has also led to the introduction of deep learning models, such as convolutional neural networks. However, convolutional neural networks require a lot of training data and cannot recognize the posture and deformation of objects. Capsule network provides an effective method of modeling local to global relationships between entities, and can learn perspective invariant representation. Through this improved representation learning, the capsule network can achieve good performance with fewer parameters in multiple fields. This article mainly introduces the limitations of convolutional neural networks, and summarizes the implementation and current situation of the capsule network model.
Keyword: capsule network; dynamic routing; neural network; capsule network application;
1、引言
深度学习和人工神经网络已经被证明在计算机视觉和自然语言处理等领域有很优异的表现,不过随着越来越多相关任务的提出,例如图像识别,物体检测,物体分割和语言翻译等,研究者们仍然需要更多有效的方法来解决其计算量和精度的问题。在已有的深度学习方法中,卷积神经网络 (Convolutional Neural Networks) 是应用最为广泛的一种模型。虽然卷积神经网络的提出取得了显著的成果并解决了许多问题,但是它在某些方面还是存在许多缺陷。卷积神经网络最大的缺陷就是它不能从整幅图像和部分图像识别出姿势,纹理和变化。
胶囊网络(CapsNet)在 2017 年由图灵奖得主 Hinton 首次提出[1]。胶囊具有等变性并且输入输出都是向量形式的神经元而不是 CNN 模型中的标量值[2]。胶囊的这种特征表示形式可以允许它识别变化和不同视角。在胶囊网络中,每一个胶囊都由若干神经元组成,而这每个神经元的输出又代表着同一物体的不同属性。这就为识别物体提供了一个巨大的优势,即能通过识别一个物体的部分属性来识别整体。
动态路由规则是胶囊网络取得更好识别效果的主要原因,也是胶囊网络模型的重要思想。目前主要从两个方面来提升胶囊网络的性能[3]:其一,通过提升所提取的胶囊的质量;其二,通过改进路由规则使得网络参数减少。优化路由法则更具一般性,通过数学方法改进动态路由规则,以减少计算开销,尽管可能会降低局部模型性能,但影响较小。
2、卷积神经网络
2.1 卷积神经网络介绍
人工神经网络(Artificial Neural Networks,ANN)是一种模拟生物神经系统的结构和行为,进行分布式并行信息处理的算法数学模型。ANN 通过调整内部神经元与神经元之间的权重关系,从而达到处理信息的目的。而卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它由若干卷积层和池化层组成,尤其在图像处理方面 CNN 的表现十分出色。
1962 年,Hubel 和 Wiesel 通过对猫脑视觉皮层的研究,首次提出了一种新的概念“感受野”,这对后来人工神经网络的发展有重要的启示作用。1998 年,LeCun 提出了卷积神经网络的经典网络模型 LeNet-5,并再次提高手写字符识别的正确率。CNN 的基本结构由输入层、卷积层(convolutional layer)、池化层(pooling layer)、全连接层及输出层构成。由于卷积层中输出特征图的每个神经元与其输入进行局部连接,并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程等同于卷积过程,CNN 也由此而得名。图 1 展示了用于图像分类任务的卷积神经网络结构。
图 1.用于分类任务的 CNN 模型结构
2.2 卷积神经网络的局限性
CNN 模型具有 4 个特点:局部连接、权值共享、池化操作及多层结构。CNN 能够通过多层非线性变换,从数据中自动学习特征,从而代替手工设计的特征,且深层的结构使它具有很强的表达能力和学习能力。
但是 CNNs 也存在一些问题,主要是无法识别图像或部分图像的姿态、纹理和变形。换句话说,由于池化操作 CNN 是不变的,不是等变的,因此缺乏等价性。此外 CNN 中的池化操作也使得图像缺失了一些特征。因此需要大量的训练数据来弥补这一损失。与胶囊网络相比,它们的训练时间更长,部分原因是 CNNs 的深度较深,而胶囊网络是宽度较深,同时参数较少。CNNs 更容易受到对抗攻击,如像素扰动导致的错误分类。由于 CNN 具有最大池化层,所以图像重构比胶囊网络重构要求更高。
3、胶囊网络
Hinton 和他的同事提出了胶囊网络[1]作为 CNNs 的替代品。胶囊是等变的,由神经元网络组成,神经元接受和输出向量,而不是 CNNs 的标量值。胶囊的这个特性允许它了解图像的特征,以及图像的变形和观察条件。在胶囊网络中,每个胶囊由一组神经元组成,每个神经元的输出代表同一特征的不同属性。这提供了通过首先识别其部分来识别整个实体的优点。一个胶囊的输入是来自 CNN 的输出(或特征)。这些特征根据所使用的胶囊类型进行处理。胶囊的输出由被胶囊编码的特征出现的概率和一组通常称为实例化参数的向量值组成。它的表示的是胶囊的特征存在的概率,以确保网络的不变性。实例化参数用来表示网络的等变性,表明其识别姿态、纹理和变形的能力。不变性是模型决定保持不变的属性,与任何输入变换无关。这种称为平移不变性的类型是 CNNs 所特有的。例如,如果 CNN 要检测一张脸,不管眼睛在什么位置,它仍然会检测到它是一张脸。而等变性保证了特征在人脸上的空间位置被考虑在内。因此,等变性不只是考虑眼睛在图像中的存在,而是考虑它在图像中的位置。等变性是 CapsNets 理想的属性。
3.1 Transforming auto-encoders
第一个胶囊网络以《Transforming auto-encoders》为标题发表。它的建立是为了强调网络识别姿态的能力。其目的不是识别图像中的物体,而是接受图像及其姿态作为输入和输出相同姿态的图像。在第一个实现中,胶囊的输出向量由输出值组成,其中一个表示特征存在的概率,其余表示实例化参数。胶囊可以安排在不同的级别:低层 l 为初级胶囊和上层 l + 1 称为二次胶囊。低层胶囊从像素强度提取姿态参数,以便能够发起一个部分-整个层次。这种部分-整体的层次结构是胶囊网络的一个优点,通过对其部分的识别,可以得到对整体的识别。为此,低水平胶囊所代表的功能必须有正确的空间关系才能激活更高级别的胶囊在 l + 1 层。例如,让眼睛和嘴巴用较低水平的胶囊来表示,如果预测一致的话,每一个胶囊都可以预测代表一张脸的较高水平胶囊的姿势。
图 2.自编码胶囊结构
3.2 胶囊之间的动态路由
胶囊网络的下一个修改[6]将胶囊定义为一组神经元,其实例化参数由活动向量表示,向量的长度表示特征存在的可能性。与前一个实现相比的改进是,在本例中不需要将姿态数据作为输入。该网络由卷积层、主包层和类包层组成。主胶囊层是第一个胶囊层,接着是未指定数量的胶囊层,直到最后一个胶囊层也称为类胶囊层。卷积层对图像进行特征提取,输出信号送入主包膜层。在 l 层的每个胶囊 i(1 ≤ i ≤ N)有一个活动的向量 u_i∊ℝ 以实例化参数的形式对空间信息进行编码。第 i 个层的输出向量 u_i 送入所有下一层 l + 1 的胶囊。第 l+1 层的第 j 个胶囊将收到 u_i,并以相应的权值矩阵 W_ij 求积。得到的向量 u_j|i 是第 l 层的胶囊 i 对第 l+1 层胶囊 j 所表示的实体的变换。预测向量 PC,u_j|i 表示主胶囊 i 对胶囊 j 类的贡献。
将预测向量与表示这些胶囊之间一致性的耦合系数相乘,得到单个主胶囊 i 对胶囊类 j 的预测,如果一致性高,则两个胶囊相互相关。这样耦合系数就会增大,反之耦合系数就会减小。计算所有这些对类胶囊 j 预测的单个主胶囊的加权和(sj),以获得压缩函数(vj)的候选值。
压缩函数确保从胶囊输出的长度在 0 和 1 之间,就像一种可能性。从一个包膜层的 vj 被路由到下一个包膜层,并以同样的方式处理。耦合系数 cij 保证了 l 级 i 的预测与 l+1 层 j 的预测相关联。在每次迭代中,cij 通过求 u^jji 和 vj 的点积来更新。图 3 展示了动态路由算法:
图 3.动态路由算法
3.3 期望最大化路由的矩阵胶囊网络
与使用向量输出相反,Hinton 等人提出用矩阵表示胶囊的输入和输出[7]。采用期望最大化算法代替协议动态路由[8]。这是必要的,为了减少胶囊之间的转换矩阵的大小,因为当使用向量时,它们可以由 n 个元素组成,而不是 n。动态路由是两个位姿向量之间的余弦,不能很好地工作。此外,用一个参数 a 代替向量的长度来表示一个被包囊表示的实体存在的概率。这有助于避免被认为“不客观和不合理”的压缩函数。EM 路由算法利用具有多层胶囊的胶囊网络来有效工作。
4、胶囊网络的应用
目前胶囊网络在小样本图像分类任务中已经有较好的应用。例如文献[9]通过改进动态路由和压缩函数的方式对 Hinton 等的胶囊网络模型进行改进搭建目标识别模型,在效率上比未改进的模型有了明显的提高。文献[10]通过限制路由的方法加快胶囊网络的训练速度,并用其通过小样本训练检测肺癌,取得了比卷积神经网络更好的效果。文献[11]利用胶囊网络完成对复杂路网交通拥堵情况的预测任务,同样取得比卷积网络更好的效果。文献[12]提出采用胶囊网络模型对脑瘤进行分类,同样取得了比卷积网络模型更好的效果。该应用采用了无监督的方式,利用 3 个全连接层将胶囊网络的输出重构为脑瘤图片,最小化输入图片与重构图片的差值来实现。
胶囊网络在文本分类任务上也具有一定潜力,文献[13]提出了适用于文本分类的胶囊网络,该网络优化动态路由机制在网络中加入 Orphan 类别用于收集背景信息,同时优化路由参数的训练过程,使网络更适用于文本分类的应用环境。该网络与 PatchCapsNet 的多路并行结构类似,每一路网络使用不同大小的卷积步长以便提取全面的信息特征。该网络在 6 种不同的文本分类数据集上测试,其中 4 种表现优于卷积神经网络和循环神经网络。
5、结论
机器视觉处理非结构化数据仍然是人工智能最重要的任务之一。深度学习的引入消除了终结了导致高维化的具有挑战性的特性工程任务。深度学习模型(如 CNNs)在这一领域表现良好,但它们需要大量的数据和计算能力来执行。胶囊被引入以消除 CNNs 面临的挑战。本文回顾了胶囊网络的发展现状,并对现有的结构和实现作了进一步的介绍。虽然胶囊网络的概念很强大,但还有很多东西需要学习和改进。学术界正利用 CapsNets 的成功和失败来建立更鲁棒的机器视觉算法。
参考文献
[1] Hinton G E , Krizhevsky A , Wang S D . Transforming Auto-Encoders[C]// Artificial Neural Networks & Machine Learning-icann -international Conference on Artificial Neural Networks. Springer, Berlin, Heidelberg, 2012.
[2] Patrick M K , Adekoya A F , Mighty A A , et al. Capsule Networks – A survey[J]. 2019.
[3]杨巨成, 韩书杰, 毛磊,等. 胶囊网络模型综述[J]. 山东大学学报 (工学版), 2019, 49(6).
[4] Hubel D H , Wiesel T N . Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex[J]. The Journal of Physiology, 1962, 160(1).
[5] Lecun Y , Bottou L . Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[6] Sabour S , Frosst N , Hinton G E . Dynamic Routing Between Capsules[J]. 2017.
[7] G. Hinton, S. Sabour, N. Frosst.Matrix capsules with em routing.ICLR (2018), pp. 1-15
[8]M. Engelin.CapsNet Comprehension of Objects in Different Rotational Views A comparative study between capsule and convolutional networks.STOCKHOLM, SWEDEN (2018)
[9] 林少丹, 洪朝群, 陈雨雪. 结合胶囊网络和卷积神经网络的目标识别模型[J]. 电讯技术, 2019, 059(009):987-994.
[10] Mobiny A , Van Nguyen H . Fast CapsNet for Lung Cancer Screening[J]. 2018.
[11] Kim Y , Wang P , Zhu Y , et al. A Capsule Network for Traffic Speed Prediction in Complex Road Networks[J]. 2018.
[12] Afshar P , Mohammadi A , Plataniotis K N . Brain Tumor Type Classification via Capsule Networks[J]. 2018.
[13] Zhao W , Ye J , Yang M , et al. Investigating Capsule Networks with Dynamic Routing for Text Classification[J]. 2018.
[14] Sabour S , Frosst N , Hinton G E . Dynamic Routing Between Capsules[J]. 2017.
本文作者 : HeoLis
原文链接 : https://ishero.net/%E6%91%98%E6%8A%84-%E8%83%B6%E5%9B%8A%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%BB%BC%E8%BF%B0.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
学习、记录、分享、获得