深度学习——胶囊网络

CNN现存的问题就是池化提供了局部不变性,但是丢失了位置等信息。
1和4无法检测出来。

在这里插入图片描述
使用胶囊作为网络的基本单元
计算结果封装到一个特征向量中。用来表示可视实体,包括姿态、方位、大小等。
动态路由算法代替池化操作,以保留相关的方位信息。

特征向量表示可视实体:
实体的存在概率具有局部不变性:胶囊覆盖的有限视觉域内的实体变换姿态时,是不变的。
实体的实例化参数具有等变性,由于实例化参数表示实体的姿态坐标,因此随着实体额姿态变化,实例化参数会相应改变。

特征向量的长度表示实体存在的概率;特征向量各维特征表示实体姿态。

**胶囊输出的实例化参数提供了一种 由部分到整体 的简单识别方法,由 单个有限视觉域 逐层向上 预测,最终形成对目标图像的解析树。
**
连接到下一层时,可以做出一个简单的选择:实体是否能够由多个激活的具有正确的空间关系的胶囊表示,并且激活更高级别的胶囊

在这里插入图片描述

使用非线性压缩(squashing)函数将向量长度限制在0-1,使得特征向量的长度能够表示实体存在的概率。
在这里插入图片描述
动态路由机制确保每一层的胶囊的输出的特征向量被正确地发送到下一层中对应的胶囊。

耦合系数cij由softmax计算,前一层的胶囊i和下一层中所有胶囊之间的耦合系数的总和为1.
在这里插入图片描述
中,𝑏ij为胶囊i应该耦合到胶囊j 的对数先验概率,取决于 两个胶囊的类型和位置,与当前的输入图像无关.
简单的表明一致性关系的函数就是标量积.

整个路由过程不仅仅是存在于胶囊网络的训练过 程中,也存在于验证和测试过程,而且需要迭代多次。

过程就是仿射变换——加权求和——非线性激活在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

训练 耗时,但是对一些位置的图像的效果比较好,还是比较复杂。
实现低级特征到胶囊多维实体(低级特征 向量)的转换。

在这里插入图片描述
边际损失:
为了对多个对象的识别,每类目标对象的胶囊应分别使用边际损失得到类损失Lk,总的边际损失是所有类损失之和。

在这里插入图片描述
𝑇是表示k类目标对象是否存在,0/1
𝑚+是上界,惩罚假阳性,即预测k类存在但真实不存在,一般取 0.9; 𝑚-是下界,惩罚假阴性,即预测k类不存在但真实存在,一般取 0.1; λ为不存在的对象类别的损失的下调权重,避免开始从不存在 分类对应的胶囊输出的特征向量中学习,一般取0.5。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值