关于胶囊网络(Capsule Net)的个人理解

原文链接

        最近在跟踪keras的contri版的更新时,发现了冒出了一个Capsule层。于是我百度+谷歌一顿操作猛如虎,才发现在很早之前,胶囊网络的概念就提出了。但是限于胶囊网络的performance并不是在各个数据集都是碾压的情况,并且其计算量偏大,训练时间偏长,所以并没有被广泛的运用和替换。但是在官方给出的测试结果来看,其实效果还是挺不错的。

以上是原论文(https://arxiv.org/pdf/1710.09829.pdf)在mnist是数据集上的结果,结果是指错误率,可见效果还是有小幅提升的。在介绍胶囊网络之前,给大家推荐一篇博客,写得很好。先读懂CapsNet架构然后用TensorFlow实现:全面解析Hinton提出的Capsule | 机器之心。同时,在keras上有开发者提供的capsule层源码:keras-contrib/capsule.py at master · keras-team/keras-contrib · GitHub。本文将会以该源码为主,从各大博客的角度以及个人观点介绍胶囊网络。

另外,欢迎大家看看我之前介绍的bert模型 源码剖析transformer、self-attention(自注意力机制)、bert原理!_罗小丰同学的博客-CSDN博客_自注意力机制代码,两者在层的设计上游异曲同工之处

一、什么是胶囊网络?

看看博客中的一张图,简单明了。

简而言之就是,我有一个权重(叫做胶囊权重),它来来回回地跟输入数据做计算,一边计算一边更新自己(路由算法)。

步骤如下:

(1)我先对胶囊层上一层的数据先做个预处理,处理前需要一个权重来为处理做计算过度,这个权重就是

  • 22
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值