【Transforming Auto-encoders】: G E Hinton, A Krizhevsky, S D Wang. Transforming auto-encoders[C]. //ICANN2011

Introduction 第三段 Page 2

首先需要明确的是一个capsule本身代表了一个visual entity的隐式定义。它的输入是一个图像(图像块),它的输出包括两个部分:(1)probability,即输入的图像属于这个capsule所隐式定义的entity的可能程度,这是一个标量;(2)instantiation parameter,即当前这个图像块相对于这个capsule本身定义的entity的pose,这是一个向量。

举一个例子,假如有一个capsule,本身是隐式定义了一个鼻子,这个鼻子我们假设是一个正正规规,大小合适的鼻子,我们称之为canonical entity,然后由于环境条件(比如光照,照射角度),我们有一个图像块(一个倾斜的鼻子),我们将这个倾斜的鼻子表述为instantiation entity,这个instantiation entity就是当前这个capsule的输入,如果这个capsule能够work的话,他的probability输出应该是一个大值(即这个capsule能够识别出歪鼻子也是鼻子),他的instantiation parameters反应的就是这个instantiation entity相对于canonical entity的pose。

以上是我对capsule的认知。结合到这一段,Hinton认为capsule一个优势就是能够通过识别物体的part达到识别物体的whole的能力。

比如人脸识别,training set中的特定人脸,我们可以认为是一个canonical entity,这里我把它称为canonical face,然后由于环境条件的问题,我们得到同一个人的另一张图像,比如一个侧脸。

基于这样的认知:一个人鼻子和嘴巴的空间关系大致是固定的,正面照,鼻子和嘴巴是什么关系,侧面照,也有类似的空间关系,即文中所述的viewpoint-invariance.

我们现在有三个capsule,A隐式定义了这个人的nose,B隐式定义了这个人的mouth,在A和B的上面有一个C,隐式定义了这个人的face。

TA表示canonical nose和instantiation nose之间的转换关系

TAC表示nose和face之间的坐标转换关系

显然TA和TAC都是我们可以学习到的。进一步的,我的一个猜想,这个TA是不是就是A这个capsule中一些参数,比如类似于CNN中filter的weight,来表示的,而C实际上的输入应该是A的输出,所以TAC就是C这个capsule的一些参数表示的。下面这个TC就是这两个参数的某种combination。

TC表示canonical face和instantiation face之间的转换关系,这个是未知的。

我们可以从TA和TAC得到一个TC,即文中所述一个prediction,也可以从TB和TBC得到一个TC,另一个prediction。基于前面所述的viewpoint-invariance,如果当前的这个instantiation face和canonical face表示的是同一个人的face,那么这两个prediction应该差不多,即文中所述的these predictions are a good match。如果两个prediction差太多,那么这个instantiation face可能就不是canonical face中的那个人。

更进一步,我们可以从两个TC去取average,进而得到一般的情况下instantiation face和canonical face之间的关系(这两个face是同一个人)。

基于以上我们就可以通过parts来识别whole。

论文中这段文字也进一步说明了capsule的输出就是当前instantiation相对于canonical的一种pose。

论文阅读笔记:【Transforming Auto-encoders】的更多相关文章

  1. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  2. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  3. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  4. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  5. [置顶] 人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

  6. Nature/Science 论文阅读笔记

    Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...

  7. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  8. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

  9. [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering

    [论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...

  10. [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

    [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...

随机推荐

  1. ionic3开发ios端

    ionic框架是一端开发,三端适用(android端,ios端,web端),意思是在其中一端开发的代码,拿到另外两端,代码同样生效 那现在就说一下在web端开发拿到ios端开发前需要做的事情 开发io ...

  2. Windows Server 2012 R2域控制器部署

    1. 概述 该文档描述了在Windows 2012R2 系统上搭建域控的方式. 2. 具体步骤 2.1 首先我们先配置好IP地址.计算名(默认的计算机名比较长,后期其它计算机加入域控的时候需要输入比较 ...

  3. python中的进程池和线程池

    Python标准模块-concurrent.futures #1 介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ...

  4. linux grep find查找文件夹、代码中的某行/字符串

    本文转载于:https://blog.csdn.net/Mr_Cat123/article/details/80541658 在Linux中,由于文件很多,代码很长,可能我们只知道其中的一两个字符串, ...

  5. icpc2018-焦作-D-几何模拟

    https://nanti.jisuanke.com/t/34142 上午可能是供氧不足,推的式子死活不对,晚上莫名其妙又来了一次就过了. 分两种情况讨论,如果能够完全进入弯道答案就是固定的就是: s ...

  6. 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,

    //判断网页打开浏览器类型,PC 手机端,微信浏览器,,, <script type="text/javascript"> var browser = { versio ...

  7. Linq(一)

    概述 LINQ是.NET框架的扩展,它允许我们以使用SQL查询数据库的方式来查询数据集合. 使用LINQ,你可以从数据库.程序对象集合以及XML文档中查询数据. 需要注意的是,对于比较简单的功能,与其 ...

  8. .Net Core2.1 部署到IIS

    1. 发布网站,和.net framework MVC一样 2.安装WindowsHosting和.Net Core SDK 下载地址:https://www.microsoft.com/net/do ...

  9. session和cookie的应用场景和区别

    cookie存于客户端,session存于服务器端. cookie的作用是与服务器进行交互,作为http规范的一部分存在,而web storage是为了在本地存储“数据”而生. cookie应用场景: ...

  10. SocketServer模块,hmac模块验证client合法性

    hmac模块: 1.模块初识: import hmac # h = hmac.new() #括号里要给它连个bytes类型,一个是自定义的secret_key,一个是你想进行加密的bytes # 密文 ...