0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

您应该知道的9种深度学习算法

倩倩 来源:不靠谱的猫 2020-04-17 11:07 次阅读

本文的主要目标是让您对深度学习领域有一个整体了解,并帮助您了解每种特定情况下应使用的算法。来吧。

神经网络:基础

神经网络是一个具有相互连接的节点的计算系统,其节点的工作方式更像是人脑中的神经元。这些神经元在它们之间进行处理并传递信息。每个神经网络都是一系列的算法,这些算法试图通过一个模拟人类大脑运作的过程来识别一组数据中的潜在关系。

深度学习算法和经典神经网络之间有什么区别呢?最明显的区别是:深度学习中使用的神经网络具有更多隐藏层。这些层位于神经元的第一层(即输入层)和最后一层(即输出层)之间。另外,没有必要将不同层的所有神经元连接起来。

您应该知道的9种深度学习算法

#1反向传播

反向传播算法是一种非常流行的用于训练前馈神经网络的监督学习算法。本质上,反向传播计算成本函数的导数的表达式,它是每一层之间从左到右的导数乘积,而每一层之间的权重梯度是对部分乘积的简单修改(“反向传播误差”)。

我们向网络提供数据,它产生一个输出,我们将输出与期望的输出进行比较(使用损失函数),然后根据差异重新调整权重。然后重复此过程。权重的调整是通过一种称为随机梯度下降的非线性优化技术来实现的。

假设由于某种原因,我们想识别图像中的树。我们向网络提供任何种类的图像,并产生输出。由于我们知道图像是否实际上有一棵树,因此我们可以将输出与真实情况进行比较并调整网络。随着我们传递越来越多的图像,网络的错误就会越来越少。现在我们可以给它提供一个未知的图像,它将告诉我们该图像是否包含树。

#2前馈神经网络(FNN)

前馈神经网络通常是全连接,这意味着层中的每个神经元都与下一层中的所有其他神经元相连。所描述的结构称为“多层感知器”,起源于1958年。单层感知器只能学习线性可分离的模式,而多层感知器则可以学习数据之间的非线性的关系。

前馈网络的目标是近似某个函数f。例如对于分类,=(x)将输入x映射到类别y。前馈网络定义了一个映射y = f(x;θ),并学习了导致最佳函数逼近的参数θ的值。

这些模型之所以称为前馈,是因为从x到定义f的中间计算,最后到输出y,没有反馈连接。没有将模型的输出反馈到自身的反馈连接。当前馈神经网络扩展为包括反馈连接时,它们称为循环神经网络。

#3卷积神经网络(CNN)

卷积神经网络除了为机器人自动驾驶汽车的视觉提供帮助外,还成功的应用于人脸识别,对象监测和交通标志识别等领域。

在数学中,卷积是一个函数越过另一个函数时两个函数重叠多少的积分度量。

绿色曲线表示蓝色和红色曲线的卷积,它是t的函数,位置由垂直的绿色线表示。灰色区域表示乘积g(tau)f(t-tau)作为t的函数,所以它的面积作为t的函数就是卷积。

这两个函数在x轴上每一点的重叠的乘积就是它们的卷积。

在某种程度上,他们尝试对前馈网络进行正则化,以避免过度拟合(当模型只学习预先看到的数据而不能泛化时),这使得他们能够很好地识别数据之间的空间关系。

#4循环神经网络(RNN)

循环神经网络在许多NLP任务中都非常成功。在传统的神经网络中,可以理解所有输入和输出都是独立的。但是,对于许多任务,这是不合适的。如果要预测句子中的下一个单词,最好考虑一下它前面的单词。

RNN之所以称为循环,是因为它们对序列的每个元素执行相同的任务,并且输出取决于先前的计算。RNN的另一种解释:这些网络具有“记忆”,考虑了先前的信息。

例如,如果序列是5个单词的句子,则由5层组成,每个单词一层。

在RNN中定义计算的公式如下:

x_t-在时间步t输入。例如,x_1可以是与句子的第二个单词相对应的one-hot向量。

