胶囊网络(Capsule Networks)是深度学习三巨头之一的Geoffrey Hinton提出的一种全新的神经网络。胶囊网络基于一种新的结构——胶囊(Capsule),通过与现有的卷积神经网络(CNN)相结合,从而在一些图像分类的数据上取得了非常优越的性能。
何谓胶囊?简单来说,胶囊就是将原有大家熟知的神经网络中的个体神经元替换成了一组神经元组成的向量,这些神经元被包裹在一起,组成了一个胶囊。因此,胶囊网络中的每层神经网络都包含了多个胶囊基本单元,这些胶囊与上层网络中的胶囊进行交互传递。
要理解胶囊网络,我们首先需要抛开对CNN架构的固有印象,因为Geoffrey Hinton实际上认为在CNN中应用pooling是一个很大的错误,它工作得很好的事实是一场灾难。在最大池化过程中,很多重要的信息都损失了,因为只有最活跃的神经元会被选择传递到下一层,而这也是层之间有价值的空间信息丢失的原因。当我们看到下图时,这看起来并不是一张十分正确的人脸图,虽然图中包含了人脸的每一个组成部分。人类可以很容易分辨出这不是一张正确的人脸,但是CNNs却很难判断这不是一张真实的人脸,因为它仅仅看图像中的这些特征,而没有注意这些特征的姿态信息。当我们通过计算机图形渲染来构建对象时,我们需要指定并提供一些几何信息,比如告诉计算机在何处绘制对象,该对象的比例,角度以及其他空间信息。而这些信息全部表示出来,是屏幕上的一个对象。但是,如果我们只是通过观察照片中的物体来提取信息呢?这就是胶囊网络(Capsule Network)的核心思想——逆渲染(inverse rendering)。
在一个胶囊内,一般会进行如下的标量操作:
1、输入向量与权重矩阵的矩阵乘法。这编码了图像中低级特征和高级特征之间非常重要的空间关系。
2、加权输入向量。这些权重决定当前胶囊将其输出发送到哪个更高级的胶囊。这是通过动态路由(dynamic routing)的过程完成的。
3、对加权后的向量求和,这与一般的cnn没什么差别。
4、非线性化使用squash函数。该函数将向量进行压缩使得它的最大长度为1,最小长度为0,同时保持其方向不变。
胶囊之间则由动态路由联系,在路由(routing)过程中,下层胶囊将输入向量传送到上层胶囊。对于可以路由到的每个更高层的胶囊,下层胶囊通过将自己的输出乘上权重矩阵来计算预测向量。如果预测向量与上层胶囊的输出具有较大的标量积,则存在自顶向下的反馈,具有增加上层胶囊耦合系数,减小其他胶囊耦合系数的效果。如下图示例:
胶囊网络的主要特点是什么呢?与传统CNN相比优势是什么呢?下图简单比较了胶囊和传统的神经网络中神经元的不同。
两者最大的不同在于,胶囊网络中的神经元是一个整体,包含了特征状态的各类重要信息,比如长度、角度、方向等,而传统的CNN里每个神经元都是独立的个体,无法刻画位置、角度等信息。这也就是为什么CNN通过数据增广的形式(对于同一个物体,加入不同角度、不同位置的图片进行训练),能够大大提高模型最后的结果。
[图片及描述来源:关于机器学习,你应该知道的3个热门专业术语]
[图片及描述来源:如何理解和使用胶囊网络]
发展历史
描述
在 1979 年,Geoffre Hinton形成了他的直觉,认为视觉系统需要一种内在的几何意义,当时他正在试图弄清楚人类是如何使用心理意象的。2010年,他首次提出了胶囊网络的初步设计。Geoffre Hinton等学者描述了一种使用解析树(parse trees)将图像分割和识别组合成单个推理过程的成像系统。 其所命名的置信度网络(credibility network)描述了潜在变量和可能的解析树的联合分布。 他们还在MNIST数据上验证了该方法的可行性。
但直到过去几年,由于处理能力的提高以及因特网所产生的大量数据,这一概念才终于得以落地。2017年,Geoffre Hinton将他们的论文发表在NIPS会议上,并取得了广泛的关注。
目前已经有一些研究在试图运用胶囊网络了。2018年, Nicholas Frosst、Sara Sabour、Geoffrey Hinton 用 capsule 模型检测对抗图像。论文提出了一种和攻击无关的检测技术——DARCCC,它依赖于真实图像和对抗图像的类别重建距离分布之间的差异。capsule 模型不仅能够对图像进行分类,还可以利用姿态参数(pose parameters)和正确的顶层 capsule 特征来重建图像。对抗图像与典型的类别预测并不相同,当模型根据对应类别的顶层 capsule 特征重建图像时,它们的重建误差较大。作者在输入图像及其根据顶层 capsule 得到的重建图像间设置 L2 距离的阈值,该方法可以在三种不同数据集上高效检测对抗图像。
主要事件
年份 | 事件 | 相关论文/Reference |
2010 | Geoffre Hinton等学者描述了一种使用解析树(parse trees)将图像分割和识别组合成单个推理过程的成像系统 | Hinton, G. E; Ghahramani, Z.; Teh, Y. W. (2000). Advances in Neural Information Processing Systems 12. MIT Press. pp. 463–469. |
2017 | Geoffre Hinton将他们的论文发表在NIPS会议上,并取得了广泛的关注 | Sabour, S.; Frosst, N.; Hinton, G. (2017). Dynamic Routing Between Capsules. NIPS |
2018 | Nicholas Frosst、Sara Sabour、Geoffrey Hinton 用 capsule 模型检测对抗图像 | Frosst, N.; Sabour, S.; Hinton, G. (2018). DARCCC: Detecting Adversaries by Reconstruction from Class Conditional Capsules. arXiv:1811.06969v1. |
发展分析
瓶颈
跟传统的CNN相比,当前的胶囊网络在实验效果上取得了更好的结果,但是训练过程却慢了很多。并且,虽然CapsNet在简单的数据集MNIST上表现出了很好的性能,但是在更复杂的数据集如ImageNet、CIFAR-10上,却没有这种表现。这是因为在图像中发现的信息过多会使胶囊脱落。
总体来看,胶囊网络仍然处于研究和开发阶段,并且不够可靠,现在还没有很成熟的任务。
未来发展方向
胶囊网络的研究目前是研究意义大于实际应用的意义,这是把脑科学和 AI 从神经元级别上升到电路层次来衔接的重要一步。在技术上有两个地方值得学习,一个是球形的嵌入式表达,第二个就是迭代的图计算。
Contributor: Yuanyuan Li