当前位置: 首页 > 科技观察

神经网络基础:七个网络单元,四层连接

时间:2023-03-17 15:18:32 科技观察

2016年9月,FjodorVanVeen写了一篇文章,题目是《The Neural Network Zoo》到导数关系),全面盘点了大量的神经网络框架,并画了一个可视化用于说明的示意图。最近,他又发表了一篇名为《The Neural Network Zoo Prequel:Cells and Layers》的文章,这是他上一篇文章的上一篇。他再次对文中涉及到的神经网络的部分和层次进行了图文介绍,但没有深入展开。文章Cell(unit)《The Neural Network Zoo》显示了不同类型的单元格和不同样式的层连接,但没有深入探讨每种单元格类型的工作原理。大量的单元类型相互之间有不同的颜色,以便更清楚地区分网络,但我后来发现这些单元的工作方式相似,下面我将一一描述每个单元。传统前馈架构中的基本神经网络单元非常简单。一个单元通过权重连接到其他神经元,即它可以连接到前一层的所有神经元。每个连接都有自己的权重,一开始通常是一个随机数。权重可以是负数、正数、小数、大数或0。它所连接的每个单元格值都乘以其各自的连接权重,并将所得值全部相加。最重要的是,还添加了一个偏置项。偏差项防止单元卡在输出零,加快其操作,并减少解决问题所需的神经元数量。偏差项也是一个数字,有时是常数(通常为-1或1),有时是变量。然后将该总和传递给激活函数,结果值就是单元格值。卷积单元与前馈单元非常相似,只是它们通常只连接到前一层中的几个神经元。它们通常用于保存空间信息,因为它们不是连接到几个随机单元,而是连接到一定距离内的所有单元。这使得它们非常适合具有大量本地信息的数据,例如图像和音频(但主要是图像)。反卷积单元与卷积单元相反:前者倾向于通过局部连接解码空间信息到下一层。这两个单位通常都有独立训练的克隆体,每个克隆体都有自己的权重,并以相同的方式相互连接。这些克隆可以被视为具有相同结构的独立网络。两者在本质上与常规单位相同,但使用方式不同。池化和插值细胞经常连接到卷积细胞。这些单元实际上不是单元,而是原始操作。池化单元接受传入连接并决定哪些连接通过。在图形中,这可以看作是缩小图片。您无法再看到所有像素,它必须了解要保留哪些像素以及丢弃哪些像素。插值单元恰恰相反,它们获取一些信息并将其映射到更多信息。额外的信息被组合起来,比如放大一张低分辨率的图片。插值单元不是池化单元的唯一反转操作,但它们相对常见,因为它们实现起来快速且简单。它们是单独连接的,很像卷积和反卷积。均值和标准差单元格(几乎完全成对出现,作为概率单元格)用于表征概率分布。均值只是均值,标准差是您可以在任一方向上偏离该均值的程度。例如,图像的概率单元可能包含有关特定像素上有多少红色的信息。假设平均值为0.5,标准差为0.2。当从这些概率单元中抽样时,这些值被送入高斯随机数生成器,0.4到0.6之间的值是合理可能的结果;那些远离0.5的可能性较小(但仍有可能)。均值和标准差单元格始终完全连接到上一层或下一层,并且没有偏差。循环单元不仅连接到层,而且随着时间的推移也连接起来。每个单元格都在内部存储先前的值。它们像基本单元一样更新,但有额外的权重:连接到单元的先前值,并且大多数时候还连接到同一层的所有单元。当前值和存储的先前值之间的这些权重更像是一个易失性存储器,如RAM,接收具有特定“状态”的属性,如果不输入则消失。由于之前的值被传递给激活函数,并且通过激活函数的每次更新都传递了这个激活的值以及其他权重,因此信息将不断丢失。事实上,保留率非常低,经过4到5次迭代后,几乎所有信息都丢失了。长短期记忆细胞用于解决循环细胞中发生的快速信息丢失问题。LSTM单元是复制存储单元为计算机设计的方式的逻辑电路。与存储两个状态的RNN单元相比,LSTM单元可以存储四个:输出的当前值和最终值,以及“记忆单元”状态的当前值和最终值。一个LSTM单元包含三个“门”:一个输入门、一个输出门、一个遗忘门,并且也只有常规输入。这些门中的每一个都有自己的权重,这意味着连接到这种类型的单元格需要设置四个权重(而不是一个)。门函数很像流门,而不是栅栏门:它们让任何东西通过,只是一点点,什么都没有,或者介于两者之间。这是通过将输入乘以0到1之间的值(存储在该门中)来实现的。然后输入门确定可以将多少输入添加到单元值中。输出门决定了通过网络的其余部分可以看到多少输出值。遗忘门不连接到输出单元的前一个值,而是连接到记忆单元的前一个值。它决定保留多少最终存储单元状态。由于它没有连接到输出,因此信息损失较少,因为循环中没有放置激活函数。门控循环单元是LSTM的变体。他们也使用门来防止信息丢失,但只有两个门:更新和重置。这表现力稍差,但速度更快。因为他们到处都有更少的联系。事实上,LSTM和GRU有两个区别:GRU没有输出门保护的隐藏单元状态,而是将输入门和遗忘门组合成一个更新门。这个想法是,如果你想要很多新信息,你可以忘记一些旧信息(反之亦然)。层将神经元连接成图的最基本方法是将所有东西相互连接起来,这可以在Hopfield网络和玻尔兹曼机中看到。当然,这意味着连接数会呈指数级增长,但表现力却丝毫没有打折扣。这称为完全连接。后来,有人发现将网络分成不同的层很有用,一层中的一系列或一组神经元彼此不相连,而是与其他神经元群相连。一个例子是受限玻尔兹曼机中的网络层。今天,使用层的想法已经推广到任意数量的层,几乎在所有架构中都能看到。这也称为完全连接(可能有点混乱),因为在实践中完全连接的网络并不常见。卷积连接层比完全连接层更受限制:每个神经元仅连接到其他类似神经元组。图像和音频包含大量信息,不能一对一地直接馈送到网络(例如,一个神经元对应一个像素)。卷积连接的思想来源于对保留重要空间信息的观察。事实证明这是一个好主意,用于许多基于神经网络的图像和语音应用程序。但是这种设置的表现力不如全连接层。其实就是一种“重要性”过滤的方式,来判断这些紧凑的信息包中哪些是重要的。卷积连接也非常适合降维。根据其实现方式,也可以连接在时间和空间上非常远的神经元,但很少使用尺度高于4或5的神经元。注意,这里的“空间”通常指的是二维空间,这个二维空间用来表示神经元相互连接的三维表面。连接范围可应用于所有维度。另一种选择当然是随机连接神经元(randomlyconnectedneurons)。它还有两个主要变体:允许所有可能连接的子集,或连接层与层之间的神经元子集。随机连接有利于线性降低网络性能,可用于大型网络中存在性能问题的全连接层。在某些情况下,具有更多神经元的稀疏连接层表现更好,尤其是当有大量信息要存储但不交换时(有点像卷积连接层的效力,但它是随机的)。还使用了非常稀疏的连接系统(1%或2%),如ELM、ESN和LSM中所见。特别是在尖峰网络中,因为神经元的连接越多,每个权重携带的能量就越少,这意味着传播和模式重复越少。延迟连接意味着神经元不是从之前的层中获取信息,而是从过去(主要是之前的迭代)获取信息。这允许存储时间信息(时间、定时)。这些连接有时会被手动重置,从而清除网络的“状态”。与常规连接的主要区别在于这些连接在不断变化,即使在网络未被训练时也是如此。下图显示了一些小型示例网络及其上述连接。当我不知道连接什么的时候,我会用它(尤其是在做LSTM或者GRUcells的时候):原文:http://www.asimovinstitute.org/neural-network-zoo-prequel-cells-layers/【本文为栏目组织《机器之心》原创翻译,微信公众号《机器之心(id:almosthuman2014)》】点此查看作者更多好文