前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 一篇新的Capsule论文:优于基准CNN(ICLR 2018盲审中)

学界 | 一篇新的Capsule论文:优于基准CNN(ICLR 2018盲审中)

作者头像
机器之心
发布2018-05-10 11:57:55
6320
发布2018-05-10 11:57:55
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

机器之心编译

参与:Panda

近日,Geoffrey Hinton 那篇备受关注的 capsule 论文终于公开了,这是 Hinton 对未来人工智能形态的新探索,得到了人工智能领域的广泛关注。而现在基于 Capsule 的新研究成果也已经出现。这里介绍的就是一篇正处于双盲评审阶段的关于 Capsule 的 ICLR 2018 论文(目前论文作者未知)。机器之心对该论文进行了摘要介绍,论文全文请访问以下链接。

论文地址:https://openreview.net/pdf?id=HJWLfGWRb

论文:使用 EM 路由的矩阵 capsule(MATRIX CAPSULES WITH EM ROUTING)

capsule 是一组神经元,其输出可表征同一个实体的不同性质。我们描述了一种 capsule 版本,其中每个 capsule 都有一个 logistic 单元(用来表示一个实体的存在)和一个 4×4 的姿态矩阵(pose matrix)(可以学习表征该实体与观看者之间的关系)。某一层的 capsule 会为上一层中许多不同 capsule 构成的姿态矩阵投票(vote),这是通过将它自己的姿态矩阵与视角不变的变换矩阵(viewpoint-invariant transformation matrix)相乘而实现的,可以学习表征「部分-整体」关系。这些投票中的每一个都会根据分配的系数加权。这些系数使用 EM 算法迭代式地更新,这样每一个 capsule 的输出都会被路由到上一层的一个 capsule,它会收到一组相似投票的集群。这整个系统是通过每个相邻层对之间的 EM 的展开的 3 次迭代而鉴别式地训练的。在 smallNORB 基准上,相比于当前最佳的方法,capsule 将测试错误的数量降低了 45%。比起我们的基准卷积神经网络,capsule 也表现得更能抵抗白盒对抗攻击(white box adversarial attack)。

Hinton et al. (2011) 在一个变换自编码器中使用了一个变换矩阵,它可以将立体图像对变换成来自稍微不同视角的立体对。但是,这种系统需要由外部提供变换矩阵。最近,按一致性路由(routing-by-agreement)在分割高度重叠的数字上得到了非常好的效果(Sabour et al. (2017)),但这个系统还有一些不足之处,而我们的研究成果已经解决了这些问题:

  1. 它使用了姿态向量(pose vector)的长度来表示由一个 capsule 所表示的实体存在的概率。为了让该长度小于 1,需要一种无原则的非线性(unprincipled non-linearity),这可以防止其成为任何可感知的目标函数,它由迭代式的路由过程(routing procedure)最小化。
  2. 它使用了两个姿态向量之间的角的余弦来测量它们之间的一致性。和高斯聚类的对数方差不一样,余弦并不非常适用于区分相当好的一致性与非常好的一致性。
  3. 它使用了长度为 n 的向量,而不是有 n 个元素的矩阵来表示一个姿态,所以其变换矩阵具有 n^2 个参数,而不只是 n 个。
capsule 模型

我们模型的一般架构如图 1 所示。模型开始时有一个带有 32 个通道(A=32)的 5×5 卷积层,其步幅(stride)为 2,且带有 ReLU 非线性激活函数。所有其它层都是 capsule 层,是从主 capsule 层开始的。每一个 capsule 都有一个 4×4 的姿态矩阵和一个 logistic 激活单元。B=32 种主 capsule 类型中每一个的 4×4 姿态都是以该位置为中心的所有更低层 ReLU 的输出的线性变换。主 capsule 的激活是通过在更低层 ReLU 的同一个集合的加权和上应用 sigmoid 函数而得到的。

主 capsule 之后跟着两个 3×3 卷积 capsule 层(K=3),其中每一层都带有 32 种 capsule 类型(C=D=32),步幅分别为 2 和 1。卷积 capsule 的最后一层连接到最后的 capsule 层,该层的每一个输出类别都有一个 capsule。

图 1:带有一个 ReLU 卷积层,后面跟着一个主卷积 capsule 层和两个其它卷积 capsule 层。

当将最后的卷积 capsule 层连接到最后一层时,我们不想扔掉任何有关该卷积 capsule 的位置的信息,但我们也想利用这个事实:所有同一类型的 capsule 都在不同的位置提取同一个实体。因此我们在同一 capsule 类型的不同位置之间共享变换矩阵,并且会将每个 capsule 的感受野的中心的扩展坐标(行、列)添加到其投票的前两个元素。我们将这种技术称为 Coordinate Addition。这应该可以鼓励共享的最终变换为这两个元素提供价值,它们能表示该实体相对于该 capsule 的感受野的中心的精细位置(fine position)。

路由过程用在每个相邻的 capsule 层对之间。对于卷积 capsule,在 L+1 层中的每个 capsule 都会只向 L 层中的感受野中的 capsule 发送反馈。因此,在 L 层中的每个卷积实例都最多从 L+1 层中的每个 capsule 类型接收 kernel_size×kernel_size 个反馈。接近图像边界的实例接收更少的反馈,而图像边角处的实例仅从从 L+1 层中的每个 capsule 类型接收 1 个反馈。

路由算法(routing algorithm)会根据 L 层中的 capsule 的激活和投票返回 L+1 层中 capsule 的激活和姿态。V_ich 是从 capsule i(在 L 层带有激活 a_i)到 L+1 层中 capsule c 的 H 维投票。β_a、β_v 是鉴别式的学习到的,反向温度(inverse temperature)λ 按每个固定调度的迭代增加。

图 2:在每次路由迭代后,5 个最终 capsule 中每一个到它们平均投票的距离的直方图。每个距离点都有其分配的概率的加权。所有三张图像都是从 smallNORB 测试集选择的。在卡车和人类样本中,这个路由过程正确地选择了这些投票的路径。飞机样本是该模型的一个罕见的失败案例,该模型在第三个路由迭代中将飞机和汽车混淆了。这个直方图被放大了,只显示了距离小于 0.05 的投票。

实验

表 1:我们的 capsule 模型在 smallNORB 上改变不同分量的效果。

表 2:当基准 CNN 与 capsule 模型在相似视角下的误差率相当时,该基准 CNN 与 capsule 模型在全新视角下的 smallNORB 测试误差率比较。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • capsule 模型
  • 实验
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档