Hinton老爷子CapsNet再升级,结合无监督,接近当前最佳效果

2017 年,Geoffrey Hinton 在论文《Dynamic Routing Between Capsules》中提出 CapsNet 引起了极大的关注,同时也提供了一个全新的研究的方向。今日,CapsNet 的作者 Sara Sabour、Hinton 老爷子联合牛津大学的研究者提出了胶囊网络的改进版本——堆栈式胶囊自编码器。这种胶囊自编码器可以无监督地学习图像中的特征,并在无监督分类任务取得最佳或接近最佳的表现。这也是胶囊网络第一次在无监督领域取得新的突破。

一个目标可以被看做是一组相互关联的部件按照几何学形式组合的结果。利用这种几何关系去重建目标的系统应当对视点的变化具有鲁棒性,因为其本质的几何关系不应随着观察视角的变化而发生改变。

本文中,研究人员描述了一种无监督的胶囊网络。其中,观察组成目标所有部件的神经编码器被用来推断目标胶囊的存在和姿态。编码器通过解码器的反向传播方法训练。

训练中,解码器使用姿态预测来预测每个已发现部件的姿态。这些部件是直接从图像中被发现的,同样也是使用神经编码器,该编码器推断这些部件及它们的仿射变换

而对应的解码器将每个图像像素建模为由仿射变换部件做出的预测混合。研究人员从目标和目标部件的胶囊中学习无标签数据,然后将这些目标胶囊的存在向量进行聚类

得知这些聚类的名称时,研究人员在 SVHN 和 MNIST 数据集上获得了当前最佳的无监督分类结果,准确率分别为 55% 和 98.5%。

论文:Stacked Capsule Autoencoders

论文地址:https://arxiv.org/abs/1906.06818

本文提出了堆栈式胶囊自编码器(SCAE),该编码器包含两个阶段。在第一阶段,部件胶囊自编码器(PCAE)将图像分割为组成部分,推断其姿态,并将每个图像像素重建为变换组件模板的像素混合。

在第二阶段,目标胶囊自编码器(OCAE)尝试将发现的部件及其姿态安排在一个更小的目标集合中。这个目标集合对每个部件进行预测,从而解释每个部件的姿态。通过将它们的姿态——目标-观察者关系(OV)和相关的目标-部件关系(OP)相乘,每个目标胶囊都会贡献这些混合的一部分。

堆栈式胶囊自编码器的工作原理

堆栈式胶囊自编码器在使用未标注数据训练时捕捉所有目标和它们部件之间的空间关系。目标胶囊存在概率的向量倾向于组成紧密的聚类

当给每个聚类一个分类时,其可以在无监督分类任务上达到当前最佳效果,如 SVHN 数据集上的 55% 和 MNIST 数据集上的 98.5%。以上结果还可以分别提升到 67% 和 99%,而且只需学习不到 300 个参数。

模型架构

堆栈式胶囊自编码器的结构

堆栈式胶囊自编码器的两个组成部分为:部件胶囊自编码器(PCAE)和目标胶囊自编码器(OCAE)。在下文中,论文首先介绍了集群自编码器(CCAE),通过一系列数学公式说明自编码器如何分解图像中的部件的过程,然后由此引出堆栈式胶囊自编码器的两个组成部分。

集群自编码器

图 2:使用集群自编码器对不同形状的点进行聚类的示意图。

论文首先介绍了集群自编码器,通过这种结构的数学原理,引出堆栈式胶囊自编码器的结构。令 {x_m | m = 1, . . . , M } 为一组二维的输入点,每个点属于一个集群(见图2)。首先使用Set Transformer将所有的输入点(相当于部件胶囊)编码进k个目标胶囊中,Set Transformer是一种基于注意力机制的、有置换不变性的编码器h^cap (Lee et al., 2019) 。

一个目标胶囊 k 包括一个胶囊特征向量 c_k(其存在概率 a_k ∈ [0, 1])和一个 3 × 3 的目标-观察者(OV)关系矩阵。关系矩阵代表着目标(集群)和观察者之间关系的仿射变换

需要注意的是,每个目标胶囊每次只能代表一个目标。每个目标胶囊都使用一个独立的多层感知机 h_k^part 从胶囊特征向量 c_k 中预测 N ≤ M 个候选部件。

每个候选由条件概率 a_k,n ∈ [0, 1] (当其存在),一个关联标量的标准差λ_k,n,以及一个 3 × 3 的目标-部件(OP)关系矩阵组成。这些代表着目标胶囊和候选部件的仿射变换

候选预测 μ_k,n 根据目标胶囊 OV 和候选 OP 矩阵相乘得来。然后,研究人员将每个输入部件建模为高斯混合模型,其中μ_k,n 和 λ_k,n 是各向同性组件的中心和标准差。其标准公式如下:

集群胶囊编码器的公式。论文通过举出集群胶囊编码器的例子,用于说明目标胶囊编码器和它的区别。

部件胶囊自编码器

如果要将图像分解为组成部件的集合关系,就需要首先推断图像是由哪些部件组成的,同时也需要了解观察者和这些部件之间的关系(称之为他们的姿态)。

在本研究中,每个部件胶囊都有六个维度的自由姿态,一个存在变量,和一个独特的特征。研究人员把部件发现问题视为自编码:编码器学习去推断不同部件胶囊的姿态和存在,而解码器学习每个部件的图像模板。

模板对应的部件是使用其姿态的仿射变换,而这些变换过的模板的像素点被用来为每个图像像素创建单独的混合模型。在部件胶囊自编码器后是目标胶囊自编码器。

