专栏首页ATYUN订阅号深入了解Hinton的Capsule神经网络,第二部分:如何运作

深入了解Hinton的Capsule神经网络,第二部分:如何运作

在这个系列的第一部分,我谈到了架构的直观介绍和动机。在这部分,我将描述Capsule是如何在内部运作的。

第一部分:http://www.atyun.com/10006_深入了解Hinton的Capsule神经网络,第一部分:直观地介绍.html

Capsule是如何工作的? 让我们将Capsule与人造神经元进行比较。下表总结了Capsule和神经元之间的区别:

Capsule和神经元之间的重要区别

一个神经元接收来自其他神经元的输入标量,然后将它们的标量的权重和总和相乘。然后,这个总和被传递给许多可能的非线性激活函数中的一个,主要根据函数接受输入和输出一个标量。这个标量是神经元的输出,它将作为其他神经元的输入。这个过程的总结可以在上面的表格和下图中右边的内容上看到。从本质上说,人工神经元可以用3个步骤来描述:

1.输入标量的标量权重 2.加权输入标量的和 3.标量到标量非线性

左:Capsule;右:人工神经元

另一方面,Capsule除了上面三个步骤的向量形式,还有新的步骤和输入的仿射变换:

1.输入向量的矩阵乘法 2.输入向量的标量权重 3.加权输入向量的总和 4.向量到向量非线性

现在让我们更好地看一下Capsule内部的4个计算步骤。

1.输入向量的矩阵乘法 Capsule接收到的输入载体(图中的u1、u2和u3)来自于下面这一层的另外3个Capsule。这些向量的长度编码了较低的Capsule检测到它们对应的对象和向量方向的概率,并对检测到的对象的内部状态进行编码。让我们假设较低层次的Capsule分别检测眼睛、嘴巴和鼻子,而稍好些的Capsule检测到的是面部。

然后,这些向量乘以相应的权重矩阵W,它编码了重要的空间和其他低层次特征(眼睛、嘴和鼻子)和高层次特征(面部)之间的关系。例如,矩阵W2j可以对鼻子和面部的关系进行编码:面部以鼻子为中心,其大小是鼻子的10倍,而在空间上的方向与鼻子的方向一致,因为它们都在同一个平面上。对于矩阵W1j和W3j,也可以得出类似的结果。在这些矩阵相乘之后,我们得到的是更高层次特征的预测位置。换句话说,根据检测到的眼睛的位置,u1hat代表了人脸的位置,根据检测到的嘴巴的位置,u2hat代表了人脸的位置,根据鼻子的检测位置,u3hat代表了人脸的位置。

这时你可能会认为:如果这3个低层次特征的预测指向面部的同一个位置和状态,那么它一定是一张脸。

2.输入向量的标量权重 乍一看,这个步骤似乎非常熟悉,因为人工神经元会在添加它们之前,对输入进行加权。在神经元的情况下,这些权重是在反向传播过程中得到的,但Capsule是通过“动态路由选择(dynamic routing)”来确定的,这是一种确定每个Capsule的输出位置的新方法。

低层次的的Capsule将把它的输入发送到与它的输入“一致”的更高层次的Capsule。这是动态路由选择算法的本质

在上面的图片中,我们有一个低层次的Capsule,它需要“决定”它将向哪个更高层次的Capsule发送它的输出。它将通过调整权重C来决定这个Capsule的输出,然后再把它送到左侧或右侧更高层次的capsule J和capsule K中。

现在,更高层次的capsule已经从其他低层次的capsule中获得了许多输入载体。所有这些输入都用红色点和蓝色点表示。当这些点聚集在一起时,这就意味着较低层次的capsule的预测是相互接近的。这就是为什么,为了举个例子,在两个capsule J和capsule K中都有一个红色的点。

那么,我们的低层次的capsule应该把它的输出送到哪里呢? 是capsule J还是capsule K? 这个问题的答案是动态路由算法的本质。低层次capsule的输出,当乘以相应的矩阵W,远离在capsule J中“correct”预测的红色集群capsule J.另一方面,如果将非常接近在右侧的capsule K 中的“true”预测的红色集群.低层次capsule有一个测量机制,高层次capsule更好地适应其结果和将自动调整其权重,这样重量C对应的capsule K会变高,对应的capsule J会变低。

