卷积神经网络(CNN)通常由卷积层、池化层和全连接层叠加构成。在卷积过程中,卷积层中的卷积核依次与输入图像的像素做卷积运算来自动提取图像中的特征。卷积核尺寸一般小于图像,并以一定的步长在图像上移动得到特征图。步长设置越大,特征图尺寸越小,但过大步长会损失部分图像特征。此外,池化层作用于产生的特征图上,能保证 CNN 模型在不同形式的图像中识别出相同物体,同时减少模型对图像的内存需求,其最大特点是为 CNN 模型引入了空间不变性。
机器之心分析师网络作者:周宇编辑:H4O本文以综述的形式,尽可能详细的向读者介绍胶囊网络的诞生,发展过程与应用前景。本文的内容以Hinton的标志性文章为基础,结合近年来发表在顶会顶刊的文章为补充,力图详细的让读者们了解胶囊网络的各种版本,熟悉它在不同领域的革命性突破,以及它在目前所存在的不足。深度学习和人工神经网络已经被证明在计算机视觉和自然语言处理等领域有很优异的表现,不过随着越来越多相关任务的提出,例如图像识别,物体检测,物体分割和语言翻译等,研究者们仍然需要更多有效的方法来解决其计算量和精度的问题。在已有的深度学习方法中,卷积神经网络(Convolutional Neural Networks)是应用最为广泛的一种模型。卷积神经网络通常简称为CNN,一般的CNN模型由卷积层(convolutional layer),池化层(pooling layer)和全连接层(fully-connected layer)叠加构成。在卷积的过程中,卷积层中的卷积核依次与输入图像的像素做卷积运算来自动提取图像中的特征。卷积核的尺寸一般小于图像并且以一定的步长(stride)在图像上移动着得到特征图。步长设置的越大,特征图的尺寸就越小,但是过大的步长会损失部分图像中的特征。此外,池化层也通常被作用于产生的特征图上,它能保证CNN模型在不同形式的图像中能识别出相同的物体,同时也减少了模型对图像的内存需求,它最大的特点是为CNN模型引入了空间不变性(spatial invariance)。
Transformer是一种神经网络结构。简单地说,神经网络是分析图像、视频、音频和文本等复杂数据类型的一种非常有效的模型。针对不同类型的数据有专门优化过的的神经网络。例如,在分析图像时,我们通常会使用卷积神经网络。大体来说,它们模仿了人脑处理视觉信息的方式。卷积神经网络,图片来自Renanar2,wikiccommons大约从2012年开始,我们已经用CNN相当成功地解决了视觉问题,比如识别照片中的物体,识别人脸,手写数字识别。但在很长一段时间里,语言任务(翻译、文本摘要、文本生成、命名实体识别等)都没有较好的方法。这很不幸,因为语言是我们人类交流的主要方式。在2017年推出Transformer之前,我们使用深度学习来理解文本的方法是使用一种称为循环神经网络(RNN)的模型,它看起来像这样:循环神经网络,图片来自fdeloche,Wikimedia假设你想把一个句子从英语翻译成法语。RNN将一个英语句子作为输入,一次处理一个单词,然后按顺序吐出对应的法语单词。这里的关键词是“顺序”。在语言中,单词的顺序很重要,你不能随意打乱它们。比如下面的句子:“Jane went looking for trouble。(简到处找麻烦。)”意思与句子非常不同:“Trouble went looking for Jane”(麻烦到处找简。)因此,任何能够理解语言的模型都必须捕捉词序,而循环神经网络是通过在一个序列中,一次处理一个单词来做到的。但是RNN有问题。首先,他们很难处理冗长的文本序列,比如长段落或文章。当他们读到一段的结尾时,他们会忘记开头发生了什么。例如,基于RNN的翻译模型可能很难记住长段落主语的性别。
第一阶段,该模型使用PCAE直接从图像中预测部分模版存在的概率和姿态,并试图通过重新排列部分模板重建原始图像。第二阶段,SCAE使用OCAE预测一些物体胶囊的参数,并试图组织和发现部分和姿势为一组更小的对象,这对于重建图像十分重要。在这个模型中,由现成的神经编码器来实现推理过程,这点与以前的胶囊网络都不相同。其具体的原理如图11所示。图11.Stacked Capsule Autoencoders:(a)部分胶囊将分割输入为部分和姿态,这些姿势随后被放射变换的模板用来重建输入图像;(b)对象胶囊试图把推理出的姿态对应到物体,因此找出潜在的结构信息。具体来说,将一幅图像分割成多个部分并不是件容易的事,所以作者从抽象像素和部分发现阶段开始,提出CCAE(Constellation Capsule Autoencoder),它使用二维点作为部分,给出它们的坐标作为系统的输入。CCAE学习将点集进行建模成为熟悉星座,每一个点都是由独立的相似变换来变形。CCAE能在事先不知道星座的数量和形状的情况下学会给每个点分配对应的星座。之后作者还提出了PCAE(Part Capsule Autoencoder),它学着从图像中推理出它的部分和姿势。最后,叠加OCAE(Object Capsule Autoencoder),OCAE与CCAE高度相似。在CCAE中,一组二维输入点如图12所示,首先对其进行编码到K个对象胶囊中,一个对象胶囊k包含着一个胶囊特征向量ck,它的存在概率ak在0到1之间,然后还存在在一个3x3的对象-观察者关系矩阵,矩阵代表着对象和观察者之间的仿射矩阵。图12.超过三个点的在不同位置,不同尺度和方向的无监督分割。