s_t是步骤t中的隐藏状态。这是网络的“内存”。s_t作为函数取决于先前的状态和当前输入x_t:s_t = f(Ux_t + Ws_ {t-1})。函数f通常是非线性的,例如tanh或ReLU。计算第一个隐藏状态所需的s _ {-1}通常初始化为零(零向量)。

o_t-在步骤t退出。例如,如果我们要预测句子中的单词,则输出可能是字典中的概率向量。o_t = softmax(Vs_t)

图像描述的生成

与卷积神经网络一起,RNN被用作模型的一部分,以生成未标记图像的描述。组合模型将生成的单词与图像中的特征相结合:

最常用的RNN类型是LSTM,它比RNN更好地捕获(存储)长期依赖关系。LSTM与RNN本质上相同,只是它们具有不同的计算隐藏状态的方式。

LSTM中的memory称为cells,您可以将其视为接受先前状态h_ {t-1}和当前输入参数x_t作为输入的黑盒。在内部,这些cells决定保存和删除哪些memory。然后,它们将先前的状态,当前memory和输入参数组合在一起。

这些类型的单元在捕获(存储)长期依赖关系方面非常有效。

#5递归神经网络

递归神经网络是循环网络的另一种形式,不同之处在于它们是树形结构。因此,它们可以在训练数据集中建模层次结构。

由于其与二叉树、上下文和基于自然语言的解析器的关系,它们通常用于音频到文本转录和情绪分析等NLP应用程序中。然而,它们往往比递归网络慢得多

#6自编码器

自编码器可在输出处恢复输入信号。它们内部有一个隐藏层。自编码器设计为无法将输入准确复制到输出,但是为了使误差最小化,网络被迫学习选择最重要的特征。

自编码器可用于预训练,例如,当有分类任务且标记对太少时。或降低数据中的维度以供以后可视化。或者,当您只需要学习区分输入信号的有用属性时。

#7深度信念网络和受限玻尔兹曼机器

受限玻尔兹曼机是一个随机神经网络(神经网络,意味着我们有类似神经元的单元,其binary激活取决于它们所连接的相邻单元;随机意味着这些激活具有概率性元素),它包括:

可见单位层

隐藏单元层

偏差单元

此外,每个可见单元连接到所有的隐藏单元(这种连接是无向的,所以每个隐藏单元也连接到所有的可见单元),而偏差单元连接到所有的可见单元和所有的隐藏单元。

为了使学习更容易,我们对网络进行了限制,使任何可见单元都不连接到任何其他可见单元,任何隐藏单元都不连接到任何其他隐藏单元。

多个RBM可以叠加形成一个深度信念网络。它们看起来完全像全连接层,但但是它们的训练方式不同。

#8生成对抗网络(GAN)

GAN正在成为一种流行的在线零售机器学习模型,因为它们能够以越来越高的准确度理解和重建视觉内容。用例包括:

从轮廓填充图像。

从文本生成逼真的图像。

制作产品原型的真实感描述。

将黑白图像转换为彩色图像。

视频制作中,GAN可用于:

在框架内模拟人类行为和运动的模式。

预测后续的视频帧。

创建deepfake

生成对抗网络(GAN)有两个部分:

生成器学习生成可信的数据。生成的实例成为判别器的负面训练实例。

判别器学会从数据中分辨出生成器的假数据。判别器对产生不可信结果的发生器进行惩罚。

建立GAN的第一步是识别所需的最终输出,并根据这些参数收集初始训练数据集。然后将这些数据随机化并输入到生成器中,直到获得生成输出的基本精度为止。

然后,将生成的图像与原始概念的实际数据点一起馈入判别器。判别器对信息进行过滤,并返回0到1之间的概率来表示每个图像的真实性(1与真相关,0与假相关)。然后检查这些值是否成功,并不断重复,直到达到预期的结果。

#9Transformers

Transformers也很新,它们主要用于语言应用。它它们基于一个叫做注意力的概念,这个概念被用来迫使网络将注意力集中在特定的数据点上。

由于LSTM单元过于复杂,因此可以使用注意力机制根据其重要性对输入的不同部分进行权衡。注意力机制只不过是另一个具有权重的层,它的唯一目的是调整权重,使输入的部分优先化,同时排除其他部分。

