胶囊路由

Link to paper: https://arxiv.org/pdf/1710.09829.pdf

链接到论文: https : //arxiv.org/pdf/1710.09829.pdf

The paper introduced an implementation of Capsule Networks which use an iterative routing-by-agreement mechanism: A lower-level capsule prefers to send its output to higher level capsules whose activity vectors have a big scalar product with the prediction coming from the lower-level capsule.

本文介绍了一个胶囊网络的实现,该网络使用了一种按协议进行迭代路由的机制:低级胶囊倾向于将其输出发送到活动向量具有大标量积的高级胶囊,而预测来自低级胶囊胶囊。

Motivation:

动机

Human visual system uses a sequence of fixation points to ensure that a tiny fraction of optic array is processed at highest resolution. For a single fixation, a parse tree is carved out of a fixed small groups of neurons called “capsules” and each node in the parse tree will correspond to an active capsule. By using an iterative process, each capsule will choose a higher-level capsule to be its parent. This process will solve the problem of assigning parts to wholes.

人类视觉系统使用一系列固定点来确保以高分辨率对光学阵列的一小部分进行处理。 对于单个注视,解析树是从固定的一小组称为“胶囊”的神经元中雕刻出来的,解析树中的每个节点都将对应一个活动的胶囊。 通过使用迭代过程,每个胶囊将选择一个更高级别的胶囊作为其父对象。 此过程将解决将零件分配给整体的问题。

For activity vector of each active capsule:

对于每个活性胶囊的活性载体:

  • Its length is the probability that an entity exists in the image.它的长度是图像中实体存在的概率。
  • Its orientation is object’s estimated pose parameters like pose (position, size, orientation), deformation, velocity, albedo, hue, texture, etc.它的方向是对象估计的姿势参数,例如姿势(位置,大小,方向),变形,速度,反照率,色相,纹理等。

Idea:

主意

Since the output of a capsule is a vector, it is possible to use a powerful dynamic routing mechanism to ensure the output is sent to an appropriate parent. For each possible parent, the capsule computes a “prediction vector” by multiplying its own output by a weight matrix. If this prediction vector has a large scalar product with the output of a possible parent, a coupling coefficient for that parent will be increased and for other parents will be decreased, thus increases the contribution a capsule makes to that parent, increasing the scalar product of the capsule’s prediction with the parent’s output. This is much more effective when compared to max-pooling, which allows neurons in one layer to care only about the most active feature detector in the previous layer. Also, unlike max-pooling, capsules don’t throw away information about the precise location of the entity or its pose.

由于封装的输出是矢量,因此可以使用强大的动态路由机制来确保将输出发送到适当的父级。 对于每个可能的父对象,胶囊通过将其自身的输出乘以权重矩阵来计算“预测向量”。 如果此预测向量与可能的父对象的输出具有较大的标量积,则该父对象的耦合系数将增加,而其他父对象的耦合系数将减小,因此将增加胶囊对该父对象的贡献,从而增加的标量积。胶囊的预测以及父母的输出。 与最大池化相比,此方法要有效得多,最大池化可使一层中的神经元只关心上一层中最活跃的特征检测器。 而且,与最大池化不同,胶囊不会丢弃有关实体或其姿势的精确位置的信息。

Calculating vector inputs and outputs of a capsule:

计算胶囊的矢量输入和输出

Because the length of the activity vector represents the probability that an entity exists in the image, it has to be between 0 and 1. Squash function will ensure that short vectors’ length will get shrunk to almost 0 and long vectors’ one will get shrunk to slightly below 1.

由于活动矢量的长度表示图像中存在实体的概率,因此活动矢量的长度必须介于0和1之间。Squash函数将确保短矢量的长度缩小到几乎0,长矢量的长度缩小。到略低于1。

Except the first layer of capsules, the total input to a capsule is a weighted sum over all prediction vectors from the capsules in the previous layer.

除胶囊的第一层外,胶囊的总输入是来自上一层胶囊的所有预测向量的加权总和。

Total input to a capsule. c_ij are coupling coefficient.
胶囊的总输入量。 c_ij是耦合系数。

These prediction vectors are produced by multiplying the output of a capsule in the layer below by a weight matrix.

这些预测向量是通过将下面一层中胶囊的输出乘以权重矩阵而产生的。

Prediction vectors.
预测向量。

The coupling coefficients c_ij are determined by the iterative dynamic routing process. Between a capsule and all the capsules in the layer above, they are sum to 1 and are determined by a softmax function whose initial logits b_ij are the log prior probabilities that capsule i should be coupled to capsule j.

耦合系数c_ij由迭代动态路由过程确定。 在一个胶囊和上一层中的所有胶囊之间,它们之和为1,并由softmax函数确定,该函数的初始对数b_ij是应将胶囊i耦合到胶囊j的对数先验概率。

Coupling coefficients.
耦合系数。

The initial logit b_ij are later updated by adding scalar product:

初始logit b_ij随后通过添加标量乘积进行更新:

Routing algorithm for CapsNet
CapsNet的路由算法

Margin loss for digit existence:

数字存在的保证金损失

The top-level capsule for an object class should have a long instantiation vector if that object is present in the image. To allow multiple class, the authors use a separate margin loss for each capsule:

如果图像中存在该对象,则该对象类的顶级胶囊应具有长的实例化向量。 为了允许多个类别,作者对每个胶囊使用单独的保证金损失:

Margin loss for each capsule k. T_k = 1 if object of class k is present. m+ = 0.9, m- = 0.1, λ = 0.5.
每个胶囊k的保证金损失。 如果存在类别k的对象,则T_k = 1。 m + = 0.9,m- = 0.1,λ= 0.5。

This ensures that if an object of class k present, the loss should be no less than 0.9 and if it doesn’t, the loss should be no more than 0.1.

这样可以确保,如果存在k类对象,则损失应不小于0.9,如果不存在,则损失应不大于0.1。

The total loss is the sum of the losses of all object capsules.

总损失是所有目标胶囊损失的总和。

CapsNet architecture for MNIST

MNIST的CapsNet架构

A simple CapsNet architecture consist of 2 convolutional layers and one fully connected layer.
一个简单的CapsNet体系结构由2个卷积层和1个完全连接的层组成。

CapsNet achieved state-of-the-art performance on MNIST after just a few training epoch. After training for about 6-7 epoch with this implementation, CapsNet was able to achieve about 99% accuracy on test set. The rest were negligible improvement.

只需几次培训,CapsNet就在MNIST上取得了最先进的性能。 在使用此实现训练了大约6-7个纪元之后,CapsNet能够在测试集上实现大约99%的准确性。 其余的改善可忽略不计。

Regularization by reconstruction

重建正则化

Decoder structure to reconstruct digit from DigitCaps layer.
解码器结构,可从DigitCaps层重建数字。

The authors used reconstruction loss to encourage the digit capsules to encode the instantiation parameters of the input digit. It learns to reconstruct the image by minimizing the squared difference between the reconstructed image and the input image. The loss will be the sum of margin loss (||L2||) and reconstruction loss. However, to prevent the domination of reconstruction loss, it was scaled down to 0.0005.

作者使用重建损失来鼓励手指囊对输入手指的实例化参数进行编码。 它通过最小化重建图像和输入图像之间的平方差来学习重建图像。 该损失将是余量损失(|| L2 ||)与重建损失之和。 但是,为了防止控制重建损失,将其缩小到0.0005。

An example of image reconstruction.
图像重建的例子。

Drawbacks:

缺点

When dealing with dataset that the backgrounds are much too varied (like CIFAR-10), CapsNet performs poorly compared to other state-of-the-art architectures.

当处理背景差异太大的数据集(如CIFAR-10)时,与其他最新体系结构相比,CapsNet的性能较差。

Youtube: https://www.youtube.com/watch?v=pPN8d0E3900

YouTube: https : //www.youtube.com/watch?v = pPN8d0E3900

翻译自: https://medium.com/xulab/review-dynamic-routing-between-capsules-ea9c2fb64765

胶囊路由


http://www.taodudu.cc/news/show-863819.html

相关文章:

  • 交叉验证python_交叉验证
  • open ai gpt_您实际上想尝试的GPT-3 AI发明鸡尾酒
  • python 线性回归_Python中的简化线性回归
  • 机器学习模型的性能指标
  • 利用云功能和API监视Google表格中的Cloud Dataprep作业状态
  • 谷歌联合学习的论文_Google的未来联合学习
  • 使用cnn预测房价_使用CNN的人和马预测
  • 利用colab保存模型_在Google Colab上训练您的机器学习模型中的“后门”
  • java 回归遍历_回归基础:代码遍历
  • sql 12天内的数据_想要在12周内成为数据科学家吗?
  • SorterBot-第1部分
  • 算法题指南书_分类算法指南
  • 小米 pegasus_使用Google的Pegasus库生成摘要
  • 数据集准备及数据预处理_1.准备数据集
  • ai模型_这就是AI的样子:用于回答问题的BiDAF模型
  • 正则化技术
  • 检测对抗样本_避免使用对抗性T恤进行检测
  • 大数据数据量估算_如何估算数据科学项目的数据收集成本
  • 为什么和平精英无响应_什么和为什么
  • 1. face_generate.py
  • cnn卷积神经网络应用_卷积神经网络(CNN):应用的核心概念
  • 使用mnist数据集_使用MNIST数据集上的t分布随机邻居嵌入(t-SNE)进行降维
  • python模型部署方法_终极开箱即用的自动化Python模型选择方法
  • 总体方差的充分统计量_R方是否衡量预测能力或统计充分性?
  • 多尺度视网膜图像增强_视网膜图像怪异的预测
  • 多元线性回归中多重共线性_多重共线性如何在线性回归中成为问题。
  • opencv 创建图像_非艺术家的图像创建(OpenCV项目演练)
  • 使用TensorFlow进行深度学习-第2部分
  • 基于bert的语义匹配_构建基于BERT的语义搜索系统…针对“星际迷航”
  • 一个数据包的旅程_如何学习数据科学并开始您的惊人旅程

胶囊路由_评论:胶囊之间的动态路由相关推荐

  1. gateway动态路由_无语!SpringCloud Gateway动态路由之Nacos,我已经讲得很清楚了

    前言 当我们的网关Gateway程序开发完成之后,需要部署到生产环境,这个时候你的程序不能是单点运行的,肯定是多节点启动(独立部署或者docker等容器部署),防止单节点故障导致整个服务不能访问,网关 ...

  2. 关于胶囊之间的动态路由的理解(基于Hinton的胶囊网络)

    原文章:https://blog.csdn.net/bhneo/article/details/79391469 本文介绍了由Sara Sabour,Nicholas Frosst和Geoffrey ...

  3. 华为模拟器——静态路由的原理与配置、动态路由

    静态路由的原理与配置.动态路由 路由技术: 二层(数据链路层)--交换机:mac地址.mac地址表(转发数据的依据). 三层(网络层)--路由器:IP地址.路由表(数据转发表). 一.路由表的主要作用 ...

  4. 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由

    嵌套路由 通过路由实现组件的嵌套展示 在about内嵌套路由 <template><div class="about-container"><h3&g ...

  5. HCIA-RS自用笔记(13)路由典型问题案例分析、动态路由概述

    路由典型问题案例分析(7/19,27min) Windows配置路由 示例:> route PRINT> route PRINT -4> route PRINT -6> rou ...

  6. vue的动态路由(登录之后拿到动态路由通过addRouters()动态添加路由)

    登录后我们拿到路由动态路由,后端传的数据可能为这个 {path: '/index',meta: {title: '首页',icon: 'icon-shouye',tab_index: 0, //给头部 ...

  7. win10 软路由_上网装置升级:软路由开箱体验+爱快系统体验

    目前的无线路由器(也就是硬路由)已经无法满足使用的需求了,由此就诞生了一个新的事物:软路由 软路由和硬路由本质上的差别不大,但软路由的性能要远高于硬路由,而且软路由方便后台管理,可以很好的控制自己的网 ...

  8. seo vue 动态路由_基于vue.jsvue-router的动态更新TDK(SEO优化)

    本文基于工作项目开发,做的整理笔记 前几天帮朋友解决这个问题,顺带学习了一下,做个笔记Mark下. 前提条件: 你已经了解并使用vue,能够搭建应用站点. 编码环境: system:OS X EI C ...

  9. 自动路由_小米路由器Mesh首销 多路由自动切换/为智能家居而生

    [CNMO新闻]在小米.米家推出的众多生态链产品中,小米路由器的销量非常大,但是口碑却不尽如人意,尤其是在连接小米智能家居设备时,稳定性很差,时常断连.不过,这种糟糕的用户体验在小米路由器Mesh推出 ...

最新文章

  1. java.lang.ClassNotFoundException
  2. flash写保护原理_老司机带路:LPC82x 存储器及读写保护 手到擒来!
  3. 腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊
  4. clob和blob是不是可以进行模糊查询_你知道什么是 MySQL 的模糊查询?
  5. oracle 结果缓存,Result cache结果缓存
  6. python中list_python中list方法详解说明
  7. 【Flink】Flink Failed to push metrics to PushGateway Connect refuse
  8. 共享单车或开启了物联网的大门,新的变革即将开启
  9. 【报告分享】2020年她趋势报告.pdf(附下载链接)
  10. CodeBlocks调试功能(转)
  11. Struts2,在Action中使用session
  12. Get “https://proxy.golang.org/github.com/“: dial tcp 216.58.200.49:443: connect: connection refused
  13. QT写的U盘批量复制小工具
  14. Orcad allegro 安装补丁
  15. python 关键词 抓取网页_python网络爬虫爬取网页内容
  16. TabIndex的问题
  17. 强大的可配置业务化后台管理系统
  18. Hibernate_day01
  19. ssl证书怎么购买?买多少钱的ssl证书合适?
  20. 网站遭到恶意攻击有什么危害

热门文章

  1. 关于might_sleep的一点说明---CONFIG_DEBUG_ATOMIC_SLEEP【转】
  2. webstorm中配置svn
  3. 如何上传本地图片到PictureBox控件
  4. HDU1002 大数相加
  5. a标签href不跳转_[网页编程]-06 HTML5 超链接标签
  6. android 页面过渡动画,Activity过渡动画的实现方法
  7. Obtain a Permutation(思维)
  8. 这是一个沙雕题II(思维好题)
  9. 数模笔记_随机模型之马尔可夫链
  10. java接口有非抽象方法_如果一个类没有实现Java接口的所有抽象方法,会发生什么?...