| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【ML】机器学习中的十大深度学习算法 -> 正文阅读 |
|
[人工智能]【ML】机器学习中的十大深度学习算法 |
文章目录 通过 MLP、CNN、RNN、ANN 等示例探索 10 大深度学习算法列表,以学习和掌握深度学习技能。 当用问题提问 Siri 或 Alexa 时,人们常常想知道机器如何达到超人的准确性。这一切都归功于深度学习——数据科学中令人难以置信的令人生畏的领域。这个深度学习技术的新领域受到人脑中神经网络功能的启发。它导致了令人兴奋的人工智能应用的发展,例如语言识别、自动驾驶汽车和计算机视觉机器人等。假设您是那些对深度学习的无限可能性着迷的人之一,并且好奇地想了解流行的深度学习应用程序幕后的流行深度学习算法。在这种情况下,本文适合您。 在我们深入研究深度学习模型的技术细节之前,让我们把要务放在首位,了解深度学习如何被证明比传统机器学习更有优势。 为什么深度学习算法优于传统机器学习算法????????????????????????????????????????????????????? 图片来源——Andrew Ng 的幻灯片? 上图描绘了传统机器学习算法和深度学习技术在数据量上的性能比较。从图表中可以明显看出,深度学习算法的性能随着数据量的增加而增加。相比之下,对于机器学习中的传统算法,性能有所上升但保持不变(平线)。 根据国际数据公司 (IDC) 的数据,到 2025 年,全球数据将增长 61%,达到 175 泽字节!越来越多地使用社交媒体平台、移动应用程序等会产生大量数据。 ?????? ?随着数据的增加和大部分数据是非结构化(图像、视频、音频等)类型,深度学习算法在数据革命时代发挥着至关重要的作用。? 什么是深度学习?想象一下,当你还是个孩子的时候,你被要求学习英语字母表,书中的彩色图片显示字母 A 的 Apple 图像,字母 B 的 Ball 图像,等等。当目标只是学习字母表时,你认为他们为什么会有这些图像? 图片来源:Alfred Pasieka/SPL/Getty 我们人类有一种从视觉上学习概念的本领,我们倾向于通过参考这些视觉来记住它们。这就是为什么如果你不这样做,你很可能会在几天后忘记你在认证考试中写下的答案再次修改它们。同样,如果你在 Netflix 上狂看了一部情景喜剧,如果你反复观看,你很可能会记住很长一段时间的对话和场景。:D 深度学习算法简介在我们继续讨论机器学习中的深度学习模型列表之前,让我们了解深度学习算法的结构和工作原理以及著名的 MNIST 数据集。人脑是由数十亿个神经元组成的网络,有助于代表大量知识。深度学习还使用与大脑神经元相同的类比来处理信息和识别信息。让我们用一个例子来理解这一点。 ???图片来源——维基百科 上图取自非常著名的MNIST数据集,可以一瞥数字的视觉表示。MNIST 数据集广泛用于许多图像处理技术。现在,让我们观察一下每个数字如何以不同方式书写的图像。我们作为人类可以很容易地理解这些数字,即使它们被稍微调整或写成不同,因为我们已经写过它们并看过它们数百万次。但是如果你正在构建一个图像处理系统,你将如何让计算机识别这些数字呢?这就是深度学习发挥作用的地方! ? 什么是深度学习中的神经网络?可以直观地表示上图中神经网络cas 的基本结构,主要有三个组成部分 - 1. 输入层 2.隐藏层? 3.输出层 上图只显示了一个隐藏层,我们可以称之为人工神经网络或神经网络。另一方面,深度学习有几个隐藏层,这就是它得名“深度”的地方。这些隐藏层相互连接,用于使我们的模型学习给出最终输出。 图片来源 - neuralnetworksanddeeplearning.com 每个具有信息的节点以输入的形式传递,节点将输入与随机权重值相乘并在计算之前添加偏差。然后应用非线性或激活函数来确定哪个特定节点将确定输出。 ? ?人工神经网络中使用的激活函数就像逻辑门一样工作。因此,如果我们要求或门的输出为 1。我们需要将输入值作为 0,1 或 1,0 传递。不同的深度学习模型使用不同的激活函数,有时使用激活函数的组合。我们在神经网络和深度学习结构上有相似之处。但是不能将神经网络用于图像、视频、传感器数据等非结构化数据。我们需要多个隐藏层(有时甚至数千个)来处理这些类型的数据,因此我们使用深度神经网络。 深度学习算法如何工作?对于上面讨论的 MNIST 示例,我们可以将数字视为以 28x28 像素网格格式发送到隐藏层以进行数字识别的输入。隐藏层根据形状对数字(无论是 0,1,2,...9)进行分类。例如——如果我们考虑一个数字 8,它看起来像是有两个相互连接的结。转换为像素二进制文件 (0,1) 的图像数据作为输入发送到输入层。 层中的每个连接都有一个与之关联的权重,它决定了输入值的重要性。初始权重是随机设置的。 ? ? 图片来源-CodeProject 如果需要降低重要性,我们也可以将负权重与这些联系相关联。使用反向传播算法在每次迭代后更新权重。? 在某些情况下,可能没有突出的数字输入图像,这时必须执行多次迭代以通过增加隐藏层的数量来训练深度学习模型。最后,根据权重和迭代次数生成最终输出。 现在我们对深度学习中的输入和输出层有了基本的了解,接下来让我们了解一些主要的深度学习算法、它们的工作原理以及它们的用例。 顶级深度学习算法列表1) 多层感知器 (MLP)MLP是最基本的深度学习算法,也是最古老的深度学习技术之一。如果你是深度学习的初学者,刚刚开始探索它,我们建议你从 MLP 入手。MLP 可以称为前馈神经网络的一种形式。? MLP 深度学习算法是如何工作的?
MLP的应用?社交媒体网站(Instagram、Facebook)使用它来压缩图像数据。即使网络强度不是太强,这也有助于加载图像。 其他应用包括用于图像和语音识别、数据压缩以及分类问题。 MLP的优点?
MLP的缺点?
2) 径向基函数网络 (RBFN)顾名思义,它基于径向基函数(RBF) 激活函数。模型训练过程使用 RBFN 比 MLP 需要的时间略少。? RBFN 深度学习算法如何工作?一种简单的 RBFN 类型是一个三层前馈神经网络,具有一个输入层、一个由多个 RBF 非线性激活单元组成的隐藏层和一个充当求和单元以给出最终输出的线性输出层。 ?RBFN 使用反复试验来确定网络的结构。这是分两步完成的——
RBFN的应用??RBFN 用于分析股票市场价格并预测零售行业的销售价格,因为它们能够处理基于时间序列的数据。其他应用包括语音识别、时间序列分析、图像识别、自适应均衡、医学诊断等。 RBFN 的优点1) 与 MLP 相比,训练过程更快,因为不涉及反向传播。 2)与MLP相比,隐藏层节点的作用更容易解释。 RBFN 的缺点?尽管我们已经看到 RBF 网络中的训练速度更快,但与多层感知器相比,分类需要时间。? 原因是隐藏层中的每个节点在分类时都必须为输入样本向量计算RBF函数。 与 MLP 相比,隐藏层节点的作用很容易解释。 我们希望我们的模型能够识别物体,而不管它们位于什么表面和位置。? 3)卷积神经网络(CNN)在 CNN 中,数据处理涉及将图像分成许多重叠的图块,而不是将整个图像输入我们的网络。然后,我们在整个原始图像上使用一种称为滑动窗口的技术,并将结果保存为单独的小图片块。滑动窗口是一种蛮力解决方案,我们扫描周围的给定图像以检测所有可能部分的对象,一次每个部分,直到我们得到预期的对象。 CNN 深度学习算法如何工作?CNN 的三个基本构建块
图片来源——维基百科 卷积层——它是卷积神经网络最重要的构建块。在层的参数中使用了一组过滤器(内核),可以将其可视化为层的神经元。它们具有加权输入并基于输入大小(固定正方形),也称为感受野;他们提供输出。 这些过滤器在应用于输入图像时会生成特征图。它是应用于上一层的一个过滤器的输出。一次移动一个图像像素,在整个前一层绘制一个给定的过滤器。对于每个位置,一个特定的神经元被激活,输出被收集在一个特征图中。? 为了避免丢失原始图像分块的排列,我们将每个分块处理后得到的结果保存到与原始图像分块排列相同的网格中。 在卷积层中,输出是一个巨大的网格数组。为了减少这个数组的大小,我们使用算法最大池化进行下采样。基本思想是只保留数组中最重要的输入块。 全连接网络——数组只是一堆数值,所以我们可以将它们输入到一个全连接的神经网络中(所有神经元都连接)。CNN 最常用的是 ReLU 作为激活函数。 CNN的应用Facebook、Instagram、社交媒体网站等使用 CNN 进行人脸检测和识别。所以当你试图在你的帖子中标记你的朋友时,你正在使用 CNN! 其他应用包括视频分析、图像识别、自然语言处理、预测等。 CNN的优点与其他算法相比,CNN 结果更准确,特别是对于图像/对象识别用例。 CNN 的缺点训练 CNN 需要高计算能力。因此,它们不具有成本效益。 4) 循环神经网络 (RNN)您是否注意到,当您开始输入内容时,Google 会自动为您完成句子!现在,如果你正在考虑它是如何工作的,秘密就是 RNN。 递归神经网络在互连节点之间有定向循环。他们使用自己的记忆来处理下一个输入序列,以实现自动完成功能。RNN 可以接受一系列输入而没有大小限制,从而使它们独一无二。? RNN 深度学习算法如何工作? RNN的基本结构上图显示了RNN的每个时间状态的不同步骤。RNN 不仅考虑隐藏单元的权重来确定输出,而且还使用从其先前输入中学到的信息。RNN 是一种特殊类型的深度神经网络,由于其内部记忆,它可以记住这些字符。产生一个输出,它被复制并像循环一样提供回深度神经网络。这就是为什么输入可以根据连接层中先前的输入产生不同的输出。 让我们通过一个例子来理解这一点—— 示例- 想象一下,如果您构建了一个前馈网络,它将单词作为输入并逐个字符地处理单词。您传递单词 ProjectPro,当您到达字符“o”时,它可能已经忘记了最后的字符“P”、“r”和“o”。? 循环神经网络的应用谷歌、搜索引擎和网络浏览器广泛使用 RNN 来自动完成单词和句子。其他应用包括文本检测和识别、分析视频帧等。 RNN 的优点?RNN 模型在整个训练期间记住信息的能力在时间序列预测中起着举足轻重的作用。 RNN 的缺点??
5) 长短期记忆网络 (LSTM)LSTM 是一种特殊的 RNN,具有很强的学习长期依赖性的能力。让我们试着通过一个例子来理解长期依赖。 假设你已经建立了一个模型来根据前面的单词预测下一个单词。假设您正在尝试预测句子中的最后一个词“太阳从东方升起”,我们不需要任何进一步的上下文,显然下一个词将是东方。在这些类型的情况下,相关信息与需要信息的地方之间没有太大差距,RNN 可以轻松学习和预测输出。但是如果我们有这样一句话,“我出生在印度。我说一口流利的印地语”。这种预测需要上一句中关于一个人出生地的一些上下文,在这种情况下,RNN 可能无法学习和连接这些信息。 LSTM 深度学习算法如何工作? LSTM 网络由称为单元格的不同存储块(上面的矩形块)组成。?? 细胞状态和隐藏状态被转移到下一个细胞。顾名思义,内存块会记住东西,而对这些内存块的更改是通过称为门的机制完成的。? LSTM 的关键是单元状态(顶部的水平线,在图中贯穿)。? LSTM 的关键是单元状态(图中顶部的水平线)。? 第 1 步:?- LSTM 决定哪些信息应该保持完整,哪些应该从细胞状态中丢弃。sigmoid 层负责做出这个决定。 第 2 步:?- LSTM 决定应保留哪些新信息并替换第 1 步中识别的不相关信息 - tanh 和 sigmoid 在识别相关信息方面起着重要作用。 第 3 步:?- 输出是在细胞状态的帮助下确定的,由于应用了 sigmoid 和 tanh 函数,细胞状态现在将成为过滤版本。 应用?网络流量数据或 IDS(入侵检测系统)中的异常检测、时间序列预测、自动完成、文本和视频分析以及字幕生成。? LSTM 的优点与传统的 RNN 相比,LSTM 在对时间顺序和长期依赖性建模方面非常方便。? LSTM 的缺点
6) 受限玻尔兹曼机 (RBM)RBM 是深度学习中最古老的算法之一,由 Geoffrey Hinton 于 1986 年发明。我敢打赌,您会注意到 YouTube 如何推荐与您最近观看的视频相似的视频。此外,如果您在 Netflix 上看过网络连续剧或电影,您会开始收到很多与它们相关的推荐。他们使用一种称为协同过滤的技术,该技术使用 RBM。 RBM 深度学习算法如何工作?单一输入的 RBM RBM 是最简单的深度学习算法之一,其基本结构只有两层——
输入 x 乘以每个隐藏节点的相应权重 (w)。单个输入 x 总共可以有 8 个权重(2 个输入节点 x 4 个隐藏节点)。隐藏节点接收乘以它们各自的权重和偏置值的输入。结果通过激活函数传递到输出层进行重建。RBM 将此重建与原始输入进行比较以确定结果的质量。如果结果质量不好,则更新权重,并构建新的重构。? 应用?Netflix、Prime Video 和 Streaming 应用程序使用 RBM 算法根据用户的观看模式向他们提供推荐。 RBM 的优点?
RBM 的缺点??
7) 自组织图 (SOM)想象一下,您正在处理一个包含数百个特征的数据集,并且您想要可视化您的数据以了解每个特征之间的相关性。使用散点图或配对图无法想象它。SOM 来了。它减少了数据的维度(删除了不太相关的特征)并帮助我们可视化特征值的分布。 SOM 深度学习算法是如何工作的?SOM 通过创建 1D 或 2D 地图将相似的数据项组合在一起。与其他算法类似,权重是为每个节点随机初始化的。在每一步中,从输入数据集中随机抽取一个样本向量 x,并计算 x 与所有其他向量之间的距离。 在对所有其他向量进行投票后,选择最接近 x的最佳匹配单元(BMU)。一旦确定了 BMU,就会更新权重向量,并且 BMU 及其拓扑邻居会在输入空间中移动到更靠近输入向量 x 的位置。重复这个过程,直到我们得到预期的输出。 对于我们的示例,程序将首先从样本数组中选择一种颜色,例如红色,然后搜索这些红色位置的权重。这些位置周围的权重为红色,然后选择下一个颜色蓝色,然后继续该过程。 应用?图像分析、故障诊断、过程监测和控制等。SOM 可用于根据立体图像对人头进行 3D 建模,因为它们能够生成强大的可视化效果,并且对于医疗保健部门创建 3D 图表具有广泛的价值。 SOM 的优点??
SOM 的缺点?
8) 生成对抗网络 (GAN)它是一种无监督学习算法,能够自动发现和学习数据中的模式。GAN然后生成类似于原始数据集的新示例。 GAN 深度学习算法如何工作?GAN 由两个神经网络组成。
积分-O'Reilly 让我们通过一个例子来理解这一点。考虑一个钞票检查机。机器负责检查纸币是假的还是真的。生成器网络将尝试创建假钞并将它们发送给鉴别器。鉴别器将接受真实(输入训练数据)和假钞并返回 0 到 1 之间的值。该值是概率,其中 1 代表完全真实的钞票,0 代表假钞。? 生成器和鉴别器都将尝试超越对方并同时接受训练。? 应用GAN 广泛用于游戏行业的 3D 对象生成。它们还用于编辑图像、生成卡通人物等。 它们也用于小说、文章等的插图。 GAN 的优点?
GAN 的缺点?
9) 自动编码器深度学习算法自动编码器是无监督算法,非常类似于机器学习中的主成分分析 (PCA)。它们用于将多维数据转换为低维数据。如果我们想要原始数据,我们可以重新生成它。 一个简单的例子是——假设你的朋友要求你分享一个你保存在电脑上的软件。该软件的文件夹大小接近 1 GB。如果您直接将整个文件夹上传到您的 Google 驱动器,将会花费很多时间。但是如果你压缩它,那么数据大小会减少,你可以很容易地上传它。你的朋友可以直接下载这个文件夹,解压数据,得到原文件夹。 在上面的例子中,原始文件夹是输入,压缩文件夹是编码数据,当你的朋友解压缩压缩文件夹时,它是解码。 自动编码器如何工作?自动编码器中有 3 个主要组件 -?
编码器和解码器之间的代码层也称为瓶颈。它用于决定输入数据的哪些方面是相关的,哪些可以忽略。瓶颈是我们网络中非常重要的一层。没有它,网络可以很容易地学会通过网络传递输入值来记住它们。 应用图像着色、图像压缩、去噪等。 它们在医疗保健行业用于医学成像(对人体内部进行成像以进行临床分析的技术和过程),例如 - 乳腺癌检测。 自编码器的优点使用多个编码器和解码器层在一定程度上降低了表示某些函数的计算成本。 自编码器的缺点??
10) 深度信念网络通过附加多个受限玻尔兹曼机 (RBM) 层来构建深度信念网络 (DBN)。每个 RBM 层都可以与前一层和后一层进行通信。 DBN 使用贪心算法进行预训练。它使用逐层方法来学习所有生成权重和自上而下的方法。相关的权重决定了一层中的所有变量如何依赖于上一层中的其他变量。 深度信念网络如何运作?
应用
DBN 的优点?
DBNS 的缺点处理输入的硬件要求很高。 查看这些深度学习项目以解决现实世界的业务问题并自行实施这些算法。快乐学习! 深度学习算法FAQ哪种算法在深度学习中最好?深度学习中最流行的算法是: 1) 多层感知器 (MLP) 2) 径向基函数网络 (RBFN) 3)卷积神经网络(CNN) 4) 循环神经网络 (RNN) 5) 长短期记忆网络 (LSTM) 6) 受限玻尔兹曼机 (RBM) 7) 自组织图 (SOM) 8) 生成对抗网络 (GAN) 9) 自动编码器 10) 深度信念网络 哪个是深度学习算法的例子?深度学习算法的示例包括其架构受人脑神经元功能启发的算法。其中一些是多层感知器、径向基函数网络、卷积神经网络等。 CNN是深度学习算法吗?是的,卷积神经网络 (CNN) 是一种深度学习算法,广泛用于图像分类、目标检测、目标识别等计算机视觉应用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:48:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |