技术原理

胶囊神经网络-嵌套神经层集

成为一个认证的专业胶囊网络:

什么是胶囊网络?它基本上是一组嵌套的神经层网络。

我建议你们也浏览下面的博客:

单层感知器神经网络教程反向传播

我假设你们知道卷积神经网络(CNN)。在这里,我也会给大家一个小的介绍,这样我就可以讨论CNNs的局限性了。

您也可以参考下面关于卷积神经网络的视频。

卷积神经网络(CNN)

卷积神经网络,基本上都是层层叠加的人工神经元,用于计算机视觉。下面,我已经提到了这些层:

Convolutional Neural Network - Capsule Neural Network - Edureka

卷积层:当我们使用前馈神经网络(多层感知器)进行图像分类时,它有很多挑战。最令人沮丧的挑战是,它引入了很多参数,考虑到CNN上的视频教程,

克服了这个挑战卷积层被引入,在空间上更接近的像素在形成一个特定的感兴趣特征时将比在图像的相对角上的像素“合作”。此外,如果在定义图像标签时发现某个特定(较小)特征非常重要,那么同样重要的是,如果在图像中的任何位置发现了该特征,不管位置如何,

ReLU层:整流线性单元(ReLU)变换函数只在输入大于某个数量时激活一个节点,而输入小于零时,输出为零,但当输入高于某个阈值时,它与因变量有线性关系。

在这个层中我们删除过滤图像中的每个负值,并将其替换为零。这样做是为了避免将这些值相加为零

ReLU Activation Function - Capsule Neural Networks - Edureka

池层:这用于执行下采样,这将消耗图像中较小且(通常)不相交的块,并将它们聚合为单个值。聚合有几种可能的方案——最流行的是最大池,其中取每个块中的最大像素值。它使网络对输入图像中的小变换、失真和转换保持不变(输入中的小失真不会改变池的输出,因为我们取本地邻域中的最大值/平均值)。

完全连接层:该层将计算类分数,其中每个数字对应一个班级分数。正如普通的神经网络,顾名思义,这一层中的每一个神经元都将连接到前一层中的所有神经元。简而言之,它执行最终的分类。

注意:此模型的训练是通过反向传播完成的,因此您可以在反向传播上查看此单独的博客。

这样,ConvNets将原始图像从原始像素值逐层转换为最终的类分数。

这是卷积神经网络的一个非常简短的介绍,我仍然建议您查看我在这篇文章中嵌入的CNN视频。

在这个胶囊网络博客中,我现在将讨论卷积神经网络的一些局限性,卷积神经网络的局限性,好吧,让我用一个类比来解释,假设有一个人,他的眼睛可以探测到各种图像的特征。让我们以一个人的脸为例。因此,这个不幸的家伙可以识别各种特征,如眼睛、鼻子等,但是,却无法识别特征之间的空间关系(视角、大小、方向)。例如,下面的图片可能会愚弄那个人,把它归类为一张很好的人脸素描。

Limitations of Convolutional Neural Networks - Capsule Networks - Edureka

这也是卷积神经网络的问题。CNN是g善于检测特征,但会错误地激活用于人脸检测的神经元。这是因为它在探索特征之间的空间关系方面效率较低。

一个简单的CNN模型可以正确地提取鼻子、眼睛和嘴巴的特征,但会错误地激活用于人脸检测的神经元。如果没有意识到空间方向和大小的不匹配,人脸检测的激活率会太高。

CNN - Capsule Networks - Edureka

这个限制是因为最大池层。

CNN中的最大池处理平移方差。即使某个功能稍微移动了一点,如果它仍然在池窗口中,仍然可以检测到它。然而,这种方法只保留了最大特征(最主要的特征),而丢弃了其他特征。

,因此,上面显示的人脸图片将被归类为普通人脸。池层还添加了这种类型的不变性。

这不是池层的意图。池应该做的是引入位置、方向和比例不变性。

实际上,这个池层添加了各种位置不变性。如上图所示,这也导致了正确检测人脸的难题。

让我们看看杰弗里·辛顿提出的解决方案。

如何解决这个问题现在,我们假设每个神经元包含特征的可能性和属性。例如,它输出一个包含[似然,方向,大小]的向量。利用这些空间信息,我们可以检测鼻子、眼睛和耳朵特征在方向和大小上的一致性,从而为面部检测输出一个低得多的激活。

在Geoffrey Hinton发表的论文中,这些类型的神经元被称为胶囊。这些胶囊输出一个向量,而不是一个单独的标量值。

让我来说明什么是胶囊网络。