实际上,Transformers由多个堆叠的编码器(形成编码器层),多个堆叠的解码器(解码器层)和一堆attention层(self- attentions和encoder-decoder attentions)组成

Transformers设计用于处理诸如机器翻译和文本摘要之类的各种任务的有序数据序列,例如自然语言。如今,BERT和GPT-2是两个最著名的经过预先训练的自然语言系统,用于各种NLP任务中,它们都基于Transformers。

#10图神经网络

一般来说,非结构化数据并不适合深度学习。在许多实际应用中,数据是非结构化的,例如社交网络,化合物,知识图,空间数据等。

图神经网络的目的是对图数据进行建模,这意味着它们识别图中节点之间的关系,并对其进行数值表示。它们以后可以在任何其他机器学习模型中用于各种任务,例如聚类,分类等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98738
  • 算法
    +关注

    关注

    23

    文章

    4455

    浏览量

    90750
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119904
收藏 人收藏

    评论

    相关推荐

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法中引入深度
    发表于 04-23 17:18 59次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义SLAM

    目前主流的深度学习算法模型和应用案例

    深度学习在科学计算中获得了广泛的普及,其算法被广泛用于解决复杂问题的行业。所有深度学习算法都使用
    的头像 发表于 01-03 10:28 527次阅读
    目前主流的<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>模型和应用案例

    深度学习在人工智能中的 8 种常见应用

    深度学习简介深度学习是人工智能(AI)的一个分支,它教神经网络学习和推理。近年来,它解决复杂问题并在各个领域提供尖端性能的能力引起了极大的兴
    的头像 发表于 12-01 08:27 959次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在人工智能中的 8 种常见应用

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的
    发表于 10-09 10:23 358次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的由来 <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>有哪些

    瑞萨电子深度学习算法在缺陷检测领域的应用

    浪费大量的人力成本。因此,越来越多的工程师开始将深度学习算法引入缺陷检测领域,因为深度学习在特征提取和定位方面取得了非常好的效果。
    的头像 发表于 09-22 12:19 501次阅读
    瑞萨电子<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>在缺陷检测领域的应用

    一文详解机器学习深度学习的区别

    深度学习这几年特别火,就像5年前的大数据一样,不过深度学习其主要还是属于机器学习的范畴领域内,所以这篇文章里面我们来唠一唠机器
    发表于 09-06 12:48 1339次阅读
    一文详解机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别

    机器学习深度学习的区别

    机器学习深度学习的区别 随着人工智能技术的不断发展,机器学习深度学习已经成为大家熟知的两个术
    的头像 发表于 08-17 16:11 3381次阅读

    深度学习服务器怎么做 深度学习服务器diy 深度学习服务器主板用什么

    深度学习服务器怎么做 深度学习服务器diy 深度学习服务器主板用什么  随着人工智能的飞速发展,
    的头像 发表于 08-17 16:11 539次阅读

    深度学习框架和深度学习算法教程

    深度学习框架和深度学习算法教程 深度学习是机器
    的头像 发表于 08-17 16:11 714次阅读

    深度学习算法mlp介绍

    深度学习算法mlp介绍  深度学习算法是人工智能领域的热门话题。在这个领域中,多层感知机(mul
    的头像 发表于 08-17 16:11 2659次阅读

    深度学习算法库框架学习

    深度学习算法库框架学习 深度学习是一种非常强大的机器学习
    的头像 发表于 08-17 16:11 435次阅读

    深度学习算法的选择建议

    深度学习算法的选择建议 随着深度学习技术的普及,越来越多的开发者将它应用于各种领域,包括图像识别、自然语言处理、声音识别等等。对于刚开始
    的头像 发表于 08-17 16:11 382次阅读

    什么是深度学习算法深度学习算法的应用

    什么是深度学习算法深度学习算法的应用 深度
    的头像 发表于 08-17 16:03 1476次阅读

    深度学习算法工程师是做什么

    深度学习算法工程师是做什么 深度学习算法工程师是一种高级技术人才,是数据科学中创新的推动者,也是
    的头像 发表于 08-17 16:03 805次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法简介 深度学习算法是什么?深度
    的头像 发表于 08-17 16:02 6806次阅读