关于上图中描绘的每个架构,你知道几个?

由于新的神经网络架构层出不穷,很难记录所有的神经网络。要弄清楚所有这些首字母缩写词指的是什么网络(DCIGN、IiLSTM、DCGAN 等)

下表包含大多数常用模型(主要是神经网络和其他一些模型)。虽然这些架构新颖独特,但当我开始绘制它们的结果时,它们之间的潜在关系就会变得清晰。

显然,这些节点图并没有显示各个模型的内部工作原理。例如,Variational Autoencoder (VAE) 和 Autoencoder (AE) 节点图看起来一样,但两者的训练过程实际上完全不同,训练出来的模型的使用场景更是天壤之别。VAE 是将噪声插入样本的生成器。而 AE 只是将他们获得的输入映射到他们“记忆”中的最新训练样本!本文不会详细介绍每种不同架构的内部工作方式。

虽然大多数缩写被普遍接受,但可能会出现一些冲突。例如,RNN 通常指的是循环神经网络,有时也指循环神经网络,甚至在很多地方都指代各种循环架构(包括 LSTM、GRU 甚至双向变体)。AE也是一样,VAE和DAE都简称为AE。另外,同一个模型的缩写也会有不同的后缀个数N。同一个模型可以称为卷积神经网络或者卷积网络,对应的缩写变成CNN或者CN

让这篇文章成为神经网络的完整列表几乎是不可能的,因为新架构一直在被发明,即使新架构发布时,也很难找到它们。所以这篇文章可能会给你一些关于人工智能世界的见解,但绝对不是全部;特别是如果您在本文发表很久之后看到它。

对于上图中描述的每个架构,本文提供了非常简短的描述。如果您非常熟悉某些架构,您可能会发现其中一些很有用。

感知器(左侧的 P)和前馈神经网络(右侧的 FF 或 FFNN)非常直观,它们从前端获取信息并从后端输出。神经网络通常被描述为具有层(输入层、隐藏层或输出层),其中每一层由并行单元组成。通常同一层没有连接,相邻的两个层是全连接的(每一层的每个神经元到另一层的每个神经元)。最简单的实用网络有两个输入单元和一个输出单元,可以用来建立一个逻辑模型(用来判断是否)。FFNN 通常通过反向传播方法进行训练,数据集由成对的输入和输出结果组成(这称为监督学习)。我们只是给它输入,然后让网络填充输出。反向传播误差通常是填充输出和实际输出之间差异的一些变化(如 MSE 或只是线性差异)。鉴于网络有足够多的隐藏神经元,理论上可以始终对输入和输出之间的关系进行建模。事实上,它们的应用非常有限,通常与其他网络结合形成新的网络。

径向基函数(RBF)网络是一个以径向基函数为激活函数的FFNN网络。但 RBFNN 有其不同于 FFNN 的使用场景(由于发明时间原因,大多数具有其他激活函数的 FFNN 并没有自己的名称)。

Hopfield 网络 (HN) 的每个神经元都连接到其他神经元;它的结构就像一盘完全缠绕的意大利面板。每个节点在训练之前都是输入,然后在训练期间隐藏和输出。通过将神经元的值设置为所需的模式来训练网络,之后权重不变。一旦训练了一种或多种模式,网络将始终收敛到学习的模式之一,因为网络在这种状态下是稳定的。需要注意的是,HN 并不总是与理想状态一致。网络稳定的部分原因是总“能量”或“温度”在训练过程中逐渐缩小。每个神经元都有一个被激活的阈值,该阈值随温度而变化,一旦超过输入的总和,依次更新网络时,会生成一个公平的随机序列,每个单元都按照指定的顺序更新。因此,当每个单元已更新且不再发生变化时,您可以判断网络是稳定的(不再收敛)。这些网络也被称为联想记忆,因为它们收敛到与输入状态最相似的状态;当一个人看到半张桌子时,我们会想象另一半张桌子,如果输入是一半噪声,一半桌子,HN 会收敛到一张桌子上。依次更新网络时,会生成一个公平的随机序列,每个单元都按照指定的顺序更新。因此,当每个单元已更新且不再发生变化时,您可以判断网络是稳定的(不再收敛)。这些网络也被称为联想记忆,因为它们收敛到与输入状态最相似的状态;当一个人看到半张桌子时,我们会想象另一半张桌子,如果输入是一半噪声,一半桌子,HN 会收敛到一张桌子上。

