胶囊网络

胶囊网络:更强的可解释性 - 知乎

胶囊网络:更强的可解释性 - 知乎

胶囊网络(Capsule Network)

胶囊网络是Hinton老头子前两年提出来的,认为未来可以替换传统神经网络的一种新的神经网络。胶囊的设计更符合人类神经元的原理。

目前胶囊网络还没有实际的应用,但是学习胶囊网络可以帮助我们更深刻的理解神经网络的原理和其在可解释性方面的缺陷。

简单来说,将神经元替换为胶囊,就是胶囊网络。

万字胶囊网络超详细总结(原理加pytorch代码(要钱))

# 万字胶囊网络超详细总结(原理加pytorch代码(要钱))

胶囊网络为什么不流行? - 知乎

(4 封私信 / 51 条消息) 胶囊网络为什么不流行? - 知乎

胶囊网络(Capsule Network)经时间的检验逐渐消失在历史长河中,因为其复杂的训练过程、较大的计算开销和 大。但是,胶囊网络具有以下优点:

  1. 鲁棒性:通过动态路由算法,胶囊网络能够增强相关特征之间的权重,减弱无关特征之间的权重;
  2. 关系建模:通过胶囊之间的动态路由和权重计算,胶囊网络能够推断实体之间的关联程度和空间排列,进而实现更高级的推理和推断能力。
  3. 可解释性:由于胶囊网络中的胶囊具有明确的语义含义,且胶囊网络的输出可以被解释为对不同实体或特征的激活程度,从而使得模型的预测结果更具可解释性。

那么,有什么算法拥有上述优点并且训练过程简单和计算开销小呢?SENet作为一种通道注意力机制可以很好地代替胶囊网络在实际中的应用。

胶囊网络的核心:每个胶囊层中的胶囊由一个向量表示,记为 𝑢𝑖,其中 𝑖∈[0,𝑚) , 𝑚 为胶囊个数。胶囊层的输出向量 𝑣_可以通过对上一层胶囊的输出_ 𝑢𝑖进行加权求和得到。权重由动态路由算法确定,步骤如下:

总结胶囊网络:根据 𝑚 个胶囊𝑢𝑖加权求和输出胶囊 𝑣 ,权重类似于k-means算法由迭代产生。因此,胶囊网络也可以看成一个聚类过程,将多个向量(胶囊)聚类为一个向量(胶囊)。

自然而然地,我们可以用SENet代替胶囊网络。SENet将多个通道向量压缩成一个向量。

SENet公式为: 𝑣=sigmoid(𝑊2⋅ReLU(𝑊1⋅𝑈)) ,其中全连接层的参数为 𝑊1∈𝑅𝐶×𝑚 和 𝑊2∈𝑅1×𝐶 。 𝑊2 类似于胶囊网络中的权重,进而使得SENet具备了胶囊网络的优点。进一步了解SENet,可看懒羊羊学AI:深入理解SENet:自适应特征提取的注意力机制