Dynamic Routing Between Capsule论文阅读笔记


Intro

由于涉及比较多的公式,而github不支持MathJax或者LaTeX,所以如果想获得更好的阅读体验请安装chrome插件GitHub with MathJax,或者有更好的方法恳请告知。

本文记录了阅读论文Dynamic Routing Between Capsules以及naturomics的代码的理解与收获,若有错误欢迎指出(wjy.f@qq.com),转载请注明出处。

若想通过视频快速了解,可以看看下面两个链接,讲得比较生动易理解(不过还是推荐读论文):


Main

CapsNet

结构概述

论文仅仅是提出了一个可行的方案,目的是为了证明Capsule这个思想的可行性,目前还较为粗略,有很多改进空间。论文有两个比较突出的创新点:

  • 采用 routing-by-agreement mechainsm 决定两层capsule之间的连接以及参数 cij c i j 的更新方式
  • 用向量输出替代标量输出

下图是论文中所采用的神经网络结构:

看完这幅图应该大概能理解CapsNet的结构。它先是对图像用了两次卷积得到PrimaryCaps,然后用Routing-By-Agreement Mechanism得到DigitCaps。最后,求DigitCaps中的10个向量的长度,比如说最长的是第4个向量,那么就意味着CapsNet识别出当前输入的图片是数字4。

看到这里,何为Capsule?在PrimaryCaps中,它指的是长度为8的向量,共6*6*32个。而在DigitCaps中,它指的是16维的向量,共10个。所以Capsule其实对应着传统神经网络的scalar,只是一个scalar能够表征的信息太少了,所以将其扩展为向量,这样它就能够表示更多的信息。有人说,之所以提出这种想法是因为Hinton观察到人的大脑不是像神经网络一样严格分层,而是一簇簇神经元作为一个整体的。

CapsNet的结构是Image(input)->Conv1->PrimaryCaps->DigitCaps(output)->Reconstruction,下文也会按照这个顺序来讲解

在下文中,若 i 指 layerl l a y e r l 的某一个capsule ,那么 j 就是指 layerl+1 l a y e r l + 1 的某一个capsule。


image to ReLU Conv1 to PrimaryCaps

论文使用的是MNIST手写识别数据集,每张图片的大小都是28*28。

流程:

  1. image(28 * 28)

  2. images Conv(num_outputs=256, kernel_size=9, stride=1, padding='VALID') + ReLU Conv1(256 * 20 * 20)

  3. Conv1 Conv(num_outputs=256, kernel_size=9, stride=2, padding="VALID") + ReLU PrimaryCaps(256 * 6 * 6)

这里可能会有人奇怪,这里不过是用了256个filter产生256个feature map,图片为什么会画成(32 * 8 * 6 * 6)的形式,这是因为后面的路由算法是将一个长度为8的向量当做一个整体来计算的。


PrimaryCaps to DigitCaps & Dynamic Routing
  • 下面讲解从PrimaryCaps DigitCaps的计算过程,其中主要应用了Routing-By-Agreement Mechanism

一张图表示他们之间的关系:


这里写图片描述

注意,图片中仅展示了一个 vj,j(1,10) v j , j ∈ ( 1 , 10 ) 的求解过程,其他 vj v j 同理可得。

公式

û j|i=Wijui(1) (1) u ^ j | i = W i j u i

  • ui(i[6632]) u i ( i ∈ [ 6 ∗ 6 ∗ 32 ] ) : 表示PrimaryCaps的某个8D的Capsule
  • û j|i u ^ j | i : 论文中称之为低一层的capsules的“prediction vectors”

c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值