什么是胶囊网络“胶囊”基本上是一组嵌套的神经层。胶囊内神经元的状态捕捉图像中一个实体的各种属性,如姿态(位置、大小、方向)、变形、速度、纹理等。“胶囊”不是捕捉具有特定变体的特征,而是训练胶囊捕捉特征及其变体的相似性。因此,胶囊的目的不仅是检测特征,而且是训练模型学习变体。

,这样同一个胶囊可以检测具有不同方向的同一对象类(例如,顺时针旋转):

Capsule Neural Network Example - Capsule Networks - Edureka

我们可以说它是在等变而不是不变的情况下工作。

不变:是检测特征而不管变量是什么。例如,鼻子检测神经元检测鼻子而不考虑方向。

等变:是检测可以相互转换的对象(例如,检测具有不同方向的脸)。直观地,胶囊网络检测到面部向右旋转31°(等变),而不是实现面部匹配旋转31°。通过强迫模型学习胶囊中的特征变量,我们可以用较少的训练数据更有效地推断可能的变量。此外,我们可以更有效地拒绝对手。

胶囊输出一个向量来表示实体的存在。向量的方向表示实体的属性。

向量被发送到神经网络中所有可能的父节点。对于每个可能的父对象,胶囊都可以找到预测向量。预测向量是根据预测向量自身的权重和权重矩阵相乘计算出来的。无论哪一个母体具有最大的标量预测向量积,都会增加胶囊键。其余的父母减少了他们的关系。这称为协议路由。

这绝对是比最大池更好的方法,in哪个路由是基于在较低层中检测到的最强特性。

在这之后添加了挤压函数。这样做是为了引入非线性。这个挤压函数应用于每个胶囊的矢量输出。

现在让我告诉你胶囊网络是如何工作的。

胶囊网络是如何工作的让我们退一步。在完全连接的网络中,每个神经元的输出是输入的加权和。

Fully Connected Network - Capsule Neural Network - Edureka

现在,让我们看看在胶囊网络中会发生什么。

胶囊神经网络:

让我们考虑一个胶囊神经网络,其中“ui”是下一层胶囊“i”的活动向量。

步骤–1:将转换矩阵Wij应用于上一层胶囊输出ui。例如,使用m×k矩阵,我们将k-D u i转换为m-D u^j | i.((m×k)×(k×1)=m×1)。

Capsule Neural Network Input - Capsule Neural Network - Edureka

Prediction Vector - Capsule Neural Network - Edureka这是来自上面的胶囊“i”对胶囊“j”的输出的预测(投票)。“vj”是

上一层中胶囊“j”的活动矢量第2步:使用权重cij计算加权和sj。cij是耦合系数。这些系数之和等于1。这是我们之前讨论的胶囊组关系的实际参数。

Weighted Sum - Capsule Neural Networks - Edureka

步骤3:在卷积神经网络中,我们使用ReLU函数。在这里,我们将应用一个压缩函数在0和单位长度之间缩放向量,它将小向量压缩为零,将长向量压缩为单位向量。因此,每个胶囊的可能性限定在0和1之间。

Squashing Function - Capsule Neural Networks - Edureka

Convolutional Neural Network - Capsule Neural Network - Edureka1”

Convolutional Neural Network - Capsule Neural Network - Edureka2”是胶囊“i”对上述胶囊“j”的输出的预测(投票)。如果活动向量与预测非常相似我们的结论是,胶囊“i”与胶囊“j”高度相关。(例如,鼻囊与面囊高度相关)使用预测和活动向量的标量积来测量这种相似性。因此,相似性同时考虑了相似性和特征属性。(而不仅仅是神经元的相似性)。

第4步:计算相关性得分“bij”。它将是活动向量和预测向量的点积,耦合系数cij计算为bij的softmax:

Convolutional Neural Network - Capsule Neural Network - Edureka3”

耦合系数cij计算为bij的softmax。

Coupling Coefficient - Capsuule Neural Networks - Edureka

此bij以多次迭代更新迭代。

Updating Relevance - Capsule Neural Networks - Edureka

这被称为协议路由。

下图是一个示例:

Capsule Neural Network Architecture - Capsule Networks - Edureka

在胶囊网络上的这个博客之后,我将要发表一篇关于胶囊神经网络实现的博客,使用TensorFlow。

我希望你喜欢阅读胶囊网络的博客,看看Edureka,一家值得信赖的在线学习公司,拥有超过250个网络的TensorFlow培训的深度学习,000名满意的学习者遍布全球。Edureka Deep Learning with TensorFlow Certification Training课程帮助学习者成为训练和优化基本和卷积神经网络的专家,使用实时项目和任务以及SoftMax函数、自动编码器神经网络等概念,限制玻尔兹曼机器(RBM)。

有问题吗?请在评论部分提到它,我们会给你回复的

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
人工智能专业大学排名分数线 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录