您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

十大深度学习算法的原理解析

时间:2022-10-22 15:12:49  来源:今日头条  作者:BigQuant

摘要

深度学习在科学计算领域得到了广泛的应用,其算法被解决复杂问题的行业广泛使用。所有的深度学习算法都使用不同类型的神经网络来执行特定的任务。本文为大家带来基本的人工神经网络和深度学习算法,并简单讲解它们如何模拟人脑工作。

什么是深度学习

深度学习是使用人工神经网络对大量数据进行复杂的计算。

它是一种基于人脑结构和功能的机器学习。

深度学习算法是通过从实例中学习来训练机器。

医疗保健、电子商务、娱乐和广告等行业通常使用深度学习。

定义神经网络

Neural.NETworks,简称NN。针对机器学习算法需要领域专家进行特征工程,模型泛化性能差的问题,提出了NN可以从数据的原始特征学习特征表示,无需进行复杂的特征处理。

神经网络的结构类似于人脑,由人工神经元组成,也称为节点。这些节点分为三层并排堆放:

  1. 输入层
  2. 隐藏层
  3. 输出层

 

数据以输入的形式为每个节点提供信息。该节点将输入与随机权重相乘,计算它们,并添加一个偏差。最后,非线性函数,也称为激活函数,被用来确定哪个神经元激活。

其原理可以使用线性回归理解:y = W x + b y=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 有多个层次,从数据中处理和提取特征:

卷积层

有线电视新闻网有一个卷积层,有几个过滤器执行卷积操作。

整流线性单元

CNN 有一个 ReLU 层来执行对元素的操作。输出是一个校正的特征映射。

共用层

经过修正的特性映射接下来被提供到一个池层。池是一种减少特征映射维度的下采样操作。

然后,汇聚层通过平坦化将汇聚的特征映射得到的二维数组转换为单个、长的、连续的线性向量。

完全连接层

当来自池层的平坦矩阵作为输入时,形成一个完全连通的层,它对图像进行分类和识别。

下面是一个通过 CNN 处理的图像的例子。

 

二、长短期存储器网络(LSTMs)

LSTM 是一种递归神经网络(RNN) ,可以学习和记忆长期的依赖关系。长时间回忆过去的信息是默认行为。

LSTM 随着时间的推移保留信息。它们在时间序列预测中很有用,因为它们记得以前的输入。LSTM 具有链状结构,其中四个相互作用的层以独特的方式进行通信。除了时间序列预测,LSTM 通常用于语音识别、音乐创作和药物开发。

LSTM 是如何工作的?

  1. 首先,他们忘记了先前状态中不相关的部分
  2. 接下来,它们有选择地更新单元格状态值
  3. 最后,输出单元格状态的某些部分

下面是 LSTM 如何运作的示意图:

 

三、递归神经网络(RNNs)

RNN 具有形成定向循环的连接,这允许将 LSTM 的输出作为输入馈入到当前阶段。

LSTM 的输出成为当前阶段的输入,并且由于其内部存储器,可以记忆以前的输入。RNN 通常用于图像字幕、时间序列分析、自然语言处理、手写识别和机器翻译。

展开的 RNN 看起来像这样:

 

RNN 是如何工作的?

  1. 时间 t-1的输出在时间 t 输入。
  2. 类似地,时间 t 的输出在时间 t + 1输入。
  3. RNN 可以处理任意长度的输入。
  4. 计算考虑了历史信息,模型大小不会随着输入大小的增加而增加。

下面是谷歌自动完成功能的一个例子:

 

四、生成性对抗网络(GAN)

GAN 是生成式深度学习算法,它创建类似于训练数据的新数据实例。GAN 有两个组成部分: 一个生成器,学习生成虚假数据,一个鉴别器,学习从虚假信息。

GAN 的使用在一段时间内有所增加。它们可以用来改善天文图像和模拟暗物质研究的引力透镜效应。视频游戏开发者通过图像训练,以4K 或更高的分辨率重新创建低分辨率、2D 纹理的旧视频游戏,使用 GAN 来提升它们的分辨率。

