胶囊神经网络:什么是、它是如何工作的、架构和组件

已发表: 2020-04-03

你如何识别事物? 如果我写“他们的”和“蒂尔”,你会把它们都读成“他们的”吗? 你的答案可能是肯定的。

您的大脑可以识别主要特征并帮助您识别事物。 这就是为什么您可以轻松识别面孔的原因。 胶囊神经网络的工作方式类似。 在本文中,我们将了解它们是什么以及它们是如何工作的。 如果您对机器学习算法感兴趣,那么您一定会喜欢这篇文章。 那么,让我们开始吧。

目录

什么是胶囊神经网络?

胶囊神经网络专注于生物神经网络的复制,以执行更好的识别和分割。 它们是一种人工神经网络。 它们在胶囊神经网络的一层下面有一个嵌套层,这就是“胶囊”这个词的含义。

这些网络中的胶囊决定了对象特征的参数。 假设你的胶囊网络必须识别一张脸。 胶囊将专注于确定是否存在特定的面部特征。 他们不仅限于此。 他们还将检查特定面部的特征是如何组织的。 因此,只有当胶囊确定面部元素的顺序正确时,您的系统才能识别面部。

您可能想知道,它们如何确定这些特征的顺序? 这些网络可以这样做,因为您提供了他们的输入。 当他们检查了数百(甚至数千)张图像时,他们可以有效地执行此任务。

了解更多:神经网络:现实世界中的应用

胶囊网络如何工作?

现在,让我们看看这些网络是如何运作的。 最初,胶囊执行权重矩阵与输入向量的矩阵乘法。 这为我们提供了有关几个低级和高级特征之间的空间关系的信息。

之后,胶囊选择父胶囊。 他们通过动态路由进行选择,我们将在本文后面讨论。 一旦他们选择了他们的父胶囊,他们就会发现当他们坚持自己的方向时,向量的总和在 0 和 1 之间被挤压。 您通过使用坐标系的范数作为存在概率和余弦距离作为一致性度量来执行挤压。

标准神经网络和胶囊神经网络之间存在显着差异。 虽然胶囊网络使用胶囊来封装有关图像的基本信息,但标准神经网络为此使用神经元。 胶囊产生向量,而神经元只能产生标量。 由于这个原因,胶囊可以识别面部(或特定特征)的方向,但神经元不能。 如果你改变任何特征的方向,向量的值将保持不变,但它的方向会根据位置的变化而改变。

胶囊网络在小型数据集上的表现惊人地好,并且它们更容易解释稳健的图像。 除此之外,它们还保留了图片的所有信息,包括纹理、位置和姿势。 它们唯一的缺点是它们无法胜过庞大的数据集。

阅读:神经网络中的 6 种激活函数

胶囊神经网络的架构是什么?

胶囊网络的主要两个组件是编码器和解码器。 它们总共包含六层。 编码器具有前三层,它们负责将输入图像转换为向量(16 维)。 编码器的第一层是卷积神经网络,它提取图片的基本特征。

第二层是 PrimaryCaps 网络,它采用这些基本特征并在其中找到更详细的模式。 例如,它可以看到特定笔画之间的空间关系。 不同的数据集在 PrimaryCaps 网络中具有不同数量的胶囊; 例如,MNIST 数据集有 32 个胶囊。 第三层是 DigitCaps 网络,其中存在的胶囊数量也各不相同。 在这些层之后,编码器有一个 16 维向量,该向量进入解码器。

解码器具有三个连接层。 它采用 16 维向量并尝试借助其拥有的数据从头开始重建相同的图像。 这样,网络变得更加健壮,因为它可以根据其知识进行预测。

另请阅读: Python 中的递归神经网络

CNN 中的计算

矩阵乘法

在第一层和第二层之间,我们执行矩阵乘法。 这对空间关系的信息进行了编码,编码后的信息显示了标签分类的概率。

标量权重

在这个计算阶段,较低级别的胶囊根据高级胶囊的权重调整其权重。 他们这样做是为了匹配高级胶囊的重量。 高级胶囊绘制权重分布图并接受最大的分配以通过。 它们都通过动态路由相互通信。

动态路由

在动态路由中,较低的胶囊将其数据发送到父胶囊。 它们都根据它们将自己的数据发送到最合适的胶囊中,获得大部分数据的胶囊成为父胶囊。 父胶囊遵循协议并相应地分配权重。

为了理解动态路由,假设你给你的胶囊网络提供了房子的图像。 它在识别房屋屋顶方面面临一些问题。 所以胶囊分析图像,特别是它的常数部分。 他们协调房子的框架与墙壁和屋顶有关。

他们首先决定对象是否是房子,然后将他们的预测发送到高层胶囊。 如果屋顶关于墙壁的投影与低层胶囊的其他预测相匹配,则输出表明该物体是一所房子。 这就是协议路由的过程。

矢量到矢量非线性

一旦动态路由完成,系统就会压缩信息,这意味着它会压缩该信息。 它为您提供胶囊是否识别特定特征的概率。

最后的想法

看完这篇文章,你一定已经熟悉了胶囊神经网络及其操作。 你一定也意识到他们的行动有多么有用。

如果您想了解有关机器学习算法的更多信息,请查看我们的博客。 你会在那里找到一些知识渊博的文章。

如果您有兴趣了解有关机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为工作专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业、IIIT- B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。

什么是变压器神经网络?

当神经网络将向量序列作为输入,将其更改为称为向量的向量(该过程称为编码),然后将其解码回另一个序列,则称为变换器神经网络。 转换器是许多神经网络架构中用于处理顺序数据的组件,包括纯语言文本、声学信号、基因组序列和时间序列数据。 Transformer 神经网络最常见的应用是自然语言处理。

什么是图形神经网络以及图形如何工作?

图神经网络或 GNN 是使用图节点之间的消息传输来表示图依赖关系的神经模型。 这些网络直接在给定的图结构上运行。 简单来说,图中的每个节点都有一个标签,使用神经网络根据 ground truth 预测标签节点。 GNN 最近在各种学科中获得了突出地位,包括社交网络、知识图谱、推荐系统,甚至生命科学。

胶囊与胶囊网络不同吗?

胶囊和胶囊网络这两个术语都与深度学习有关,但它们不是一回事。 一组神经元的活动向量表示某个项目的实例化参数,例如对象的实例化参数,称为胶囊。 然而,胶囊网络是可以检索地理信息和其他重要方面的网络,以最大限度地减少池操作过程中的数据丢失。