理解Hinton的Capsule Networks1

来源:互联网 发布:mama投票软件 编辑:程序博客网 时间:2024/04/27 03:29

Capsule Networks架构

这里写图片描述

1 卷积网络的缺点
对于CNN中当检测人脸时,通常检测出脸的轮廓,2个眼镜,一个鼻子和一个嘴巴就可以了。方向性和相关性空间关系对于CNN来说不重要。
那么CNN是如何工作的呢,CNN主要组成部分是卷积层,在图像像素中检测重要特征,最初几层学习检测简单特征例如边界盒颜色梯度,高层将结合简单特征到更复杂特征。最后密集层(全连接层)将结合高层特征输出分类预测。
一个重要的事是高层特征结合底层特征作为一个加权和:之前层的激活值乘上后面层的神经元权重后相加,然后输入到非线性激活函数中。
在这个设置中,没有任何地方在构成更高级别特征的简单特征之间存在姿态(平移和旋转)关系。CNN使用max pooling或者连续的卷积层来解决这个问题减少数据空间大小,隐藏增加高层神经元的视觉域,因此允许他们检测更高阶特征在大范围内。
Hinton: “The pooling operation used in convolutional neural networks is a big mistake and the fact that it works so well is a disaster。”
当然,我们可以移除max pooling 层仍然得到好的结果,但没有解决关键问题:
卷积网络的内在数据表达没有考虑简单和复杂物体之间的空间层次关系。

3 将3D世界写死到NN:逆图方法
计算机图像处理构造一个可视图像从一些几何数据的内在层次表达。这种表达的结构需要考虑物体的相关位置。内在表达存到计算机内存作为几何物体的数组和相关位置和物体方向性的矩阵。这个过程称为rendering ( 渲染)这里写图片描述

Hinton认为事实上大脑和渲染过程相反。他称为逆图:从眼睛接受的可视信息,分解周围世界的层次化表达,试图使用已经学习的模式和存储在大脑中的关系来匹配。
关键的思想是在大脑中物体的表达不依赖于视角
所以问题是:我们如何建模这种层次化表达在神经网络中?在3D图像学中,3d物体的关系可以由一个称为pose 的来表达,它是平移加旋转。
Hinton认为为了正确地分类和物体识别,保留层次化pose关系在物体部分之间是很重要的。这是关键的直觉,允许你去理解为什么capsule理论如此重要。它结合物体间相关关系和数值上使用4Dpose 矩阵表达。
当这些关系建立到数据的内在表达上时,对于模型去理解它之前已经看过现在换一个视角看的东西。
看到下面图片,你可以很容易识别是自由女神像,及时所有图像从不同角度。这是因为在你大脑中自由女神像的内在表达不取决于视角。这里写图片描述

对于CNN,这个任务实际很难因为没有这种内置的3D空间理解力,但对于CapsNet很简单因为这些关系已经精确地建模了。
Capsule方法的另一个好处在于能学习通过只使用一部分数据效果达到最优。在实践中,Capsule 理论更接近人脑。

结论:
Capsule引入了一个新的结构块,更好的建模网络的内在知识表达之间的层次化关系。
现存的挑战,当前实现比现在的深度网络要慢。并需要看他们是否能在复杂数据和不同领域数据表现依旧好。

阅读全文
0 0
原创粉丝点击