GAN 有助于生成逼真的图像和卡通人物,创建人脸照片,并渲染3D 物体。

GAN 是如何工作的?

  1. 鉴别器学习区分生成器的虚假数据和真实样本数据。
  2. 在最初的训练过程中,生成器产生假数据,鉴别器很快学会辨别这些假数据。
  3. GAN 将结果发送给生成器和鉴别器以更新模型。

下面是 GAN 如何运作的示意图:

 

五、径向基函数网络(RBFNs)

RBFN 是一种特殊类型的前馈神经网络,它使用径向基函数作为激活函数。它们有一个输入层、一个隐藏层和一个输出层,主要用于分类、回归和时间序列预测。

RBFN 是如何工作的?

  1. RBFN 通过测量输入与训练集中的例子的相似性来进行分类。
  2. RBF 神经元有一个输入向量供给输入层,它们有一层 RBF 神经元。
  3. 函数找到输入的加权和,输出层为每个类别或类别的数据有一个节点。
  4. 隐层中的神经元包含高斯传递函数,其输出与到神经元中心的距离成反比。
  5. 网络的输出是输入的径向基函数和神经元参数的线性组合。

看看这个 RBFN 的例子:

 

六、多层感知器(mlp)

MLP 是开始学习深度学习技术的绝佳场所。

MLP 属于具有多层感知器的前馈神经网络,具有激活功能。MLP 由完全连接的输入层和输出层组成。它们具有相同数量的输入和输出层,但可能有多个隐藏层,可用于构建语音识别、图像识别和机器翻译软件。

MLP 是如何工作的?

  1. MLP 将数据提供给网络的输入层。神经元层连接成一个图形,以便信号沿一个方向传递。
  2. MLP 使用存在于输入层和隐藏层之间的权重来计算输入。
  3. MLP 使用激活函数来决定激活哪些节点。激活函数包括 ReLU、 sigmoid 函数和 tanh。
  4. MLP 训练模型以理解相关性,并从训练数据集中学习独立变量和目标变量之间的依赖关系。

下面是 MLP 的一个例子。该图计算权重和偏差,并应用适当的激活函数来分类猫和狗的图像。

 

七、自组织映射神经网络(SOMs)

特沃•科霍宁教授发明了自组织映射神经网络,使数据可视化能够通过自组织的人工神经网络来减少数据的维数。

数据可视化试图解决人类无法轻易将高维数据可视化的问题。SOM 的创建是为了帮助用户理解这些高维信息。

SOM 是如何工作的?

  1. SOM 为每个节点初始化权值,并从训练数据中随机选择一个向量。
  2. SOM 检查每个节点,以找出哪些权重是最可能的输入向量。获胜的节点称为最佳匹配单元(BMU)。
  3. SOM 发现了 BMU 的邻居,随着时间的推移,邻居的数量减少了。
  4. SOMs 为样本向量授予一个获胜的权重。节点越接近 BMU,其权重变化越大。.
  5. 邻居离 BMU 越远,它学到的东西就越少。 SOMs 在 N 次迭代中重复第二步。

下面,请看一个不同颜色的输入向量的示意图。这些数据提供给 SOM,然后 SOM 将数据转换为2D RGB 值。最后,它分离和分类不同的颜色。

 

八、深度信念网络(DBN)

DBN 是由多层随机潜变量组成的生成模型。潜变量具有二进制值,通常称为隐藏单位。

DBN 是一组 Boltzmann 机器,它们在各层之间建立连接,每个 RBM 层与前面的层和后面的层进行通信。深度信任网络(DBN)用于图像识别、视频识别和运动捕捉数据。

DBN 是如何工作的?

  1. 贪婪学习算法训练 DBN。贪婪学习算法使用一层一层的方法来学习自顶向下的生成权重。
  2. DBN 在最上面的两个隐藏层上运行 Gibbs 采样的步骤。这个阶段从顶部两个隐藏层定义的 RBM 中提取一个样本。
  3. DBN 使用一次通过模型其余部分的祖先抽样来从可见单元中抽取样本。
  4. DBN 每一层中潜变量的值都可以通过一次自底向上的传递来推断。

