前言
深度学习是机器学习的子集,它基于人工神经网络。学习过程之所以是深度性的,是因为人工神经网络的结构由多个输入、输出和隐藏层构成。
每个层包含的单元可将输入数据转换为信息,供下一层用于特定的预测任务。得益于这种结构,机器可以通过自身的数据处理进行学习。
深度学习在科学计算领域得到了广泛的应用,其算法被解决复杂问题的行业广泛使用。所有的深度学习算法都使用不同类型的神经网络来执行特定的任务。本文为大家带来基本的人工神经网络和深度学习算法,并简单讲解它们如何模拟人脑工作。
如何定义神经网络?
Neural Networks,简称NN。针对机器学习算法需要领域专家进行特征工程,模型泛化性能差的问题,提出了NN可以从数据的原始特征学习特征表示,无需进行复杂的特征处理。
神经网络的结构类似于人脑,由人工神经元组成,也称为节点。这些节点分为三层并排堆放:
- 输入层
- 隐藏层
- 输出层
数据以输入的形式为每个节点提供信息。该节点将输入与随机权重相乘,计算它们,并添加一个偏差。最后,非线性函数也称为激活函数,被用来确定哪个神经元激活。
其原理可以使用线性回归理解:y=Wx+by=Wx+by=Wx+by=Wx+by=Wx+by=Wx+b
深度学习算法如何工作?
虽然深度学习算法的特点是自学习表示,但它们依赖于反映大脑计算信息方式的神经网络。在训练过程中,算法使用输入分布中的未知元素来提取特征、分组对象并发现有用的数据模式。就像自学习的训练机器一样,这在多个层次上发生,使用算法来建立模型。
深度学习模型使用了多种算法。虽然没有一个网络被认为是完美的,但是一些算法适合执行特定的任务。为了选择正确的算法,最好对所有的主要算法有一个扎实的了解。
十大最受欢迎的深度学习的算法
- Convolutional Neural Networks (卷积神经网络CNNs)
- Long Short Term Memory Networks (长短期记忆网络LSTMs)
- Recurrent Neural Networks (递归神经网络RNNs)
- Generative Adversarial Networks (生成对抗网络GANs)
- Radial Basis Function Networks (径向基函数网络RBFNs)
- Multilayer Perceptrons (多层感知机MLPs)
- Self Organizing Maps (自组织映射神经网络SOMs)
- Deep Belief Networks (深度信念网络DBNs)
- Restricted Boltzmann Machines (受限玻尔兹曼机RBMs)
- Autoencoders(自动编码器)
深度学习算法可以处理几乎任何类型的数据,并且需要大量的计算能力和信息来解决复杂的问题。现在,让我们深入研究一下热门的深度学习算法。
一、卷积神经网络CNN
卷积神经网络Convolutional Neural Networks, 简称CNN。
CNN也被称为康维网,由多层组成,主要用于图像处理和目标检测。杨 · 乐村在1988年发明了第一台 CNN,当时它被称为乐网。它被用来识别像邮政编码和数字这样的字符。
CNN 广泛应用于识别卫星图像、处理医学图像、预测时间序列和检测异常。
CNN 是如何工作的?
CNN 有多个层次,从数据中处理和提取特征:
1、卷积层
有线电视新闻网有一个卷积层,有几个过滤器执行卷积操作。
2、整流线性单元
CNN 有一个 ReLU 层来执行对元素的操作。输出是一个校正的特征映射。
3、共用层
经过修正的特性映射接下来被提供到一个池层。池是一种减少特征映射维度的下采样操作。
然后,汇聚层通过平坦化将汇聚的特征映射得到的二维数组转换为单个、长的、连续的线性向量。
4、完全连接层
当来自池层的平坦矩阵作为输入时,形成一个完全连通的层,它对图像进行分类和识别。
下面是一个通过 CNN 处理的图像的例子。
二、长短期存储器网络(LSTMs)
LSTM 是一种递归神经网络(RNN) ,可以学习和记忆长期的依赖关系。长时间回忆过去的信息是默认行为。
LSTM 随着时间的推移保留信息。它们在时间序列预测中很有用,因为它们记得以前的输入。LSTM 具有链状结构,其中四个相互作用的层以独特的方式进行通信。除了时间序列预测,LSTM 通常用于语音识别、音乐创作和药物开发。
LSTM 是如何工作的?
- 首先,他们忘记了先前状态中不相关的部分
- 接下来,它们有选择地更新单元格状态值
- 最后,输出单元格状态的某些部分
下面是 LSTM 如何运作的示意图:
三、递归神经网络(RNNs)
RNN 具有形成定向循环的连接,这允许将 LSTM 的输出作为输入馈入到当前阶段。
LSTM 的输出成为当前阶段的输入,并且由于其内部存储器,可以记忆以前的输入。RNN 通常用于图像字幕、时间序列分析、自然语言处理、手写识别和机器翻译。
展开的 RNN 看起来像这样:
RNN 是如何工作的?
- 时间 t-1的输出在时间 t 输入。
- 类似地,时间 t 的输出在时间 t + 1输入。
- RNN 可以处理任意长度的输入。
- 计算考虑了历史信息,模型大小不会随着输入大小的增加而增加。
下面是谷歌自动完成功能的一个例子:
四、生成性对抗网络(GAN)
GAN 是生成式深度学习算法,它创建类似于训练数据的新数据实例。GAN 有两个组成部分: 一个生成器,学习生成虚假数据,一个鉴别器,学习从虚假信息。
GAN 的使用在一段时间内有所增加。它们可以用来改善天文图像和模拟暗物质研究的引力透镜效应。视频游戏开发者通过图像训练,以4K 或更高的分辨率重新创建低分辨率、2D 纹理的旧视频游戏,使用 GAN 来提升它们的分辨率。
GAN 有助于生成逼真的图像和卡通人物,创建人脸照片,并渲染3D 物体。
GAN 是如何工作的?
- 鉴别器学习区分生成器的虚假数据和真实样本数据。
- 在最初的训练过程中,生成器产生假数据,鉴别器很快学会辨别这些假数据。
- GAN 将结果发送给生成器和鉴别器以更新模型。
下面是 GAN 如何运作的示意图:
五、径向基函数网络(RBFNs)
RBFN 是一种特殊类型的前馈神经网络,它使用径向基函数作为激活函数。它们有一个输入层、一个隐藏层和一个输出层,主要用于分类、回归和时间序列预测。
RBFN 是如何工作的?
- RBFN 通过测量输入与训练集中的例子的相似性来进行分类。
- RBF 神经元有一个输入向量供给输入层,它们有一层 RBF 神经元。
- 函数找到输入的加权和,输出层为每个类别或类别的数据有一个节点。
- 隐层中的神经元包含高斯传递函数,其输出与到神经元中心的距离成反比。
- 网络的输出是输入的径向基函数和神经元参数的线性组合。
看看这个 RBFN 的例子:
六、多层感知器(MLP)
MLP 是开始学习深度学习技术的绝佳场所。
MLP 属于具有多层感知器的前馈神经网络,具有激活功能。MLP 由完全连接的输入层和输出层组成。它们具有相同数量的输入和输出层,但可能有多个隐藏层,可用于构建语音识别、图像识别和机器翻译软件。
MLP 是如何工作的?
- MLP 将数据提供给网络的输入层。神经元层连接成一个图形,以便信号沿一个方向传递。
- MLP 使用存在于输入层和隐藏层之间的权重来计算输入。
- MLP 使用激活函数来决定激活哪些节点。激活函数包括 ReLU、 sigmoid 函数和 tanh。
- MLP 训练模型以理解相关性,并从训练数据集中学习独立变量和目标变量之间的依赖关系。
下面是 MLP 的一个例子。该图计算权重和偏差,并应用适当的激活函数来分类猫和狗的图像。
七、自组织映射神经网络(SOMs)
特沃•科霍宁教授发明了自组织映射神经网络,使数据可视化能够通过自组织的人工神经网络来减少数据的维数。
数据可视化试图解决人类无法轻易将高维数据可视化的问题。SOM 的创建是为了帮助用户理解这些高维信息。
SOM 是如何工作的?
- SOM 为每个节点初始化权值,并从训练数据中随机选择一个向量。
- SOM 检查每个节点,以找出哪些权重是最可能的输入向量。获胜的节点称为最佳匹配单元(BMU)。
- SOM 发现了 BMU 的邻居,随着时间的推移,邻居的数量减少了。
- SOMs 为样本向量授予一个获胜的权重。节点越接近 BMU,其权重变化越大。.
- 邻居离 BMU 越远,它学到的东西就越少。SOMs 在 N 次迭代中重复第二步。
下面,请看一个不同颜色的输入向量的示意图。这些数据提供给 SOM,然后 SOM 将数据转换为2D RGB 值。最后,它分离和分类不同的颜色。
八、深度信念网络(DBN)
DBN 是由多层随机潜变量组成的生成模型。潜变量具有二进制值,通常称为隐藏单位。
DBN 是一组 Boltzmann 机器,它们在各层之间建立连接,每个 RBM 层与前面的层和后面的层进行通信。深度信任网络(DBN)用于图像识别、视频识别和运动捕捉数据。
DBN 是如何工作的?
- 贪婪学习算法训练 DBN。贪婪学习算法使用一层一层的方法来学习自顶向下的生成权重。
- DBN 在最上面的两个隐藏层上运行 Gibbs 采样的步骤。这个阶段从顶部两个隐藏层定义的 RBM 中提取一个样本。
- DBN 使用一次通过模型其余部分的祖先抽样来从可见单元中抽取样本。
- DBN 每一层中潜变量的值都可以通过一次自底向上的传递来推断。
下面是 DBN 体系结构的一个示例:
九、受限制的玻尔兹曼机器(RBM)
由 Geoffrey Hinton 开发的 RBM 是一种随机神经网络,可以从一组输入的概率分布中学习。
这种深度学习算法用于降维、分类、回归、协同过滤、特征学习和主题建模。RBM构成了 DBN 的组成部分。
RBM由两层组成:
- 可见单位
- 隐藏单位
每个可见单元都连接到所有隐藏单元。RBM 有一个连接到所有可见单元和隐藏单元的偏置单元,它们没有输出节点。
RBM 是如何工作的?
RBM有两个阶段: 前向传递和后向传递。
- RBM接受输入,并将其转换成一组数字,在前向传递中对输入进行编码。
- RBM 算法将每个输入与单个权值和一个总偏差相结合,将输出传递给隐层。
- 在向后传递过程中,RBM 获取这组数字并将它们转换为重构的输入。
- RBM 将每个激活与个体重量和整体偏差相结合,并将输出传递到可见层进行重建。
- 在可见层,RBM 将重建结果与原始输入进行比较,分析结果的质量。
以下是RBM如何运作图表:
十、自动编码器
自动编码器是一种特殊类型的前馈神经网络,其输入和输出是相同的。杰弗里•辛顿(Geoffrey Hinton)在上世纪80年代设计了自动编码器,以解决非监督式学习问题。它们是经过训练的神经网络,将数据从输入层复制到输出层。自动编码器用于药物发现、流行预测和图像处理等目的。(比如热门的seq2seq模型一样,原始的Transformer模型使用编码器-解码器(encoder–decoder)架构)
自动编码器是如何工作的?
自动编码器由三个主要部分组成: 编码器、代码和解码器。
- 自动编码器的结构是接收输入并将其转换为不同的表示形式。然后,他们试图尽可能准确地重建原始输入。
- 当一个数字的图像不清楚可见,它馈送到自动编码器神经网络。
- 自动编码器首先对图像进行编码,然后将输入的大小减小为较小的表示形式。
- 最后,自动编码器对图像进行解码,生成重建图像。
下图演示了自动编码器的工作方式:
小结
深度学习在过去的几年中得到了快速发展,在许多行业中广泛流行。以下是常见的问答交流环节。
Q1:深度学习中哪种算法最好?
多层感知器(MLPs)是最简单好用的深度学习算法。CNN常用于图像识别,RNN、LSTM常用于文本序列的处理。
Q2:CNN 是一种深度学习算法吗?
是的,CNN 是一个深度学习算法,负责处理动物视觉皮层启发的图像在网格模式的形式。它们被设计用于自动检测和分割特定对象,并从低层到高层模式学习特征的空间层次结构。
Q3:深度学习的三个层次是什么?
该神经网络由输入层、隐层和输出层三层组成。当输入数据应用于输入层时,获得输出层中的输出数据。隐藏层负责执行所有的计算和“隐藏”任务。
Q4:深度学习模式是如何工作的?
深度学习模型使用神经网络结构或一组包含多层的标记数据进行训练。它们有时超过人类水平的表现。这些体系结构直接从数据中学习特征,而不受手工特征提取的阻碍。
仅学术分享,若侵权,请联系删文。