Capsules with Inverted Dot-Product Attention Routing

本贴最后更新于 297 天前,其中的信息可能已经时移世异

启发

  • 前面的卷积部分可以换成一个更高级的 backbone(backbone 不变了)

  • 改变一种胶囊结构(DE 扩张 + 缩小 W)

  • 路由算法(3-5 篇文章,总结出一个)--采用他的并发路由方法 + 改进?

  • 提出一种 dropout(还是高低阶配合)

  • 实验部分(和这几篇文章保持一直:MNIST、Fashion-MNIST、SVHN、CIFAR-10)

  • image

    其实这张图能给我很大的启发,对胶囊网络进行改进,Routing 算法()

    没有使用任何非线性压缩函数,所以我可以引入 MODE,与之相对应,自然需要引入 Layer Normalization

    损失函数,我也使用 Cross Entropy

  • 路由的对比方法:EM 路由对应的论文是《Dynamic Routing Between Capsules》(Sabour et al., 2017),而动态路由对应的论文是《Matrix Capsules with EM Routing》(Hinton et al., 2018)。这两篇论文是关于胶囊网络中路由机制的重要研究工作。

论文

Abstract

子胶囊路由父级胶囊根据一致性投票

  1. 根据 inverted dot-product 注意力机制进行路由
  2. 用层归一化
  3. 并发迭代路由代替顺序路由

Introduction

doing inference of the latent capsule statesand routing probabilities jointly across multiple capsul

介绍胶囊网络

image

初级胶囊是 16 维,经过 LayerNorm 进行归一化。

反向点积注意力路由

提出的路由有两个阶段:

image

  1. 计算低级和高级胶囊的一致性

    我只有一个疑问? poses 和 caps 什么区别?pose 就是 caps 中的向量

    L层的胶囊iL+1层的胶囊j的支持性?

    image

    image

  2. 更新高级胶囊的位姿信息

    image

    image对胶囊内部进行 LayerNorm,而没有使用 squash

Inference and learning

推理和学习的过程

推理过程

image

image

算法,给定输入的图像、参数,计算 class logits

  1. 前胶囊层:从 backbone 网络,提取出图像特征。

  2. 胶囊层:backbone 提取出的特征,然后通过卷积和 LayerNorm,得到初级胶囊P^1

    然后随后的胶囊层P^{2:N}被初始化到 0。

    • 执行顺序路由。

    • 从 2 到 t 次迭代:

      image

      并发路由,通过并发路由减少累计效应,也从一个方面可以说减少了胶囊网络的过拟合现象.Capsule Network is Not More Robust than Convolutional Network1,这篇文章也说明了,原始胶囊网络的路由算法会对网络的健壮性有伤害。

  3. 后胶囊层:

    目标是获得预测分类的 logits \hat{y},从最后一个胶囊层的P^N,用一个线性分类\hat{y_i}=classifier(p_i^N),主要是 classifier 如何实现? 全连接胶囊?

学习过程

SGD 优化、使用 cross-entropy 和 binary cross-entropy losses()

与现在 CapsuleNet 的对比

image

其实这张图能给我很大的启发,对胶囊网络进行改进,Routing 算法()

没有使用任何非线性压缩函数,所以我可以引入 MODE,与之相对应,自然需要引入 Layer Normalization

损失函数,我也使用 Cross Entropy

实验部分

三种路由方法的对比:

image

我现在用的还是动态路由?从图中来看,使用 backbone 本身就有很大的效果

  1. 总体效果:本文提出 > 动态路由 >EM 路由
  2. backbone 的选择:
  3. 参数量:,其实应该和我得 MODE-Caps 想利用的权值类似

  1. 反向点积注意力(无 Layer Normalization)

    证明 Layer Normalization 得重要性

  2. 反向点积注意力(并发路由)

    顺序路由时,性能和迭代次数不再正相关。。。

  3. 反向点积 添加激活

    添加激活函数,反而性能发生了下降


  1. Capsule Network is Not More Robust than Convolutional Network

    是否可以借鉴本片文章的路由算法?

    路由算法是否可以有改进?

    ​#胶囊网络#​

    Abstract

    • 胶囊网络的动态路由层会伤害健壮性:
    • 文章中做了:仿射变换、重叠数字的识别能力、语义表示的紧凑性

    Intructions

    Empirical Studies on Capsule Network

    对 CapsNet 的鲁棒性进行实证研究

      1. 转换过程
      2. 动态路由层
      3. 压缩函数
      4. margin loss 和交叉熵 loss
      5. 重构正则化
    • 三个问题

      1. ConvNet-FC 和 CapsNets 的不同?
      2. CapsNets 的组件有什么不同?
      3. 两种网络如何转换?

    Affine Transformation

    • 结果和分析

  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    40 引用 • 40 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...