引用YouTube上一个up主的视频,讲解一个capsulenet的一个小例子

识别的过程

假设我们要识别右面的”船”,经过卷积得到2个识别矩形和三角形的胶囊(即向量,之前一篇博客有介绍 CapsuleNet解读),这两个胶囊为简单起见假设只有一维,代表旋转角度。可以看到经过Conv后得到的primary capsules,每个feature map的位置有2个胶囊,每个胶囊都是一维的向量。蓝色箭头代表三角形检测胶囊,黑色箭头代表矩形检测胶囊,箭头的长度代表向量的长度,即最终的出现概率

假设下一层只有两个胶囊,房子胶囊和船胶囊。由于矩形胶囊检测到一个旋转了16°的矩形,所以房子胶囊将检测到一个旋转了16°的房子,这是有道理的,船胶囊也会检测到旋转了16°的船。 这与矩形的方向是一致的。

所以,为了做出这个预测,矩形胶囊所做的就是简单地计算一个变换矩阵WijW_{ij}与它自己的激活向量uiu_i的点积。在训练期间,网络将逐渐学习第一层和第二层中的每对胶囊的变换矩阵。 换句话说,它将学习所有的部分 - 整体关系,例如墙和屋顶之间的角度,等等。

三角形胶囊同理

我们可以看到,矩形胶囊和三角胶囊在船胶囊的输出方面有着强烈的一致性。换言之,矩形胶囊和三角胶囊都同意船会以这样的形式输出来。然而,矩形胶囊和三角胶囊他们俩完全不同意房子胶囊的输出形式,从图中可以看出房子的输出方向是一上一下的。

这个时候需要用到之前讲的动态路由协议了,首先起始权重都是一样的,三角形胶囊以0.5的概率输出房子,0.5概率输出船胶囊,矩形胶囊一样,最终房子胶囊和船胶囊如中间所示

很明显,最终的船胶囊和三角形输出的船胶囊相似,而最终的房子胶囊和三角形输出的房子胶囊很不同,所以c三角_船c_{三角\_船}增大,c三角_房子c_{三角\_房子}减小。矩形胶囊方面同理。
注意上一篇博客说过了是c三角_船+c三角_房子=1c_{三角\_船} + c_{三角\_房子} = 1,而不是c三角_船+c矩形_船=1c_{三角\_船} + c_{矩形\_船} = 1,是在j上求和,而不是i

经过两轮或者3轮迭代后,发现三角形胶囊越来越趋近于输出船,矩形胶囊也越来越趋近于输出船

总结

  1. 以上可以看到在计算capsule向量时变换矩阵W的重要性。在训练期间,网络将逐渐学习第一层和第二层中的每对胶囊的变换矩阵。 换句话说,它将学习所有的部分 - 整体关系,例如墙和屋顶之间的角度等等
  2. 动态路由部分,既屏蔽了噪声干扰识别又提高了capsulenet的可解释性,为什么会检测到船往回推就发现是检测到了倾斜了x度的三角形和矩形。

参考:
Aurélien Géron: Capsule Networks Tutorial
【干货】Hinton最新 Capsule Networks 视频教程分享和PPT解读(附pdf下载)

CapsuleNet的一个小例子相关推荐

  1. MVVM模式的一个小例子

    使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...

  2. 飞鸽传书举一个小例子

    飞鸽传书举一个小例子,每个程序窗口右上角都有三个按钮,如最小化.关闭等.乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯.这样修改后,果然 Mac OS 漂亮和易用了很多. 目前互联网和手机上的应用 ...

  3. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  4. puppet运行慢的一个小例子

    一个小例子来看下怎么debug puppet运行慢的问题. 一个小例子来看下怎么debug puppet运行慢的问题. 发现一台机器的agent运行比较缓慢,首先看下puppet server的整体性 ...

  5. unity案例 mysql lua_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  6. html5 websocket插件,html5实现的WebSocket一个小例子(附代码)

    本篇文章给大家带来的内容是关于html5实现的WebSocket一个小例子(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 客户端代码: var socket; if (&q ...

  7. 网站制作---asp操作数据库的一个小例子

    qq交流群:创梦技术交流群:251572072  教程下载,在线交流:创梦IT社区:www.credream.com 一般用在asp网站中比较常见: asp操作数据库的一个小例子: id=reques ...

  8. mysql存储过程的一个小例子

    目录标题 mysql存储过程的一个小例子 mysql存储过程的一个小例子 1.首先创建一张表来供我们学习存储过程 三个字段,分别为:id.name.age 其中 id为自增字段,name与age不能为 ...

  9. 生成句法分析树以及从一个小例子来看词义消歧及语义角色标注

    一.生成句法分析树 把一句话按照句法逻辑组织成一棵树,由人来做这件事是可行的,但是由机器来实现是不可思议的,然而算法世界就是这么神奇,把一个十分复杂的过程抽象成仅仅几步操作,甚至不足10行代码,就能让 ...

最新文章

  1. 如何用Splunk建立可疑DNS报警系统
  2. 图像处理中的Mask是什么
  3. 2021清华大学年度人物候选 | 曹丰泽:我要证明,理想主义的路是走得通的
  4. 机器学习之深入理解SVM
  5. SDWebImage的使用及图片不改变问题的解决
  6. 【nodejs爬虫】使用async控制并发写一个小说爬虫
  7. php 清除数据表中所有数据库,清除一个数据库里所有表的数据
  8. python按日期排序_python按修改时间顺序排列文件的实例代码
  9. 淘汰原因_我是唱作人2马頔淘汰怎么回事?马頔个人资料照片被淘汰原因揭秘...
  10. 第三次学JAVA再学不好就吃翔(part53)--StringBuffer类的构造方法
  11. Codeforce Flea CodeForces - 32C 规律|思维
  12. LeetCode 165. 比较版本号
  13. Android广播机制(1)
  14. 11矩阵的QR分解(1)
  15. CSV 文件打开乱码?如何批量解决 CSV 文件乱码问题
  16. 粒子滤波(PF)原理详解
  17. 《IT时代周刊》:雅虎兵败中国
  18. iPad商标门--苹果败诉,,之后是和解么???
  19. 「 iOS知识小集 」2018 · 第 29 期
  20. PL/SQL将电话号码前三位用括号括起来(以XXX-XXX-XXXX为例)

热门文章

  1. 初学者在VMware上搭建自己的CentOS8
  2. 网站ICP备案与公安备案有什么区别---kalrry
  3. 奇迹网站系统IGC奇迹mu S18网站可视化装备模板
  4. html钢琴块游戏源码,好玩的钢琴块游戏
  5. win10装sql2000卡在选择配置_win10系统安装SQL2000卡在MADC不动的解决方法
  6. 汤姆猫信使: 折翼的信使
  7. 微信开发 缓存Storage
  8. 关于学校计算机的情景剧剧本,校园剧本校园情景剧
  9. python中莱布尼茨计算圆周率_python圆周率盘算(带进度条)
  10. IE浏览器上不了网的原因