> Source: Pixabay
随着深度学习的飞速发展,已经创建了完整的神经网络体系结构主机,以解决各种各样的任务和问题。 尽管有无数的神经网络架构,但对于任何深度学习工程师来说,这里有11种必不可少的知识,它们分为四大类:标准网络,递归网络,卷积网络和自动编码器。
作者创建的所有图。
感知器是所有神经网络中最基础的,是更复杂的神经网络的基本构建块。 它仅连接输入单元和输出单元。
前馈网络是感知器的集合,其中存在三种基本类型的层-输入层,隐藏层和输出层。 在每个连接期间,来自上一层的信号乘以权重,加到偏置上,并通过激活函数。 前馈网络使用反向传播来迭代更新参数,直到达到理想的性能为止。
深度前馈神经网络的一个问题称为消失梯度问题,即当网络太长而无法在整个网络中反向传播有用信息时。 随着更新参数的信号通过网络传播,它逐渐减小,直到网络前端的权重完全没有改变或被利用为止。
为了解决这个问题,残差网络采用了跳过连接,可以跨"跳跃的"层传播信号。 通过使用不太容易受到影响的连接,可以减少消失的梯度问题。 随着时间的流逝,网络在学习特征空间时会学习恢复跳过的图层,但由于其不易受到梯度消失的影响并且需要探索较少的特征空间,因此训练效率更高。
递归神经网络是一种特殊类型的网络,它包含循环并在其自身上递归,因此称为"递归"。 RNN允许将信息存储在网络中,使用先前训练中的推理来做出有关即将发生的事件的更好,更明智的决策。 为此,它将先前的预测用作"上下文信号"。 由于其性质,RNN通常用于处理顺序任务,例如逐个字母生成文本或预测时间序列数据(例如股票价格)。 他们还可以处理任何大小的输入。
> Two RNN visualization methods.
RNN存在问题,因为实际上上下文信息的范围非常有限。 给定输入对隐藏层(因此对网络输出)的影响(反向传播错误),要么呈指数级爆发,要么随着绕网络连接循环而消失为零。 解决这个逐渐消失的梯度问题的方法是使用长短期内存网络或LSTM。
这种RNN架构是专门为解决消失的梯度问题而设计的,将结构与存储块配合在一起。 这些模块可以看作是计算机中的存储芯片-每个模块都包含几个循环连接的存储单元和三个门(输入,输出和忘记,相当于写入,读取和重置)。 网络只能通过每个门与单元交互,因此门学会了智能地打开和关闭,以防止梯度爆炸或消失,而且还可以通过"恒定错误轮播"传播有用的信息,并丢弃无关的存储内容。
在标准RNN无法得知输入事件与目标信号之间存在大于五到十个时间步长的时滞的情况下,LSTM不会受到影响,并且可以通过强制执行有用的恒定错误流来学习将时滞甚至连成1,000个时步。
回声状态网络是递归神经网络的一种变体,具有非常稀疏的隐藏层(通常为百分之一的连接性)。 神经元的连通性和权重是随机分配的,并且忽略层和神经元的差异(跳过连接)。 学习输出神经元的权重,以便网络可以产生和再现特定的时间模式。 该网络背后的理由来自这样一个事实:尽管它是非线性的,但训练过程中唯一修改的权重是突触连接,因此可以将误差函数区分为线性系统。
图像具有很高的维数,因此训练一个标准的前馈网络来识别图像将需要成千上万的输入神经元,除了公然高昂的计算费用外,还可能引起许多与神经网络的维数诅咒相关的问题 。 卷积神经网络(CNN)通过使用卷积层和池化层来帮助降低图像的维数,从而提供了解决方案。 由于卷积层是可训练的,但是比标准隐藏层具有更少的参数,因此它能够突出显示图像的重要部分并将它们向前传递。 传统上,在CNN中,最后几层是隐藏层,用于处理"压缩图像信息"。
卷积神经网络在基于图像的任务上表现出色,例如将图像分类为狗或猫。
顾名思义,反卷积神经网络的作用与卷积神经网络相反。 DNN不是执行卷积来减小图像的维数,而是利用反卷积来创建图像,通常是根据噪声来进行的。 这是一项固有的艰巨任务。 考虑CNN的任务是为奥威尔(Orwell)1984年的整本书写一个三句摘要,而DNN的任务是从三句结构写整个本书。
生成对抗网络是一种专门设计用于生成图像的特殊类型的网络,它由两个网络(一个鉴别器和一个生成器)组成。 区分者的任务是区分是从数据集中提取图像还是由生成器生成图像,而生成者的任务是生成足够有说服力的图像,以使区分器无法区分其是否真实。
随着时间的流逝,经过精心的监管,这两个对手彼此竞争,互相推动,成功地改善了彼此。 最终结果是训练有素的生成器,可以吐出逼真的图像。 鉴别器是一个卷积神经网络,其目的是最大程度地提高识别真实/伪造图像的准确性,而生成器是一个反卷积神经网络,其目的是最小化鉴别器的性能。
> Generator diagram.
自动编码器的基本思想是获取原始的高维数据,将其"压缩"为高度信息化的低维数据,然后将压缩后的形式投影到新的空间中。 自动编码器有许多应用,包括降维,图像压缩,去噪数据,特征提取,图像生成和推荐系统。 它既可以作为无监督方法也可以作为有监督方法,可以非常洞悉数据的性质。
隐藏的单元可以用卷积层替换以适应处理图像。
自动编码器学习输入的压缩表示形式,例如可以是图像或文本序列,方法是压缩输入然后将其解压缩以匹配原始输入,而变分自动编码器(VAE)学习概率分布的参数 代表数据。 它不仅仅是学习表示数据的函数,还获得了更详细,细致的数据视图,从分布中采样并生成新的输入数据样本。 从这个意义上讲,它更像是一种纯粹的"生成"模型,例如GAN。
VAE使用概率隐藏单元格,该单元格将径向基函数应用于测试用例与单元格均值之间的差异。
(本文翻译自Andre Ye的文章《11 Essential Neural Network Architectures, Visualized & Explained》,参考:https://towardsdatascience.com/11-essential-neural-network-architectures-visualized-explained-7fc7da3486d8)