【论文笔记】CapsNet--视神经模拟(持续更新。。。)

转载请注明出处@Holi!

CapsNetHinton大神2017年10月发表在CVPR上的一篇论文所阐述的一种视神经网络模拟模型。本博客将根据这篇论文所传达的一系列针对计算机视觉和深度学习的新颖观点进行集中汇总,详细阐述。有兴趣可以去看一看这篇文章,语言表达也十分引人入胜:Dynamic Routing Between Capsules by Holi

 

要了解CapsNet的思想,先要了解它的基本原理。Caps-Net是一种神经网络模型,由Capsule组成,通过迭代的路径选择激活来模拟视神经。Capsule,意为胶囊,是一组特定的神经元。这种神经元的活动矢量(activity vector)用来表示一种特定的实体(如:一个物体或者物体的一部分)的示例参数(instantiation parameters,如姿势(位置,大小,方向),变形,速率,反射率,色彩,文字等)。这个活动矢量的长度用来表示这个实体存在的概率,活动矢量的方向代表了示例参数,即表示决定实体是否存在以及存在的形式。

Caps-Net的每一层网络由这样的胶囊结构组成。每一层中被激活的胶囊会通过转换矩阵(transformation matrices)来预测下一层胶囊的示例参数。当这一层中的胶囊对预测产生一致的意见时(博主认为是采用的少数服从多数的判断策略),下一层相应的胶囊会被激活。

模型所采用(代替bp)的循环学习机制叫做协议路径机制(routing-by-agreement):即低一层胶囊的活动矢量和高层胶囊的预测结果的点积(scalar product)结果大,则低层的胶囊倾向于将它的结果输出给此类高层胶囊。整个网络遵循这样的学习机制从低层向高层进行信息传递。

作者在Intro中介绍了一种人类视觉的研究观点,作者认为人类的视觉会注视一个点(fixation)来保证高分辨率地处理这部分光学数组(optic array),从而忽略不相关的细节因素。反省(Introspection)对于理解注视点场景的信息没有多大用处,博主认为是在说之前学术界研究中bp反向传播的弱点。这篇论文假设在这一个高分辨率的注视点(注意:高分辨率!)所得到的信息不仅仅只是一个简单分辨的物体和它的属性,而是在这一个注视点上用我们多层视觉系统来创建一个解析树状结构(parse tree-like structure),同时忽略各注视点之间的联系。博主认为就是在每一次凝视时用解析树表达,而人的眼球转动时是在凝视一个点到另一个点之间切换,凝视的时间越长,意味着这个点的分辨率越高,而每次扫视能够获得一个低分辨率但是全面的场景。虽然作者这里采用的视觉神经系统的解释很引人入胜,但是博主认为这只能表示眼睛的一种状态。在眼睛从闭合到睁开的一瞬,我们其实是能看到并分辨所在场景的,而对于每个物体的分类则要second glance了。

下一个知识点是,敲黑板,解析树(parse tree)。解析树通常使用动态分配存储的方式来构建。而本文所谈的解析树,是一个凝视点的解析树,是从一个固定不变的多层神经网络中雕刻出来的,就好像从一块石头中雕刻出一个物体。神经网络的每一层会被分成很多组神经元,这些神经元组称为胶囊。解析树上的一个节点对应一个激活的胶囊,也就是用神经网络中激活的神经元组来表示节点。子节点与父节点的关系通过迭代路径选择的过程可知,每一个节点(=激活的胶囊)会选择网络上一层的一个胶囊作为树的父节点。这种迭代过程将部分整合成整体。

激活的胶囊里神经元的活动代表了什么呢?这组神经元的活动表示了图片中某个实体的众多属性,这些属性包括各种各样的示例参数。其中一个很特殊的属性是图片中该实体示例的存在属性(即这种实体的表达方式,比如这个实体是一幅画,这幅画可能是呐喊(bird哈哈哈),可能是梵高自画像,可能是其他东西,我们将这个实体分类为画,实体的示例为特定的一幅画,就说我们看到的是呐喊吧;又或者我们看到的是一个杯子,这可能是个玻璃杯,可能是个咖啡杯,可能是星巴克或者costa,这个实体的分类是杯子,示例是咖啡杯,属性中含有星巴克或者costa的logo)。

表示一个实体是否存在,可以用一个单独的逻辑回归单元来表达,这个单元的输出是实体是否存在的概率。这篇论文采用一个有趣的方式来表达实体的存在属性。用示例属性的向量总长(不大于1)来表示实体的存在,强制使用示例属性的方向表示实体的属性

动态路径选择机制(dynamic routing mechanism)使胶囊的输出能传输到合适的上层父节点

你可能感兴趣的:(论文笔记,Hinton,机器学习,深度学习,计算机视觉)