如何评价深度学习之父Hinton发布的Capsule论文

如何评价深度学习之父Hinton发布的Capsule论文?

胶囊神经网络提出的动机

传统的CNN(卷积神经网络)主要基于卷积操作提取图像特征。为了应对和训练集略有差异的图像,CNN使用最大池化(max pooling)等技术忽略训练集中的图像样本的一些信息,从而提高了对平移后的图像以及不同视角的图像的适应性。

然而,正如Hinton所说:

卷积神经网络的内部数据表示没有考虑简单和复杂对象之间的重要空间层级

所以,CNN会把下面这样的图像识别为人脸:

如何评价深度学习之父Hinton发布的Capsule论文 - 汇30资讯

(交换了眼睛和嘴唇的Kim Kardashian像,来源:hackernoon.com)

还有这张:

如何评价深度学习之父Hinton发布的Capsule论文 - 汇30资讯

(图片来源:jhui.github.io)

相反,人类却能轻易地识别出这些不是人脸。

而Hinton等提出的胶囊神经网络却能编码这些空间关系,超越了CNN架构。

胶囊

胶囊神经网络中,每一层由许多胶囊构成。每个胶囊对应一个实体(例如人脸中的嘴巴)。胶囊将检测到的特征状态封装为一个向量。

如何评价深度学习之父Hinton发布的Capsule论文 - 汇30资讯

(图片来源:jhui.github.io)

比如,上图右下角的“嘴巴”胶囊对应的向量,可以看成一个数组[0.9, 0.2, 0.4],0.9编码了嘴巴存在的概率,0.2编码了嘴巴的朝向,0.4编码了嘴巴的尺寸。

囊间路由

Hinton很早之前就有胶囊网络的想法,但一直没有找到合适的胶囊之间通讯的算法。直到去年找到了囊间动态路由算法,才正式提出胶囊网络这一架构。

如何评价深度学习之父Hinton发布的Capsule论文 - 汇30资讯

(图片来源:AI³)

囊间动态路由算法的精髓,是基于胶囊间的“合意”,也就是说,层次较低的胶囊将其运算结果发给对此表示“同意”的层次较高的胶囊。

上图中,红点代表“正确”预测,J、K是层次较高的胶囊。我们可以看到,层次较低的胶囊的输出乘以权重后,远离胶囊J中的红点,而接近胶囊K中的红点。因此,应该把输出发给胶囊K。

胶囊网络架构

如何评价深度学习之父Hinton发布的Capsule论文 - 汇30资讯

(胶囊网络架构,图片来源:胶囊网络论文)

上图展示了胶囊网络的架构:

  1. 基于ReLU激活的卷积层
  2. 主胶囊层(PrimaryCaps),我们前面“胶囊”一节描述的胶囊就是主胶囊层的胶囊
  3. 数字胶囊层(DigitCaps),共有10个数字胶囊,每个胶囊对应一个数字。

此外,胶囊网络还包括3个全连接层,用于重建数字图像(解码)。

胶囊网络的表现

胶囊网络在MNIST数据集上的表现超过了当前最先进的CNN模型。不仅如此,美国科学信息研究所(ISI)的研究人员还尝试使用胶囊网络替代了DCGAN(当前主流的GAN模型)中充当判别网络的CNN,同样在MNIST数据集上取得了比卷积GAN更好的表现。也就是说,胶囊网络在作为其他神经网络模型的组件时,同样取得了超过CNN的表现。