令 y ∈ [0, 1]^h×w×c 为图像。研究人员将部件胶囊的数量限定在 M 之内。对于每个部件胶囊,他们使用一个编码器去推断姿态 x_m ∈ R^6,存在概率 d_m ∈ [0, 1],以及特殊特征 z_m ∈ R^c_z。

虽然后者不会直接参与图像重建,但是会将对应部件的特殊信息提供给目标胶囊自编码器。他们会通过目标胶囊自编码器使用反向传播微分的方式训练。

当前条件下,不允许图像中同一种类型的部件多次出现,从而导致部件胶囊不会在空间中被复制(尽管它们可能会)。然而,确实需要分辨出所有出现在图像中的部件,因此编码器会采用带有从下到上(bottom-up)注意力机制卷积神经网络

对于每个胶囊 k,其预测一个特征矩阵 e^k,特征矩阵是 6(姿态)+1(存在)+c_z(特殊特征)的胶囊参数,其空间维度是 h_e × w_e,以及一个单通道注意力层 a_k。

最终,该胶囊的参数计算公式是。softmax 是对空间维度上的计算。这种计算有点类似于全局平均池化,但是允许一些空间点比其他点对最终结果的权重影响更大。研究人员将其称为注意力池化(attention-based pooling)。

图像的像素点被建模为独立的高斯混合模型。对于每个像素点,研究人员采用其对应的变换模板,并将其视为有着恒定方差的各向同性高斯组件的中心点。其混合概率对部件胶囊的存在概率和在该位置的色值函数 (c 指的是图像的通道数)都是成比例的。

部件胶囊自编码器的公式推导过程

目标胶囊自编码器(OCAE)

下一步是从已经发现的部件中寻找目标。因此,需要使用相连的姿态 x_m,特殊特征 z_m,以及平滑化的模板 T_m(通过将部件胶囊的特征进行转化)。这些将会成为目标胶囊自编码器的输入,这里和集群自编码器有一些不同。

首先,研究人员将部件胶囊的存在概率 d_m 输入目标胶囊自编码器——由于平衡注意力机制,避免将缺失点考虑在内。

其次,d_m 同时用于衡量部件胶囊的对数似然 cf。另外,除了特殊特征外,不对其他目标胶囊自编码器的输入计算梯度,以便提升训练的稳定性,并避免隐变量崩溃。

最后,通过部件胶囊自编码器发现的部件有着独立的特征(模板和特殊特征)。因此,每个部件姿态都可以被解释为是目标胶囊预测的独立混合——即每个目标胶囊都做出 M 个候选预测 V_k,1:M,或者对每个部件做出一个候选预测。

最终,部件胶囊的似然公式是: 

图 3:从MNIST(左)和SVHN(中)和CIFAR 10(右)学习到的模板。

图 4:展示了胶囊自编码器对MNIST数据集的重建过程。a)MNIST图像;b)红色的部件胶囊和绿色的目标胶囊在重建中的组合;c)实际参与重建的被激活胶囊;d)根据图像捕捉到的信息;e)部件的仿射变换,用于展示其重建图像的过程。

模型性能评估

堆栈式胶囊自编码器使用仿射变换,这样可以使编码器的输入由一组较小的变换目标或部件解释。

无监督分类评价

研究人员在 MNIST、SVHN 和 CIFAR 10 数据集上进行了测试,并将目标胶囊的存在打上类别标签。他们使用了多种评价方法。

在部件胶囊编码器上,研究人员在 MNIST 数据集上使用了 24 个单通道,11 × 11 的模板,在 SVHN 和 CIFAR 10 上则分别使用了 32 个 3 通道,14 × 14 的模板。

对于后两个数据集的图像,研究人员进行了 Sobel 过滤,作为重建的目标。对于目标胶囊编码器,研究则分别使用了 24、32 和 64 个目标胶囊。

表 1:运行五次后取平均的无监督分类结果和标准差。

理论无监督Geoffrey HintonCapsule
4
相关数据
图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

图像重建技术

通过物体外部测量的数据,经数字处理获得三维物体的形状信息的技术。图像重建技术开始是在放射医疗设备中应用,显示人体各部分的图像,即计算机断层摄影技术,简称CT技术,后逐渐在许多领域获得应用。主要有投影重建、明暗恢复形状、立体视觉重建和激光测距重建。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

高斯混合模型技术

高斯混合模型(Gaussian Mixture Model,GMM)是单一高斯概率密度函数的延伸,就是用多个高斯概率密度函数(正态分布曲线)精确地量化变量分布,是将变量分布分解为若干基于高斯概率密度函数(正态分布曲线)分布的统计模型。

隐变量技术

在统计学中,隐变量或潜变量指的是不可观测的随机变量。隐变量可以通过使用数学模型依据观测得的数据被推断出来。

CapsNet技术

Hinton 等人实现了一个简单的 CapsNet 架构,该架构由两个卷积层和一个全连接层组成,其中第一个为一般的卷积层,第二个卷积相当于为 Capsule 层做准备,并且该层的输出为向量,所以它的维度要比一般的卷积层再高一个维度。最后就是通过向量的输入与 Routing 过程等构建出 10 个 v_j 向量,每一个向量的长度都直接表示某个类别的概率。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

仿射变换技术

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。 一个对向量平移,与旋转放大缩小的仿射映射为 上式在齐次坐标上,等价于下面的式子 在分形的研究里,收缩平移仿射映射可以制造制具有自相似性的分形

推荐文章
暂无评论
暂无评论~