马尔可夫链(MC或离散时间马尔可夫链,DTMC)是BM和HN的前身。可以这样理解:从我当前的节点,我去任何邻居节点的概率都是微不足道的,也就是说你最终选择的节点完全取决于当前节点,而l与它所在的节点无关过去。. 这不是真正的神经网络,但它类似于神经网络,并形成了 BM 和 HNs 的理论基础。就像 BM、RBM 和 HN 一样,MC 并不总是被认为是神经网络。此外,马尔可夫链并不总是完全连接的。

玻尔兹曼机 (BM) 与 HN 非常相似,只是只有一些神经元被标记为输入神经元,而其他神经元保持“隐藏”。在完整的网络更新结束时,输入神经元变成输出神经元。它从随机权重开始,通过反向传播学习或对比散度(一种用于确定两个信息增益之间的梯度的马尔可夫链)训练模型。与 HN 相比,BM 的神经元大多具有二元激活模式。BM 是由 MC 训练的随机网络。BM 的训练和运行过程与 HN 非常相似:输入神经元被设置为某个钳位值,从而释放网络。虽然释放节点可以获得任何值,但这会导致输入层和隐藏层之间的多次迭代。激活由全局阈值控制。

受限玻尔兹曼机 (RBM) 与 BM 非常相似,也与 HN 非常相似。BM 和 RBM 最大的区别在于,RBM ​​具有更好的可用性,因为它受到了更多的限制。RBM 并不是将每个神经元都连接到其他每个神经元,而只是将每个神经元组连接到其他每个组,因此没有输入神经元直接连接到其他输入神经元,也没有隐藏层直接连接到隐藏层。RBM 可以像 FFNN 一样进行训练,而不是前向传播数据然后反向传播。

自动编码器 (AE) 有点类似于前馈神经网络 (FFNN)。与其说是完全不同的网络结构,不如说是前馈神经网络的不同应用。自动编码器的基本思想是对信息进行自动编码(例如,压缩它,而不是加密它)。由此得名。整个网络的形状像一个漏斗:它的隐藏层单元总是比输入和输出层少。自编码器总是关于中心层对称(中心层是一层还是两层取决于网络的层数:如果是奇数,则关于最中间层对称;如果是偶数,则关于最中间的两层)。最小的隐藏层总是在中心层,这也是信息最压缩的地方(称为网络的阻塞点)。从输入层到中心层称为编码部分,从中心层到输出层称为解码部分,中心层称为编码(码)。可以使用反向传播算法训练自动编码器,将数据输入网络并将误差设置为输入数据和网络输出数据之间的差异。自编码器的权重也是对称的,即编码权重和解码权重相同。可以使用反向传播算法训练自动编码器,将数据输入网络并将误差设置为输入数据和网络输出数据之间的差异。自编码器的权重也是对称的,即编码权重和解码权重相同。可以使用反向传播算法训练自动编码器,将数据输入网络并将误差设置为输入数据和网络输出数据之间的差异。自编码器的权重也是对称的,即编码权重和解码权重相同。

