深度神经网络

深度神经网络(DNN)是一种在输入和输出层之间具有多个隐藏层的ANN.与浅层神经网络类似,DNN可以模拟复杂的非线性关系.

神经网络的主要目的是接收一组输入,对它们执行逐步复杂的计算,并提供输出解决像分类这样的现实问题.我们将自己局限于前馈神经网络.

我们在深层网络中有输入,输出和顺序数据流.

Deep Network

神经网络广泛用于监督学习和强化学习问题.这些网络基于一组彼此连接的层.

在深度学习中,隐藏层的数量(大多数是非线性的)可能很大;比如大约1000层.

DL模型比普通的ML网络产生更好的结果.

我们主要使用梯度下降法来优化网络和最小化损失函数.

我们可以使用 Imagenet ,这是一个包含数百万个数字图像的存储库,可以将数据集分类为猫和狗等类别.除了静态图像以及时间序列和文本分析之外,DL网络越来越多地用于动态图像.

训练数据集是深度学习模型的重要组成部分.此外,反向传播是训练DL模型的主要算法.

DL处理训练具有复杂输入输出变换的大型神经网络.

一个例子DL是将照片映射到照片中人物的名称,就像在社交网络上一样,描述带有短语的图片是DL的另一个近期应用.

DL Mapping

神经网络是具有x1,x2,x3等输入的函数,它们转换为输出,如z1 ,z2,z3等在两个(浅网络)或几个中间操作中也称为层(深层网络).

权重和偏差在层与层之间变化. 'w'和'v'是神经网络层的权重或突触.

深度学习的最佳用例是监督学习问题.这里,我们有大量的具有所需输出集的数据输入.

反向传播算法

此处我们应用反向传播算法来获得正确的输出预测.

深度学习的最基本数据集是MNIST,一个手写数字的数据集.

我们可以用Keras训练深度卷积神经网络来对来自该数据集的手写数字图像进行分类.

激活或激活神经网络分类器会产生分数.例如,为了将患者分类为生病和健康,我们考虑身高,体重和体温,血压等参数.

高分意味着患者生病,低分意味着他很健康.

输出和隐藏图层中的每个节点都有自己的分类器.输入层接收输入并将其分数传递到下一个隐藏层以进一步激活,这一直持续到输出为止.

从输入到输出从左到右的进度正向称为前向传播.

神经网络中的信用分配路径(CAP)是从输入到输出的一系列变换. CAP详细说明了输入和输出之间可能的因果关系.

给定前馈神经网络的CAP深度或CAP深度是隐藏层的数量加上一个,因为包含了输出层.对于递归神经网络,其中信号可以多次传播通过层,CAP深度可能是无限的.

深网和浅网

没有明确的深度阈值将浅层学习与深度学习分开;但大多数人认为,对于有多个非线性层的深度学习,CAP必须大于2.

神经网络中的基本节点是模仿生物体中神经元的感知神经网络.然后我们有多层Perception或MLP.每组输入都由一组权重和偏差修改;每条边都有一个独特的权重,每个节点都有一个独特的偏差.

神经网络的预测准确度取决于它的权重和偏差./b>

提高神经网络精度的过程称为训练.将前向道路网的输出与已知的值进行比较.是正确的.

成本函数或损失函数是生成的输出和实际输出之间的差异.

培训的目的是在数百万个培训示例中尽可能减少培训成本.为此,网络会调整权重和偏差,直到预测与正确的输出匹配为止.

一旦经过良好的训练,神经网络每次都有可能做出准确的预测.

当模式变得复杂并且你希望你的计算机识别它们时,你必须去神经网络.在这种复杂的模式情景中,神经网络优于其他神经网络她的竞争算法.

现在有GPU可以比以前更快地训练它们.深度神经网络已经彻底改变了人工智能领域

计算机已经证明擅长执行重复计算并遵循详细说明,但在识别复杂模式方面却不是很好.

如果存在识别简单模式的问题,支持向量机(svm)或逻辑回归分类器可以很好地完成工作,但随着模式复杂性的增加,除了去之外别无选择因此,对于像人类这样的复杂模式,浅层神经网络会失败,除了寻找具有更多层的深层神经网络之外别无选择.深网能够通过将复杂的模式分解为更简单的模式来完成它们的工作.例如,人脸; adeep net会使用边缘来检测嘴唇,鼻子,眼睛,耳朵等部位,然后将它们重新组合在一起形成一个人脸

