深度学习-胶囊网络学习

胶囊网络

初步入门:如何理解胶囊网络

https://www.jiqizhixin.com/articles/2019-01-18-14

详细讲解,台大李宏毅B站讲解:

https://www.bilibili.com/video/av29978785?from=search&seid=10531740858913890772

相应的笔记:

【胶囊网络-CapsNet】李宏毅CapsNet课程笔记

https://blog.csdn.net/shine19930820/article/details/88784819

笔记:

基本原理:卷积神经网络中的的池化层会将一部分重要但不明显的信息过滤掉,例如实体姿态和准确位置等信息丢失
,为了解决这个问题,Hinton提出使用一个叫做“routing-by-agreement”的过程。这意味着,较为底层的特征(手、眼睛、嘴巴等)将只被传送到与之匹配的高层。如果,底层特征包含的是类似于眼睛或者嘴巴的特征,它将传递到“面部”的高层,如果底层特征包含的是类似手指、手掌等特征,它将传递到“手”的高层。

这种每个信息都有个专门的节点来接收造就的网络就叫胶囊网络。

 

于传统神经网络的优势:

于传统神经网络胶囊网络保留了空间结构信息。

卷积神经网络对于这张图片会有很大概率认为他是一张人脸,因为这里面包含了眼睛、鼻子、嘴巴,虽然他们是歪的。

                                                                                  卷积神经网络分类人脸

因为它仅仅看图像中的这些特征,而没有注意这些特征的姿态信息。 

胶囊网络(capsule networks)解决这个问题的方法是,实现对空间信息进行编码同时也计算物体的存在概率。这可以用向量来表示,向量的模表示特征存在的概率,向量的方向表示特征的姿态信息。

                                                                                        胶囊网络分类人脸

如上图所示,所有特征的姿态参数用来决定最后结果。 

 

                                                                          胶囊网络和神经网络计算过程的对比 

文字叙述:

在传统神经网络里,一个神经元一般会进行如下的标量操作:

  1. 输入标量的标量加权;

  2. 对加权后的标量求和;

  3. 对和进行非线性变换生成新标量。

而在胶囊网络里面,这些操作有有一些的改变:

1、输入向量与权重矩阵的矩阵乘法。这编码了图像中低级特征和高级特征之间非常重要的空间关系。

2、加权输入向量。这些权重决定当前胶囊将其输出发送到哪个更高级的胶囊。这是通过动态路由(dynamic routing)的过程完成的。

3、对加权后的向量求和。 (这一点没什么差别)

4、非线性化使用squash函数。该函数将向量进行压缩使得它的最大长度为1,最小长度为0,同时保持其方向不变。

 

Keras入门教程06——CapsNet胶囊神经网络详解及Keras实现

https://blog.csdn.net/weixin_40920290/article/details/82951826

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值