神经网络是强大的深度学习模型,能够在几秒钟内合成大量数据。神经网络的类型很多,从推荐电影或音乐到帮助我们在线购买食品,它们可以帮助我们完成各种日常任务。
类似于飞机受鸟类启发的方式,神经网络(NNs)受生物神经网络的启发。尽管原理相同,但过程和结构可能非常不同。对于鸟类和飞机而言,对于生物神经网络和深度学习神经网络而言,都是如此。
为了帮助理解,让我们简要地看一下生物神经元结构。图1显示了单个神经元的解剖结构。中心部分称为细胞体,细胞核位于其中。各种连接将刺激传递到细胞体,称为树突,少数连接将输出发送到其他神经元,称为轴突。树突和轴突的厚度暗示了刺激的力量。具有各种细胞体的许多神经元被堆叠并形成生物神经网络。
图1:单神经元的解剖
在深度学习神经网络中可以看到相同的结构。输入通过具有加权边(类似于树突)的激活函数(类似于核)传递。生成的输出可以传递到另一个激活函数。这些激活功能中的许多功能都可以堆叠在一起,每个功能都称为一个层。除了输入层和输出层,神经网络内部还有许多层,这些层称为隐藏层。
现在我们已经了解了神经网络如何工作,让我们看一下深度学习中使用的神经网络的各种类型和功能。请注意,每种类型的人工神经网络都是为特定任务量身定制的。
我们将介绍以下最常见的神经网络类型:
感知器是最简单的神经网络结构。该模型也称为单层神经网络,仅包含两层:
这里没有隐藏的图层。Perceptron接受输入并计算每个输入节点的加权输入。该加权输入通过激活函数传递以生成输出。
图2:单神经元神经网络
由于结构简单,因此不能用于复杂任务。相反,此网络用于逻辑门(例如AND,OR或XOR)。
感知器用于线性或二进制模型分类。它们还用于多层感知器的形成中,我们将在后面介绍。
多层感知器(MLP)或前馈神经网络通常表示完全连接的网络。换句话说,一层中的每个神经元都连接到相邻层中的所有神经元。因此,MLP比感知器具有更高的处理能力。但是,这些网络的“全连接性”使它们易于过度拟合数据。减少过度拟合的典型方法包括尽早停止,添加退出层和添加正则项。
图3:多层感知器的体系结构
MLP广泛用于各个领域。它们在社交网络,语音识别和手写字符识别系统,计算机视觉应用程序和数据预测系统的数据压缩中很常见。
人类使用眼睛中的神经元来识别物体,这些神经元检测边缘,形状,深度和运动。卷积神经网络(CNN)是计算机视觉中最重要的神经网络类型之一,其灵感来自眼睛的视觉皮层,并用于诸如物体检测之类的视觉任务。CNN的卷积层使其与其他神经网络区分开来。该层执行点积,这是逐分量相乘,然后相加。
在CNN的初始阶段,过滤器是随机的,不会提供任何有用的结果。使用损失函数,可以调整滤波器,并且经过多次迭代,网络可以更好地完成其任务,例如检测对象边缘。尽管CNN经常需要大量的训练数据,但它们广泛适用于各种图像甚至语言任务。
图4:使用过滤器的卷积运算
由于CNN受视觉皮层启发,因此被广泛用于涉及计算机视觉应用的应用。这些应用包括面部识别,面部检测,对象识别,手写字母识别以及医学诊断中的肿瘤检测。
一本书通常由一系列章节组成。当我们阅读特定章节时,我们并不是试图孤立地理解它,而是与先前的章节联系起来。同样,就像自然神经网络一样,机器学习模型也需要利用已经学习的文本来理解文本。
在传统的机器学习模型中,这是不可能的,因为我们无法存储模型的先前阶段。但是,递归神经网络(通常称为RNN)是可以为我们完成此任务的一种神经网络,这使它们对于需要使用过去数据的应用程序很有用。让我们仔细看看下面的RNN。
图5:基本RNN的工作
递归神经网络是旨在解释时间或顺序信息的网络。RNN使用序列中的其他数据点进行更好的预测。他们通过接受输入并重用序列中先前节点或后续节点的激活来影响输出来实现此目的。
RNN具有一个重复模块,该模块接收来自上一级的输入,并将其输出作为输入提供给下一级。
RNN通常用于连接序列应用程序中,例如时间序列预测,信号处理和手写字符识别。同样,RNN被广泛用于音乐生成,图像字幕和预测股市波动。
在RNN中,我们只能保留最近阶段的信息。但是对于诸如语言翻译之类的问题,我们需要更多的保留。这就是LSTM网络出现的地方。
为了学习长期依赖性,我们的神经网络需要记忆力。LSTM是可以做到这一点的RNN的特例。它们具有与RNN相同的链状结构,但具有不同的重复模块结构。这种重复的模块结构允许网络保留大量的前级值。
图6:LSTM网络的外观
我已经提到了LSTM网络对于语言翻译系统的强大功能,但是它们具有广泛的应用范围。其中一些应用程序包括序列到序列的建模任务,例如异常检测,语音识别,文本摘要和视频分类。
给定训练数据,生成对抗网络(或简称为GAN)学习生成具有与训练数据相同的统计数据的新数据。例如,如果我们在照片上训练GAN模型,那么经过训练的模型将能够生成看起来与输入照片相似的新照片。
GAN包含两个部分:生成器和鉴别器。生成器模型创建新数据,而鉴别器尝试从生成的数据中确定实际数据。随着生成器和鉴别器在各自的工作上变得更好,生成的数据因此得到改善,直到(理想地)质量与训练数据几乎相同为止。
将这种关系视为警察和强盗的关系。两者都一直试图超越对方。劫匪抢走,警察接劫匪。
图7:生成对抗网络的架构
首先使用发生器生成随机噪声样本,然后将其通过鉴别器。鉴别器可以轻松地区分两种数据,因此我们调整了生成器模型并再次进行训练。随着迭代次数的增加,生成器模型会创建与训练数据无法区分的数据。
GAN通常用于创建游戏和动画电影的卡通图像或面孔。此外,GAN可以帮助从少量数据中生成综合数据,以帮助改善机器学习模型。对于希望使用机器学习模型来扩展其表达的艺术家来说,GAN也是一个受欢迎的选择。
在本文中,我们研究了神经网络和生物神经网络之间的关系,然后跳入了许多神经网络及其工作方式。本文是神经网络概念的一般指南,但是领域在不断发展。有了这些概念,我希望将更容易理解和探索其他类型的神经网络以及当前正在开发的神经网络的工作原理。我鼓励您在这个领域中进行更多的探索,因为存在各种各样的令人难以置信的应用程序以及大量正在进行的研究。