3.加权输入向量的总和 这一步骤类似于常规的人工神经元,并表示输入的组合。我不认为这一步有什么特别之处(除了它是向量和标量之和)。因此,我们可以进入下一个步骤。

4.“挤压(squash)”:新式的向量到向量非线性 CapsNet引入的另一个创新是新的非线性激活函数,该函数取一个向量,然后将其挤压到长度不超过1,但不会改变它的方向。

在不改变方向的情况下,挤压非线性scale输入向量

等式的右边(蓝色矩形)缩放具有单位长度的输入向量su,,左侧(红色矩形)执行额外的缩放。记住,输出向量的长度可以被解释为被capsule探测到的一个给定特征的概率。

下图是对一维向量应用的挤压函数(squashing function),它是一个标量。我把它包含在这个函数的非线性形状中。只有在一维情况下才有意义;在实际应用中,它会取向量和输出一个向量,这是很难想象的。

结论 我们看到,capsule的设计是建立在人工神经元的设计之上的,但将其扩展到向量形式,以获得更强大的表征能力。它还引入了矩阵权重来对不同层次的特性之间的重要层次关系进行编码。结果得出:神经元活动与在特征检测的输入和不变性方面的变化是一致的。

capsule的内部工作原理

请注意,这里没有偏差,因为它已经包含在可以容纳它和其他更复杂的转换和关系W矩阵中。本系列的第二部份结束,今后的文章将讨论Capsules算法的动态路由选择,以及该网络结构的详细介绍。

本文分享自微信公众号 - ATYUN订阅号(atyun_com),作者:Yining

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SparkCognition和Global HITSS合作,为各行业推进数字化转型提供人工智能解决方案

    SparkCognition和Global HITSS宣布结成战略联盟,扩大在整个25个国家的公司使用的人工智能应用。

    AiTechYun
  • 一个机器人的新年愿望

    当时的我,没有眼睛,也没有耳朵,甚至没有一个完整的身体,在人类的世界中,我是那么的格格不入,除了一个地方——工厂。

    AiTechYun
  • 英特尔拟收购AI公司Habana Labs,价格或超10亿美元

    根据周二的一份报告,英特尔可能正在洽谈以超过10亿美元的价格收购AI公司Habana Labs。这将是继2016年Movidius和Nervana之后,英特尔第...

    AiTechYun
  • XMLDTD语法详解

    本文详细介绍DTD,包括其对元素的定义,属性的定义,以及实体的定义。

    MonroeCode
  • 产业观察 | “互联网+旅游”迎来更大发展机遇

    ? ? 随着“互联网+”加速与产业融合,数字经济已成为中国发展的新引擎。疫情防控期间,云旅游、无接触服务等数字文旅新业态不断涌现。 此次疫情在给文旅行业带来不...

    腾讯文旅
  • React Relay 实现

    1.query的命名: 注意query前缀保持和js文件名一致,ex: App.js 命名 AppRankTypeQuery 2.schema.graph...

    从今若
  • 文化和旅游部新任党组书记胡和平的“文旅观”

    ? 7月31日,文化和旅游部发布消息,日前,中共中央决定:胡和平同志任文化和旅游部党组书记,雒树刚同志不再担任文化和旅游部党组书记。这位文化和旅游部的新任党组...

    腾讯文旅
  • TCP/IP协议族(三) 数字签名与HTTPS详解

    前面几篇博客聊了HTTP的相关东西,今天就来聊一聊HTTPS的东西。因为HTTP协议本身存在着明文传输、不能很好的验证通信方的身份和无法验证报文的完整性等一些安...

    lizelu
  • session跟踪失效的问题和分析(57天)

    最近碰到一个奇怪的问题,在生产和其他比较正式的环境中进行sql trace都没问题,但就是测试环境的数据库不知道怎么的, 设置sql_trace,开启诊断事件,...

    jeanron100
  • thinkphp6默认不支持命令行CLI模式访问控制器

    打开 /vendor/topthink/framework/src/think/Request.php文件

    93年的老男孩

扫码关注云+社区

领取腾讯云代金券