下面是 DBN 体系结构的一个示例:

 

九、受限制的玻尔兹曼机器(RBM)

由 Geoffrey Hinton 开发的 RBM 是一种随机神经网络,可以从一组输入的概率分布中学习。

这种深度学习算法用于降维、分类、回归、协同过滤、特征学习和主题建模。RBM构成了 DBN 的组成部分。

RBM由两层组成:

  1. 可见单位
  2. 隐藏单位

每个可见单元都连接到所有隐藏单元。RBM 有一个连接到所有可见单元和隐藏单元的偏置单元,它们没有输出节点。

RBM 是如何工作的?

RBM有两个阶段: 前向传递和后向传递。

  1. RBM接受输入,并将其转换成一组数字,在前向传递中对输入进行编码。
  2. RBM 算法将每个输入与单个权值和一个总偏差相结合,将输出传递给隐层。
  3. 在向后传递过程中,RBM 获取这组数字并将它们转换为重构的输入。
  4. RBM 将每个激活与个体重量和整体偏差相结合,并将输出传递到可见层进行重建。
  5. 在可见层,RBM 将重建结果与原始输入进行比较,分析结果的质量。

以下是RBM如何运作图表:

 

十、自动编码器

自动编码器是一种特殊类型的前馈神经网络,其输入和输出是相同的。杰弗里•辛顿(Geoffrey Hinton)在上世纪80年代设计了自动编码器,以解决非监督式学习问题。它们是经过训练的神经网络,将数据从输入层复制到输出层。自动编码器用于药物发现、流行预测和图像处理等目的。

自动编码器是如何工作的?

自动编码器由三个主要部分组成: 编码器、代码和解码器。

  1. 自动编码器的结构是接收输入并将其转换为不同的表示形式。然后,他们试图尽可能准确地重建原始输入。
  2. 当一个数字的图像不清楚可见,它馈送到自动编码器神经网络。
  3. 自动编码器首先对图像进行编码,然后将输入的大小减小为较小的表示形式。
  4. 最后,自动编码器对图像进行解码,生成重建图像。

下图演示了自动编码器的工作方式:

 

结论

深度学习在过去的五年中得到了发展,深度学习算法在许多行业中广泛流行。以下是常见的问答交流环节。

Q1:深度学习中哪种算法最好?

多层感知器(MLPs)是最好的深度学习算法。这是一个最古老的深度学习技术使用的几个社会媒体网站,包括 Instagram 和 Meta。这有助于在弱网络中加载图像,辅助数据压缩,并经常用于速度和图像识别应用程序。

Q2:哪一个是深度学习算法的例子?

一些许多深度学习算法包括径向函数网络,多层感知器,自组织映射,卷积神经网络等等。这些算法包括受人类大脑神经元功能启发的结构。

Q3:CNN 是一种深度学习算法吗?

是的,CNN 是一个深度学习算法,负责处理动物视觉皮层启发的图像在网格模式的形式。它们被设计用于自动检测和分割特定对象,并从低层到高层模式学习特征的空间层次结构。

Q4:深度学习的三个层次是什么?

该神经网络由输入层、隐层和输出层三层组成。当输入数据应用于输入层时,获得输出层中的输出数据。隐藏层负责执行所有的计算和“隐藏”任务。

Q5:深度学习模式是如何工作的?

深度学习模型使用神经网络结构或一组包含多层的标记数据进行训练。它们有时超过人类水平的表现。这些体系结构直接从数据中学习特征,而不受手工特征提取的阻碍。

Q6:深度学习算法从哪个入门?

无论你是初学者还是专业人士,这三个最好的深度学习算法将帮助你解决与深度学习有关的复杂问题: CNN 或卷积神经网络,LSTM 或长短期记忆网络和 RNN 或回归神经网络(RNN)。