稀疏自动编码器 (SAE) 在某种程度上与自动编码器相反。在这里,我们尝试在更高维空间中对信息进行编码,而不是训练网络在低维空间和节点中表示一堆信息。所以在中心层,网络不是在收敛,而是在扩展。这种类型的网络可用于从数据集中提取特征。如果我们以与训练自编码器相同的方式训练稀疏自编码器,在几乎所有情况下,我们最终都会得到一个完全无用的身份网络(即,无论输入什么,网络输出,没有任何转换或分解)。为了避免这种情况,将稀疏驱动添加到反馈输入中。这种稀疏驱动可以采用阈值过滤的形式,即只有某些错误可以反向传播和训练,其他错误被视为与训练无关并设置为零。在某种程度上,这类似于脉冲神经网络:并非所有神经元每时每刻都在激发(这有一些生物学上的合理性)

变分自编码器 (VAE) 具有与自编码器相同的网络结构,但模型学习了其他东西:输入样本的近似概率分布。这更类似于玻尔兹曼机(BM)和受限玻尔兹曼机(RBM)。然而,它们依赖贝叶斯数学,其中涉及概率推理和独立性,以及重新参数化技术以获得不同的表示。概率推理和独立部分具有直观意义,但它们依赖于复杂的数学。理由如下:考虑影响。如果一件事发生在一个地方,另一件事发生在别处,它们不一定是相关的。如果它们不相关,则在错误反向传播期间应考虑到这一点。

去噪自编码器 (DAE) 是自编码器的一种。在去噪自编码器中,我们不是输入原始数据,而是输入噪声数据(比如使图像更加颗粒化)。但是我们以与以前相同的方式计算误差。因此,将网络的输出与没有噪声的原始输入数据进行比较。这鼓励网络不仅学习细节,而且学习更广泛的特征。因为特征可能会随着噪声不断变化,所以一般网络学习到的特征通常是错误的。

深度信念网络 (DBN) 是一组受限玻尔兹曼机或变分自编码器。这些网络已被证明是可有效训练的。其中,每个自编码器或玻尔兹曼机只需要学习对前一个网络进行编码即可。这种技术也称为贪心训练。贪心是指在下降的过程中只求解局部最优解,而这个局部最优解可能不是全局最优解。深度信念网络可以通过对比散度或反向传播进行训练,并学习将数据表示为概率模型,如常规受限玻尔兹曼机或变分自动编码器。一旦模型通过无监督学习进行训练或收敛到(更)稳定的状态,它就可以用于生成新数据。如果用对比发散训练,

图片[1]-关于上图中描绘的每个架构,你知道几个?-老王博客

卷积神经网络(CNN,或深度卷积神经网络,DCNN)与大多数其他网络完全不同。它们主要用于图像处理,但也可用于其他类型的输入,例如音频。卷积神经网络的一个典型应用是将图片输入网络,网络会对图片进行分类。比如你输入一张猫的图片,它会输出“cat”;如果你输入一张狗的图片,它会输出“狗”。卷积神经网络倾向于使用单个输入“扫描器”,而不是一次解析所有训练数据。例如,要输入 200 x 200 像素的图像,您不需要使用具有 40,000 个节点的输入层。相反,你只需创建一个扫描层,这个输入层只有 20 x 20 个节点,并且您可以输入图像的前 20 x 20 像素(通常从图像的左上角开始)。一旦你传递了这个 20 x 20 像素的数据(可能是用它训练的),你可以输入接下来的 20 x 20 像素:将“扫描仪”向右移动一个像素。注意不要移动超过 20 个像素(或其他“扫描仪”宽度)。不是将图像分解成 20 x 20 块,而是一点一点地移动“扫描仪”。然后将这些输入数据前馈到卷积层而不是普通层。卷积层的节点不是全连接的。每个节点只与它的邻居(单元)相关联(多近取决于应用程序的实现,但通常不超过几个)。这些卷积层会随着网络的加深而逐渐缩小,通常卷积层的数量是输入的一个因素。(所以,如果输入是 20,可能下一个卷积层是 10,然后是下一个 5)。经常使用 2 的幂,因为它们是可整除的:32、16、8、4、2、1。除了卷积层,还有特征池化层,池化是一种过滤细节的方法:最常见的池化技术就是max pooling,比如使用2 x 2像素,取这四个中值最大的一个像素。要将卷积神经网络应用于音频,请逐段输入剪辑长度的输入音频波。卷积神经网络的实际应用通常在末尾添加前馈神经网络(FFNN)以进一步处理数据,它允许高度非线性的特征映射。这些网络被称为 DCNN,

