随着新的神经网络架构不时出现,很难跟踪这些架构。知道所有缩写(DCIGN,BiLSTM,DCGAN,任何人?)起初可能有点压倒性。
所以我决定编写一个包含许多这些体系结构的备忘单。这些大多数是神经网络,有些是完全不同的野兽。虽然所有这些体系结构都是新颖而独特的,但是当我绘制节点结构时......它们的基础关系开始变得更有意义。
神经网络
将它们绘制为节点映射时存在一个问题:它并不真正显示它们是如何使用的。例如,变分自动编码器(VAE)看起来就像自动编码器(AE),但是训练过程实际上完全不同。受过训练的网络的用例差异更大,因为VAE是生成器,您可以在其中插入噪声来获取新样本。AE,只需将他们得到的任何输入映射到他们“记得”的最接近的训练样本。我应该补充一点,这个概述并没有说明每种不同的节点类型如何在内部工作(但这是另一天的话题)。
应该指出的是,虽然大部分缩写都是普遍接受的,但并非全部都是。RNN有时指的是递归神经网络,但大多数时候他们指的是递归神经网络。尽管如此,在许多地方,你会发现RNN用作任何经常性架构的占位符,包括LSTM,GRU甚至双向变体。AE不时遇到类似问题,其中VAE和DAE等简称为AE。许多缩写在最后添加的“N”数量上也不相同,因为您可以将其称为卷积神经网络,但也仅仅是卷积网络(导致CNN或CN)。
随着新体系结构的不断发明,编写完整列表几乎是不可能的。即使发布它,即使你正在寻找它们,仍然会很难找到它们,或者有时候你会忽略一些。因此,尽管这份名单可能会让你对AI的世界有所了解,但请绝对不要把这份名单列为全面的; 特别是如果你在写这篇文章后很长时间阅读这篇文章。
对于图中描绘的每个架构,我都写了一个非常非常简短的描述。如果您对某些体系结构非常熟悉,但是您对特定体系结构不熟悉,则可能会发现其中的一些功能非常有用。
前馈神经网络(FF或FFNN)和感知器(P)非常直截了当,它们将信息从前面输入到后面(分别是输入和输出)。神经网络通常被描述为具有层,其中每个层由输入,隐藏或输出单元并行组成。一层独自从来没有连接,并且通常两个相邻的层完全连接(每个神经元形成一层到每个神经元到另一层)。最简单的实用网络有两个输入单元和一个输出单元,可用于建模逻辑门。人们通常通过反向传播来训练FFNN,给出网络配对的“进入的内容”和“我们想要出来的内容”的数据集。这就是所谓的监督学习,相对于无监督学习,我们只给它输入并让网络填充空白。反向传播的误差通常是输入和输出之间差异的一些变化(如MSE或线性差异)。鉴于网络具有足够的隐藏的神经元,它在理论上可以始终模拟输入和输出之间的关系。实际上,它们的使用受到很多限制,但它们普遍与其他网络结合形成新的网络。
径向基函数(RBF)网络是具有径向基函数作为激活函数的FFNN。没有什么更多。这并不意味着他们没有他们的用途,但是大多数具有其他激活功能的FFNN并没有得到他们自己的名字。这主要与在正确的时间发明它们有关。
甲的Hopfield网络(HN)是每个神经元都与其他神经元相连的网络; 它是一个完全纠结的意大利面板,即使所有的节点都起着一切作用。每个节点在训练之前输入,然后在训练期间隐藏并在之后输出。通过将神经元的值设置为希望的模式来训练网络,之后可以计算权重。此后重量不会改变。一旦接受过一种或多种模式的训练,网络就会始终聚合到其中一种学习模式,因为网络在这些状态中仅保持稳定。请注意,它并不总是符合所需的状态(这不是一个可悲的不可思议的黑盒子)。它的稳定部分归因于训练期间网络的总“能量”或“温度”逐渐减少。每个神经元都有一个可以调节到这个温度的激活阈值,如果超过输入的总和,神经元会采取两种状态之一(通常为-1或1,有时为0或1)。更新网络可以同步完成,也可以逐个完成。如果逐一更新,则创建一个公平的随机序列来组织哪些细胞以什么顺序更新(公平随机是所有选项(n)每n项发生一次)。这样你就可以知道网络什么时候稳定(完成收敛)