Tags:算法   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
诱导付费、自动扣费……微短剧被质疑借助算法精准“围猎”老年人
诱导付费、自动扣费、重复收费……聚焦身边的消费烦心事⑦丨一些微短剧被质疑借助算法精准“围猎”老年人中工网北京3月31日电(工人日报—中工网记者刘兵)...【详细内容】
2024-04-01  Search: 算法  点击:(6)  评论:(0)  加入收藏
分析网站SEO快速排名算法对网站具体的影响效果
亲爱的朋友们,今天我想和大家分享一个我们都关心的话题——网站SEO快速排名算法对网站我们身处一个信息爆炸的时代,如何在海量的信息中脱颖而出,成为了一个我们不得...【详细内容】
2024-03-28  Search: 算法  点击:(13)  评论:(0)  加入收藏
当prompt策略遇上分治算法,南加大、微软让大模型炼成「火眼金睛」
近年来,大语言模型(LLMs)由于其通用的问题处理能力而引起了大量的关注。现有研究表明,适当的提示设计(prompt enginerring),例如思维链(Chain-of-Thoughts),可以解锁 LLM 在不同领域的...【详细内容】
2024-03-12  Search: 算法  点击:(16)  评论:(0)  加入收藏
谷歌宣布更新搜索算法:打击AI生成内容,提高搜索结果质量
IT之家 3 月 6 日消息,谷歌于当地时间 5 日发文宣布,针对用户对搜索结果质量下降的反馈,将对算法进行调整,旨在打击 AI 生成的内容以及内容农场等垃圾信息,使用户能够看到更多“...【详细内容】
2024-03-06  Search: 算法  点击:(39)  评论:(0)  加入收藏
小红书、视频号、抖音流量算法解析,干货满满,值得一看!
咱们中国现在可不是一般的牛!网上的网友已经破了十个亿啦!到了这个互联网的新时代,谁有更多的人流量,谁就能赢得更多的掌声哦~抖音、小红书、、视频号,是很多品牌必争的流量洼地...【详细内容】
2024-02-23  Search: 算法  点击:(15)  评论:(0)  加入收藏
雪花算法详解与Java实现:分布式唯一ID生成原理
SnowFlake 算法,是 Twitter 开源的分布式 ID 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳...【详细内容】
2024-02-03  Search: 算法  点击:(51)  评论:(0)  加入收藏
简易百科之什么是搜索引擎的PageRank算法?
简易百科之什么是搜索引擎的PageRank算法?在互联网时代,搜索引擎是我们获取信息的重要工具。而PageRank算法则是搜索引擎的核心技术之一,它决定了网页在搜索结果中的排名。那么...【详细内容】
2024-01-24  Search: 算法  点击:(51)  评论:(0)  加入收藏
PageRank算法揭秘:搜索引擎背后的魔法师的工作原理
PageRank(PR)算法是由谷歌创始人之一的拉里·佩奇LarryPage命名的一种衡量网站页面重要性的方法。根据谷歌的说法,PageRank通过计算页面链接的数量和质量来粗略估计分...【详细内容】
2024-01-23  Search: 算法  点击:(44)  评论:(0)  加入收藏
程序开发中常用的十种算法,你用过几种?
当编写程序时,了解和使用不同的算法对解决问题至关重要。以下是C#中常用的10种算法,每个算法都伴随着示例代码和详细说明。1. 冒泡排序 (Bubble Sort):冒泡排序是一种简单的比...【详细内容】
2024-01-17  Search: 算法  点击:(45)  评论:(0)  加入收藏
百度最新的搜索引擎算法是什么样的?
百度搜索引擎算法是百度用来决定网页排名的算法。它是百度搜索技术的核心,也是百度作为全球最大的中文搜索引擎的基石。随着互联网的发展和用户需求的不断变化,百度搜索引擎算...【详细内容】
2024-01-10  Search: 算法  点击:(90)  评论:(0)  加入收藏
▌简易百科推荐
小红书、视频号、抖音流量算法解析,干货满满,值得一看!
咱们中国现在可不是一般的牛!网上的网友已经破了十个亿啦!到了这个互联网的新时代,谁有更多的人流量,谁就能赢得更多的掌声哦~抖音、小红书、、视频号,是很多品牌必争的流量洼地...【详细内容】
2024-02-23  二手车小胖说    Tags:流量算法   点击:(15)  评论:(0)  加入收藏
雪花算法详解与Java实现:分布式唯一ID生成原理
SnowFlake 算法,是 Twitter 开源的分布式 ID 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳...【详细内容】
2024-02-03   一安未来  微信公众号  Tags:雪花算法   点击:(51)  评论:(0)  加入收藏
程序开发中常用的十种算法,你用过几种?
当编写程序时,了解和使用不同的算法对解决问题至关重要。以下是C#中常用的10种算法,每个算法都伴随着示例代码和详细说明。1. 冒泡排序 (Bubble Sort):冒泡排序是一种简单的比...【详细内容】
2024-01-17  架构师老卢  今日头条  Tags:算法   点击:(45)  评论:(0)  加入收藏
百度推荐排序技术的思考与实践
本文将分享百度在推荐排序方面的思考与实践。在整个工业界的推广搜场景上,特征设计通常都是采用离散化的设计,需要保证两方面的效果,一方面是记忆,另一方面是泛化。特征都是通过...【详细内容】
2024-01-09  DataFunTalk  微信公众号  Tags:百度推荐   点击:(77)  评论:(0)  加入收藏
什么是布隆过滤器?如何实现布隆过滤器?
以下我们介绍了什么是布隆过滤器?它的使用场景和执行流程,以及在 Redis 中它的使用,那么问题来了,在日常开发中,也就是在 Java 开发中,我们又将如何操作布隆过滤器呢?布隆过滤器(Blo...【详细内容】
2024-01-05  Java中文社群  微信公众号  Tags:布隆过滤器   点击:(87)  评论:(0)  加入收藏
面向推荐系统的深度强化学习算法研究与应用
随着互联网的快速发展,推荐系统在各个领域中扮演着重要的角色。传统的推荐算法在面对大规模、复杂的数据时存在一定的局限性。为了解决这一问题,深度强化学习算法应运而生。本...【详细内容】
2024-01-04  数码小风向    Tags:算法   点击:(96)  评论:(0)  加入收藏
非负矩阵分解算法:从非负数据中提取主题、特征等信息
非负矩阵分解算法(Non-negativeMatrixFactorization,简称NMF)是一种常用的数据分析和特征提取方法,主要用于从非负数据中提取主题、特征等有意义的信息。本文将介绍非负矩阵分解...【详细内容】
2024-01-02  毛晓峰    Tags:算法   点击:(64)  评论:(0)  加入收藏
再谈前端算法,你这回明白了吗?
楔子 -- 青蛙跳台阶一只青蛙一次可以跳上一级台阶,也可以跳上二级台阶,求该青蛙跳上一个n级的台阶总共需要多少种跳法。分析: 当n=1的时候,①只需要跳一次即可;只有一种跳法,即f(...【详细内容】
2023-12-28  前端爱好者  微信公众号  Tags:前端算法   点击:(108)  评论:(0)  加入收藏
三分钟学习二分查找
二分查找是一种在有序数组中查找元素的算法,通过不断将搜索区域分成两半来实现。你可能在日常生活中已经不知不觉地使用了大脑里的二分查找。最常见的例子是在字典中查找一个...【详细内容】
2023-12-22  小技术君  微信公众号  Tags:二分查找   点击:(78)  评论:(0)  加入收藏
强化学习算法在资源调度与优化中的应用
随着云计算和大数据技术的快速发展,资源调度与优化成为了现代计算系统中的重要问题。传统的资源调度算法往往基于静态规则或启发式方法,无法适应动态变化的环境和复杂的任务需...【详细内容】
2023-12-14  职场小达人欢晓    Tags:算法   点击:(165)  评论:(0)  加入收藏
站内最新
站内热门
站内头条