反卷积网络 (DN),也称为逆图形网络 (IGN)。它是一个逆卷积神经网络。想象一下用“猫”这个词给神经网络喂食,并通过比较网络输出与真实猫的图片之间的差异来训练网络模型,从而得到一张看起来像猫的图片。反卷积神经网络可以与前馈神经网络结合使用,如常规卷积神经网络,但这可能涉及新的首字母缩略词。它们可能是深度反卷积神经网络,但您可能倾向于:当您在反卷积神经网络之前或之后添加前馈神经网络时,它们可能是新的网络结构并且应该有新的名称。值得注意的是,在实际应用中,不能直接将文本输入网络,而是一个二进制向量。例如,猫,狗,但猫和狗。在卷积神经网络中有池化层,这里经常用类似的反向操作代替,通常是有偏差的插值或外推(例如,如果池化层使用最大池化,当反向时,可以生成其他较低的新数据来填充)

深度卷积逆图形网络(DCIGN),这个名字有点误导,因为实际上它们是变分自动编码器(VAE),只是在编码器和解码器中分别具有卷积神经网络(CNN)和反卷积神经网络(DNN)。这些网络尝试在编码过程中对“特征”进行概率建模,这样您就可以教网络仅通过拍摄一张猫和狗的照片来生成猫和狗的照片。同样,你可以输入一张猫的照片,如果猫旁边有讨厌的邻居的狗,你可以要求网络删除狗。实验表明,这些网络还可用于学习图像上的复杂变换,例如改变 3D 物体的光源或旋转物体。

生成对抗网络(GAN)是一种新型网络。网络成对出现:两个网络一起工作。生成对抗网络可以由任意两个网络组成(尽管通常前馈神经网络和卷积神经网络是成对的),其中一个网络负责生成内容,另一个负责区分内容。判别网络同时接收训练数据和生成网络生成的数据。判别网络能够正确预测数据源,然后将其用作生成网络的误差部分。这就产生了一个对手:判别器在识别真实数据和生成数据方面越来越好,而生成器则难以生成判别器难以辨别的数据。该网络运行良好,部分原因是即使复杂的噪声模式最终也是可预测的,但生成与输入数据相似的特征更难辨别。生成对抗网络很难训练,因为你不仅要训练两个网络(它们都有自己的问题),还要考虑两个网络的动态平衡。如果预测或生成部分中的任何一个变得比另一个更好,那么网​​络最终将不会收敛。

