Fork me on GitHub 返回顶部

【译】把胶囊网络用到自然语言处理中会发生什么

本文翻译自:博文What will happen when we apply CapsNet with dynamic routing to NLP?

  本文要讲的是研究人员在应用CapsNet(胶囊网络)进行文本分类时发现了什么。我们需要了解下列的网络层次以及相应的算法。

N-gram卷积层

​ 这一层是标准的卷积层,通过多个不同的卷积核在句子的不同位置提取N-gram特征。

主胶囊层(Primary Capsule Layer)

​ 这一层是第一个胶囊层,在这个胶囊层中,胶囊将卷积操作的标量输出替换为矢量输出,从而保留实例化参数,如单词的局部顺序和单词的语义表示。

卷积胶囊层(Convolutional Capsule Layer)

  在这一层中,每个胶囊仅与下面层中的一个局部区域相连。这些胶囊与变换矩阵相乘来计算子胶囊(低层胶囊)与父胶囊(高层胶囊)之间的关系,然后根据协议路由(routing-by-agreement)计算出上层的父胶囊。

全连接胶囊层

  下一层的胶囊被展平成一个胶囊列表,并送入全连接胶囊层。在全连通胶囊层中,胶囊乘以变换矩阵,然后按协议路由生成最终的胶囊及其对每个类别的概率。

动态路由

  动态路由的基本思想是设计一个非线性映射。非线性映射以迭代的方式确保每个胶囊的输出被发送到下一层中的适当的父胶囊中。对于每一个潜在的父胶囊,胶囊网络可以通过动态路由过程增加或减少子胶囊和各个父胶囊之间的连接强度,这比原始的下采样策略如max-pooling等池化操作更有效,尽管这些池化操作基本上能够检测出现在文本任何位置的特征,但也丢失了很多空间位置信息。论文探索了三种策略来提高路由过程的准确性,减轻一些带噪声的胶囊的干扰。

  1) 孤儿类别——一个额外的“孤儿”类别被添加到网络,它可以捕获文本的“背景”信息,如停用词和与特定类别无关的一些词,这个策略能够让路由过程更有效率。在文本中加入“孤儿”类比在图像中更有效,因为图像中没有单一一致的“背景”对象,而在谓词、代词等文本中是一致的。

  2) Leaky-Softmax——在更新子胶囊和父胶囊之间的连接强度时,使用用Leaky-Softmax代替标准softmax。除了最后一层胶囊中的孤儿类别,我们还需要在连续两层之间采用一种轻量级的方法将带噪声的子胶囊路由到额外的维度,而不需要任何额外的参数和计算量。

  3) 系数修正——论文尝试以迭代的方式用下层中存在子胶囊的概率迭代修正连接强度。

结论

  通过在6个文本分类benchmark上的实验,证明了胶囊网络在文本分类中的有效性。更重要的是,相对于强大基线模型,胶囊网络在将单标签文本分类转换为多标签文本分类时也显示出了显著的成绩提升。

  摘自2018年3月29日发表的论文《Investigating Capsule Networks with Dynamic Routing for Text Classification》,连接:https://arxiv.org/abs/1804.00538 (译者注)。

posted @ 2018-12-22 15:33  d0main  阅读(3023)  评论(0编辑  收藏  举报