正确预测的准确性已经变得如此最近在谷歌模式识别挑战中,一个很深的网络击败了人类.

这种分层感知器网络的想法已经存在了一段时间;在这个区域,深网模仿人类的大脑.但其中一个缺点是它们需要很长时间才能进行训练,硬件约束

然而,最近的高性能GPU已经能够在一周内培训出如此深的网络;虽然快速cpus可能需要数周甚至数月才能完成同样的工作.

选择Deep Net

如何选择深网?我们必须决定是否正在构建分类器,或者我们是否正在尝试在数据中查找模式以及是否要使用无监督学习.要从一组未标记的数据中提取模式,我们使用Restricted Boltzman机器或自动编码器.

在选择深度净值和减去时考虑以下几点;

  • 对于文本处理,情感分析,解析和名称实体识别,我们使用递归网络或递归神经张量网络或RNTN;

  • 对于任何以字符级别操作的语言模型,我们使用经常性网络.

  • 用于图像识别,我们使用深信念网络DBN或卷积网络.

  • 对于对象识别,我们使用RNTN或卷积网络.

  • 对于语音识别,我们使用经常性网络.

一般来说,深层信念网络和多层具有整流线性单位或RELU的感知器是分类的良好选择.

对于时间序列分析,始终建议使用经常性净值.

神经网络已经存在了50多年;但直到现在他们才变得突出.原因是他们很难训练;当我们尝试使用一种称为反向传播的方法来训练它们时,我们会遇到一个称为消失或爆炸渐变的问题.当这种情况发生时,训练需要更长的时间,而准确性则落后于后者.在训练数据集时,我们不断计算成本函数,即预测输出与一组标记训练数据的实际输出之间的差异.然后通过调整权重和偏差值将成本函数最小化,直到最低值.得到了.训练过程使用梯度,这是成本相对于重量或偏差值的变化而变化的速率.

受限制的Boltzman网络或自动编码器 -  RBNs

2006年,在解决消失梯度问题方面取得了突破.杰夫·辛顿设计了一种新策略,导致了受限制的玻尔兹曼机器 -  RBM 的发展,这是一个浅层的两层网.

第一层是可见图层,第二层是隐藏图层.可见层中的每个节点都连接到隐藏层中的每个节点.网络被称为受限制,因为同一层内不允许两个层共享连接.

自动编码器是将输入数据编码为矢量的网络.它们创建原始数据的隐藏或压缩表示.这些向量可用于降维;向量将原始数据压缩为较少数量的基本维度.自动编码器与解码器配对,允许基于其隐藏表示重建输入数据.

RBM是双向转换器的数学等价物.前向传递接收输入并将它们转换为一组编码输入的数字.同时,后向传递采用这组数字并将它们转换回重建输入.训练有素的网络可以高精度地执行支撑.

在任何一个步骤中,权重和偏差都起着至关重要的作用.它们有助于RBM解码输入之间的相互关系,并决定哪些输入对于检测模式至关重要.通过前向和后向通过,RBM被训练以重新构造具有不同权重和偏差的输入,直到输入和构造尽可能接近. RBM的一个有趣方面是不需要标记数据.这对于真实世界的数据集非常重要,例如照片,视频,声音和传感器数据,所有这些数据都往往没有标记. RBM不是通过人工手动标记数据,而是自动对数据进行排序;通过适当调整权重和偏差,RBM能够提取重要特征并重建输入. RBM是特征提取器神经网络系列的一部分,旨在识别数据中的固有模式.这些也称为自动编码器,因为它们必须编码自己的结构.

RBM Structure

深度信念网络 -  DBNs

深度信任网络(DBN)是通过结合RBM和引入一种聪明的训练方法形成的.我们有一个新的模型,最终解决了消失梯度的问题. Geoff Hinton发明了RBMs和Deep Belief Nets作为反向传播的替代方案.

DBN在结构上与MLP(多层感知器)相似,但在涉及到时非常不同训练.正是培训使DBN能够胜过其浅层对手

DBN可以被视为一堆RBM,其中一个RBM的隐藏层是其上方RBM的可见层.训练第一个RBM以尽可能准确地重建其输入.

第一个RBM的隐藏层被视为第二个RBM的可见层,第二个RBM被训练为使用第一个RBM的输出.迭代此过程,直到网络中的每一层都经过训练.