循环神经网络 (RNN) 是考虑时间的前馈神经网络:它们不是无状态的;通道之间存在一定的时间联系。神经元不仅接收来自前一个神经网络的信息,还接收来自前一个通道的信息。这意味着您输入神经网络的顺序和用于训练网络的数据很重要:输入“milk”、“cookies”和输入“cookies”、“milk”会产生不同的结果。RNN 的最大问题是梯度消失(或梯度爆炸),这取决于所使用的激活函数。在这种情况下,信息会随着时间的推移而迅速消失,就像信息会随着前馈神经网络深度的增加而丢失一样。直觉上,这不是什么大问题,因为它们只是权重而不是神经元状态。但随着时间的推移,权重已经存储了过去的信息。如果权重达到 0 或 1,000,000,则先前的状态变得无信息。卷积神经网络可以应用到很多领域,大多数形式的数据没有真实的时间线(不像声音、视频),但是可以用序列的形式来表示。对于图片或文本字符串,您可以在每个时间点一次输入一个像素或一个字符。因此,时间相关的权重可以用来表示序列前一秒的信息,而不是几秒前的信息。通常,RNN 是预测未来信息或完成信息(例如自动完成)的不错选择。如果权重达到 0 或 1,000,000,则先前的状态变得无信息。卷积神经网络可以应用到很多领域,大多数形式的数据没有真实的时间线(不像声音、视频),但是可以用序列的形式来表示。对于图片或文本字符串,您可以在每个时间点一次输入一个像素或一个字符。因此,时间相关的权重可以用来表示序列前一秒的信息,而不是几秒前的信息。通常,RNN 是预测未来信息或完成信息(例如自动完成)的不错选择。如果权重达到 0 或 1,000,000,则先前的状态变得无信息。卷积神经网络可以应用到很多领域,大多数形式的数据没有真实的时间线(不像声音、视频),但是可以用序列的形式来表示。对于图片或文本字符串,您可以在每个时间点一次输入一个像素或一个字符。因此,时间相关的权重可以用来表示序列前一秒的信息,而不是几秒前的信息。通常,RNN 是预测未来信息或完成信息(例如自动完成)的不错选择。但可以用序列形式表示。对于图片或文本字符串,您可以在每个时间点一次输入一个像素或一个字符。因此,时间相关的权重可以用来表示序列前一秒的信息,而不是几秒前的信息。通常,RNN 是预测未来信息或完成信息(例如自动完成)的不错选择。但可以用序列形式表示。对于图片或文本字符串,您可以在每个时间点一次输入一个像素或一个字符。因此,时间相关的权重可以用来表示序列前一秒的信息,而不是几秒前的信息。通常,RNN 是预测未来信息或完成信息(例如自动完成)的不错选择。

长/短期记忆(LSTM)试图通过引入门结构(gate)和定义良好的记忆单元(memory cell)来克服梯度消失或梯度爆炸的问题。这种想法的大部分灵感来自电路,而不是生物学。每个神经元都有一个记忆单元和三个门结构:输入、输出和遗忘。这些门结构的功能是通过禁止或允许其流动来保护信息。输入门结构决定了在当前存储单元中存储了多少来自前一层的信息。输出门结构承担了另一端的工作,决定了这一层有多少信息可以被下一层学习到。忘记门结构一开始可能看起来很奇怪,但有时忘记是必要的:

如果网络正在学习一本书并开始新的章节,则有必要忘记前一章中的一些字符。

长短期记忆网络已被证明可以学习复杂的序列,例如像莎士比亚一样写作,或合成简单的音乐。值得注意的是,这些门结构中的每一个都为前一个神经元中的记忆单元分配权重,因此通常需要更多的资源来运行。

门控循环单元 (GRU) 是长期和短期记忆网络的一种变体。不同的是没有输入门、输出门、遗忘门,它只有一个更新门。更新门决定了从前一个状态中保留了多少信息,以及从前一层保留了多少信息。这个重置门的功能很像 LSTM 的遗忘门,但它的位置略有不同。它总是发出完整的状态,但没有输出门。在大多数情况下,它们的功能与 LSTM 非常相似,最大的区别在于 GRU 稍快且更易于运行(但表达能力较差)。在实践中,这些往往会相互抵消,因为当您需要更大的网络以获得更多表现力时,性能优势往往会被抵消。

神经图灵机 (NTM) 可以理解为 LSTM 的抽象,它试图去黑盒(让我们深入了解正在发生的事情)。神经图灵机不直接将记忆单元编码成神经元,它们的记忆单元是分开的。它试图将传统数字存储的效率和持久性与神经网络的效率和表现力相结合。这个想法是基于拥有一个内容可寻址的内存库,神经网络可以从中读取和写入。神经图灵机中的“图灵”来自图灵完备:根据所读的内容进行读、写和改变状态的能力前向和递归神经网络的区别,这意味着它可以表达一个可以表达一切的通用图灵机。