在DBN中,每个RBM学习整个输入. DBN通过连续微调整个输入来全球工作,因为模型慢慢改善,就像一个慢慢聚焦图像的相机镜头.一堆RBM优于单个RBM,因为多层感知器MLP优于单个感知器.

在此阶段,RBM已检测到数据中的固有模式,但没有任何名称或标签.为了完成DBN的训练,我们必须在模式中引入标签,并通过监督学习对网进行微调.

我们需要一小组标记样本,以便特征和模式可以与名称相关联.这个小标记的数据集用于训练.与原始数据集相比,这组标记数据可能非常小.

重量和偏差略有改变,导致网络对模式的感知发生微小变化,并且经常总精度略有提高.

与浅网相比,使用GPU可以在合理的时间内完成培训,结果非常准确,我们看到消失的解决方案梯度问题.

生成性对抗网络 -  GAN

生成对抗网络是包含两个网络的深层神经网络,一个网格相互对立,因此2014年,蒙特利尔大学的研究人员发表的一篇论文中引入了"对抗性"这一名称.

Facebook的人工智能专家Yann LeCun,指的是GAN,称对抗训练是"最有趣的" ML的最近10年的想法."

GAN的潜力是巨大的,因为网络扫描学会模仿任何dis分配数据.可以教导GAN创建与我们在任何领域惊人相似的平行世界:图像,音乐,演讲,散文.他们在某种程度上是机器人艺术家,他们的输出非常令人印象深刻.

在GAN中,一个神经网络(称为生成器)生成新的数据实例,而另一个神经网络生成新的数据实例,评估它们的真实性.

让我们说我们正在尝试生成手写的数字,就像在MNIST数据集中找到的数字,它取自现实世界.当从真实的MNIST数据集中显示实例时,鉴别器的工作是将它们识别为真实的.

现在考虑以下GAN : 的步骤;

  • 生成器网络以随机数的形式输入并返回图像.

  • 此生成的图像作为输入提供给鉴别器网络以及从实际数据集中获取的图像流.

  • 鉴别器同时包含真实和虚假的图像和返回概率,0到1之间的数字,1表示真实性的预测,0表示假.

  • 所以你有一个双反馈循环和减号;

    • 鉴别器位于反馈循环中,具有图像的基本事实,我们知道.

    • 生成器处于带有鉴别器的反馈循环中.

Recurrent Neura l网络 -  RNNs

RNN Sare神经网络,数据可以在任何方向上流动.这些网络用于语言建模或自然语言处理(NLP)等应用.

RNN的基本概念是利用顺序信息.在正常的神经网络中,假设所有输入和输出彼此独立.如果我们想要预测句子中的下一个单词,我们必须知道它前面有哪些单词.

RNN被称为循环,因为它们为序列的每个元素重复相同的任务,输出基于先前的计算.因此可以说RNN具有"存储器",其捕获关于先前已经计算的信息.理论上,RNN可以使用非常长的序列信息,但实际上,它们只能回顾几步.

递归神经网络

长期短期记忆网络(LSTM)是最常用的RNN.

与卷积神经网络一起,RNN具有被用作模型的一部分,以生成未标记图像的描述.令人惊讶的是,这看起来有多好.

卷积深度神经网络 -  CNNs

如果我们增加神经网络中的层数为了使其更深入,它增加了网络的复杂性,并允许我们模拟更复杂的功能.但是,权重和偏差的数量将呈指数增长.事实上,对于正常的神经网络来说,学习这些难题是不可能的.这导致了解决方案,即卷积神经网络.

CNN被广泛用于计算机视觉;已经应用于自动语音识别的声学建模.

卷积神经网络背后的想法是通过图像的"移动滤波器"的想法.这个移动滤波器或卷积适用于某些节点邻域,例如可能是像素,其中应用的滤波器是0.5 x节点值 :

着名研究员Yann LeCun开创了卷积神经网络. Facebook作为面部识别软件使用这些网络. CNN一直是机器视觉项目的解决方案.卷积网络有很多层.在Imagenet挑战中,一台机器在2015年能够在物体识别中击败人类.

简而言之,卷积神经网络(CNN)是多层神经网络.这些图层有时最多为17或更多,并假设输入数据为图像.

卷积神经网络

CNN大大减少了需要调整的参数数量.因此,CNN有效地处理原始图像的高维度.