双向循环神经网络,BiRNN;双向长/短期记忆网络,BiLSTM;双向门控循环单元,BiGRU 未在表中显示,因为它们看起来与对应的单向网络相同。不同的是,这些网络不仅连接到过去,而且连接到未来。例如,训练单向 LSTM 网络以如下方式预测单词“fish”:逐个字母输入单词“fish”,其中循环连接会随着时间的推移记住最后一个值。为了提供未来的信息,双向长短期记忆网络将在反向通道中输入下一个字母。这种方法训练网络填补空白,而不是预测未来的信息,例如,在图像处理中,

深度残差网络 (DRN) 是非常深的前馈神经网络,它将输入从一层传递到后续层(通常为 2 到 5 层),相邻层之间的连接除外。深度残差网络不是将一些输入(比如通过 5 层网络)映射到输出,而是学习将一些输入映射到一些输出 + 输入。基本上,它添加了一个标识函数,该函数将旧输入作为后面层的新输入。结果表明,这些网络在达到 150 层时对模式学习非常有效,远远超过常规的 2 到 5 层。然而,事实证明,这些网络本质上是没有特定基于时间的构造的循环神经网络 (RNN),并且它们总是与没有门结构的长短期记忆网络 (LSTM) 进行比较。

回声状态网络 (ESN) 是另一种不同类型的(循环)网络。不同之处在于神经元是随机连接的(即层之间没有统一的连接形式),并且它们的训练方式不同。回声状态网络不是输入数据然后反向传播错误,而是先馈送数据,前馈,然后临时更新神经元。它的输入和输出层在这里扮演的角色略有不同:输入层用于控制网络,输出层用于观察随时间展开的激活模式。在训练期间,只有观察值和隐藏单元之间的连接发生了变化。

极限学习机 (ELM) 本质上是具有随机连接的前馈神经网络。它看起来类似于液体状态机 (LSM) 和回声状态网络 (ESN),但它既没有脉冲也没有环路。他们不使用反向传播。相反,他们随机初始化权重并通过最小二乘拟合一步训练权重(所有函数之间的最小误差)。这使得模型的表现力稍差,但比反向传播快得多。

液态机 (LSM) 看起来很像回声状态网络 (ESN)。真正的区别在于,液态机是一个脉冲神经网络:sigmoid 激活函数被一个阈值函数代替前向和递归神经网络的区别,每个神经元都是一个累积记忆单元。所以当一个神经元被更新时,它的价值不是相邻神经元的累加,而是它自身的累加。一旦达到阈值,它就会将其能量转移到其他神经元。这会产生类似脉冲的模式:在突然达到阈值之前什么都不会发生。

支持向量机 (SVM) 找到分类问题的最佳解决方案。传统的支持向量机通常处理线性可分的数据。例如,找出哪张照片是加菲猫,哪张照片是史努比不太可能是任何其他结果。在训练期间,可以将 SVM 想象为在(二维)图上绘制所有数据点(加菲猫和史努比),然后弄清楚如何绘制直线来分隔这些数据点。这条线将数据一分为二,所有加菲猫都在这条线的一侧,而史努比在另一侧。最好的分割线是使两边的点与线之间的间距最大化的分割线。当需要对新数据进行分类时,我们会将这个新数据点绘制在图表上,并简单地查看它所属的线的一侧。使用内核技巧,可以训练它们对 n 维数据进行分类。这需要在 3D 地图上绘制点,然后才能区分史努比、加菲猫和西蒙,甚至更多卡通人物。支持向量机并不总是被认为是神经网络。

Kohonen 网络(Kohonen 网络,KN;也称为自组织(特征)图,SOM,SOFM))利用竞争学习在没有监督的情况下对数据进行分类。数据被输入网络,然后评估哪个神经元与该输入最匹配。然后调整这些神经元以更好地匹配输入。相邻的神经元在此过程中移动。移动多少相邻神经元取决于它们与最佳匹配单元的距离。有时 Kohonen 网络也不被视为神经网络。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论