【深度学习】什么是深度学习?

news2024/9/23 12:33:49

在这里插入图片描述

1. 前言

深度学习是机器学习的一个分支,它使用神经网络教计算机做人类自然而然会做的事情:从示例中学习。在深度学习中,模型会学习直接从图像、文本或声音等数据中执行分类或回归任务。深度学习模型可以达到最先进的准确率,通常超过人类的表现水平。

2. 深度学习如何工作?

深度学习模型基于神经网络架构。神经网络的灵感来自人类大脑,由分层结构中相互连接的节点或神经元组成,将输入与所需输出联系起来。神经网络输入层和输出层之间的神经元称为隐藏层。术语“深度”通常指神经网络中隐藏层的数量。深度学习模型可以有数百甚至数千个隐藏层。

在这里插入图片描述
神经网络架构

深度学习模型使用大量带标签的数据进行训练,通常可以直接从数据中学习特征,而无需手动提取特征。虽然第一个人工神经网络在 1958 年就已提出理论,但深度学习需要强大的计算能力,而这种能力直到 2000 年代才出现。现在,研究人员可以使用计算资源来构建和训练具有数百个连接和神经元的网络。

高性能 GPU 具有并行架构,非常适合深度学习。与集群或云计算相结合,开发团队可以将深度学习网络的训练时间从数周缩短到数小时甚至更短。

2.1 深度学习模型的类型

三种类型的深度学习模型,分别是卷积神经网络(CNN)递归神经网络(RNN)变换器模型(Transformers)

2.1.1 卷积神经网络(CNN)

CNN 将学习到的特征与输入数据进行卷积,并使用 2D 卷积层,因此这种架构非常适合处理 2D 数据(例如图像)。CNN 的工作原理是直接从图像中提取特征。在网络对一组图像进行训练时,会学习相关特征。这种自动特征提取使深度学习模型在图像分类任务中具有高度准确性。CNN 还可用于对其他类型的数据进行分类,例如时间序列和文本。

在这里插入图片描述
可视化卷积神经网络

2.1.2 递归神经网络(RNN)

递归神经网络 (RNN) 是一种用于深度学习的网络架构,可预测时间序列或顺序数据。RNN 特别适合处理长度不一的顺序数据,并解决自然信号分类、语言处理和视频分析等问题。长短期记忆(LSTM) 网络是一种特殊类型的 RNN,与简单的 RNN 相比,它更擅长学习长期依赖关系。

2.1.3 变换器模型(Transformers)

Transformers 旨在跟踪顺序数据中的关系。它们依靠自注意力机制来捕获输入和输出之间的全局依赖关系。它们通常用于自然语言处理,并且是 BERT 和ChatGPT™等大型语言模型 (LLM) 的基础。

2.2 如何创建深度学习模型

您可以从头开始创建深度学习模型,也可以从预先训练的深度学习模型开始,然后将其应用或调整到您的任务中。

2.1.1 从头开始训练

要从头开始训练深度学习模型,您需要收集大量带标签的数据集,并设计一个用于学习特征和模型的网络架构。对于新的或特定的应用程序,或者更一般地说,对于不存在现有模型的应用程序,这是一种很好的方法。这种方法的主要缺点是它需要大量数据集(标注了基本事实),并且训练时间可能需要数小时到数周,具体取决于您的任务和计算资源。

2.1.2 迁移学习

在图像分类、计算机视觉、音频处理和自然语言处理等深度学习应用中, 迁移学习 方法被广泛使用。它涉及对预训练的深度学习模型进行微调。您从现有模型(例如用于图像分类的 SqueezeNetGoogLeNet)开始,然后输入包含以前未见过的类别的新数据。对网络进行一些调整后,您现在可以执行新任务,例如仅对狗或猫进行分类,而不是对 1000 个不同的对象进行分类。这还具有需要更少数据的优势,因此训练时间显著缩短。

预训练的深度学习模型也可用作特征提取器。您可以使用层激活作为特征来训练另一个机器学习模型(例如 支持向量机 (SVM))。或者,您可以将预训练模型用作另一个深度学习模型的构建块。例如,您可以使用图像分类 CNN 作为对象检测器的特征提取器。

3. 深度学习与机器学习

深度学习是机器学习的一种特殊形式,两者都属于人工智能 (AI)领域。机器学习提供各种技术和模型,您可以根据应用程序、要处理的数据大小以及要解决的问题类型进行选择。

在这里插入图片描述比较人工智能应用的深度学习或机器学习算法的选择取决于系统的目标和要求

为什么选择深度学习而不是机器学习?一个词就是准确度。与机器学习相比,深度学习通常能实现更高的准确度,并能提供更多扩展工作流程的自动化。深度学习模型的主要缺点是它们更复杂,需要更大的训练数据集,因此训练时间更长。存在一些方法可以克服或至少减轻这些缺点的影响。

3.1 特征工程自动化

机器学习工作流程首先从数据中手动提取相关特征。然后使用这些特征创建可以预测新数据的模型。借助深度学习工作流程,在图像识别和计算机视觉等应用中,可以自动从图像数据中提取相关特征。在处理信号或文本数据时,深度学习可以减少所需的数据预处理。
在这里插入图片描述
比较机器学习方法对车辆进行分类(左)和深度学习方法(右)

3.2 训练数据和时间

深度学习的准确性随数据而变化。也就是说,随着训练数据量的增加,深度学习的性能会不断提高。通常,深度学习需要大量数据(例如,用于图像分类的数千张图像)来训练模型。使用高性能GPU可以大大缩短训练时间。作为替代方案,使用迁移学习修改和重新训练预训练网络通常比从头开始训练网络要快得多,并且需要的标记数据也更少。

如果没有足够的训练数据,您可以使用合成数据补充现有数据。您可以使用生成对抗网络 (GAN)或通过创建和模拟物理系统模型来生成合成数据。

3.3 模型大小和复杂性

与机器学习模型相比,深度学习模型更加复杂和庞大,因为它们由数百个互连层构建而成。随着深度学习技术的不断发展,深度学习网络架构的复杂性不断增加。它们的复杂性和规模决定了深度学习可以达到的准确性。

由于其复杂性,深度学习模型通常被视为缺乏可解释性的“黑匣子” 。一个新兴领域,即可解释人工智能,提供了旨在用人类术语解释深度学习模型行为的技术。例如,您可以使用Grad-CAM和LIME来解释深度学习模型对图像分类任务的预测。

深度学习模型不再仅仅存在于桌面上。将越来越大、越来越复杂的深度学习模型部署到资源受限的设备上是许多深度学习从业者面临的日益严峻的挑战。有许多用于压缩深度学习模型的技术,可用于减少深度学习模型在磁盘上的大小、运行时内存和推理时间,同时保持高精度。

在这里插入图片描述投影全连接层。投影是一种网络压缩的方法。

4. 深度学习为何如此重要

深度学习是无人驾驶汽车背后的一项关键技术,它使汽车能够识别停车标志,或区分行人和路灯。它是手机、平板电脑、电视和免提扬声器等消费设备中语音控制的关键。深度学习最近受到广泛关注,这是有原因的。借助深度学习,计算机和系统可以以更高的准确性和自动化程度执行复杂任务。

4.1 深度学习应用

深度学习可应用于计算机视觉、图像处理、自动驾驶、信号处理等许多领域。每个深度学习应用领域都可以包含多个子应用领域。例如,图像分类、对象检测和语义分割是计算机视觉的子应用。随着新的深度学习方法和技术的开发,深度学习应用将继续扩展,并且深度学习可以提高准确性的新子应用将被发现。

4.2 深度学习的应用示例

在这里插入图片描述
使用 YOLOX 网络检测印刷电路板上的缺陷

视觉检测是基于图像的部件检测,其中相机扫描被测部件以查找故障和质量缺陷。通过使用深度学习和计算机视觉技术,视觉检测可以实现自动化,以检测生物技术、汽车和半导体等许多行业的制造缺陷。

在这里插入图片描述
使用时频卷积网络对脑电图数据进行分类

脑电图 (EEG) 信号是最容易获取的,并且毫无疑问是研究最​​多的脑信号。您可以使用深度学习自动诊断癫痫并预测 EEG 信号中的癫痫发作。

在这里插入图片描述使用人工智能和基于模型的设计来设计虚拟传感器。
虚拟传感器可用于任何需要实时监控和控制的系统,以及使用物理传感器可能不切实际或成本高昂的系统。您可以将深度学习与基于模型的设计相结合来设计虚拟传感器。

5. 使用 MATLAB 进行深度学习

结合使用MATLABDeep Learning Toolbox™,您可以设计、分析和模拟深度学习网络。您可以使用其他工具箱(例如 Computer Vision Toolbox™Signal Processing Toolbox™Text Analytics Toolbox™)将深度学习工作流程扩展到许多应用程序(例如计算机视觉、信号处理和自然语言处理)。

在这里插入图片描述可视化从数据准备到部署的深度学习工作流程。

5.1 深度学习数据

深度学习需要大量优质数据。您可以使用数据存储来方便地管理内存中无法一次性容纳的庞大数据集合。您可以使用低代码应用和内置函数来提高数据质量并自动标记基本事实。

5.2 设计深度学习模型

在这里插入图片描述
以编程方式创建 LSTM 网络

5.2.1 从零开始的网络

  • 只需几行代码,您就可以创建深度学习网络,例如 CNN、LSTM、GAN 和 transformer。
  • 使用多个 GPU、云或集群加速训练。在训练深度学习模型时,MATLAB 使用 GPU(如果可用),而无需您明确编程 GPU。

5.2.2 预训练网络

在这里插入图片描述
获取预先训练的模型来适应您的深度学习任务

  • 将预训练模型直接应用于您的任务,通过执行迁移学习来调整它,或将其用作特色提取器。
  • 探索MATLAB 深度学习模型中心,按类别访问最新模型,并在命令行加载预训练模型。
  • 使用导入函数将 TensorFlow™PyTorch ®和 ONNX™ 模型转换为 MATLAB 网络。将训练和未训练的网络从 Deep Learning Toolbox 导出到 TensorFlow 和 ONNX
  • 使用内置函数轻松执行迁移学习,以替换层并调整学习率进行再训练。

5.2.3 低代码应用程序

在这里插入图片描述使用深度网络设计器以图形方式设计、分析和修改深度学习网络。

  • 使用Deep Network Designer应用程序,您可以以交互方式设计、分析和修改网络。您还可以从 Deep Learning Toolbox、TensorFlow 和 PyTorch 导入预训练网络。
  • 实验管理器应用程序可帮助您管理多个深度学习实验、跟踪训练参数、分析结果并比较不同实验的代码。

6. 总结

以上就是忧患深度学习的介绍,分别从深度学习如何工作?深度学习与机器学习的重要性差异深度学习为何如此重要,以及使用MATLAB进行深度学习的一些模型介绍等多角度对深度学习进行阐述,相信大家对深度学习有了一定的认识!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF自定义控件

控件模板 顾名思义就是在原有的控件上进行模版修改成自己需要的样式 把ProgressBar修改为一个水液面的进度条 <Window x:Class"XH.CustomLesson.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://s…

树莓派3B升级glibc-2.29

自从我树莓派的python升级到3.9&#xff0c;每次import numpy都会报错&#xff1a;libm.so.6: version GLIBC_2.29 not found。这又是怎么回事呢&#xff1f;查了资料才知道&#xff0c;原来是我的respbian系统版本低的原因&#xff08;如图&#xff09;。 &#xff08;可以用l…

Facebook广告投放优化思路分享,为何总是低量级

为什么谷歌优化总是不起效果&#xff1f;今天我来谈谈我的Facebook广告优化思路&#xff0c;希望对你有所帮助。感兴趣的可以点赞、收藏。关注我&#xff0c;每天分享海外推广知识。 以下是Facebook广告优化思路思维导图&#xff1a; 那么&#xff0c;今天主要来谈谈量级低的情…

哪个工具可以ai续写免费?多维度评测分享

在创意的征途中&#xff0c;你是否曾遇到过文思枯竭的困境&#xff1f;当灵感如同夜空中的流星&#xff0c;一闪而逝&#xff0c;如何捕捉并延续那份璀璨&#xff1f;答案或许就藏在ai续写软件的无限可能中。 不知道ai续写软件哪个好&#xff1f;别急&#xff0c;今天&#xff…

Win10 禁止更新-【延长更新时间】

文章目录 操作注册表 操作注册表 Win R regedit 打开注册表 粘贴&#xff1a; ** \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 代开目录 新建32位数据值 &#xff1a;FlightSettingsMaxPauseDays 999 然后到更新界面&#xff0c;就可以一直点

数字信号处理3:数字滤波器设计

文章目录 前言一、实验目的二、实验设备三、实验内容四、实验原理五、实验方法及要求1.用脉冲响应不变法设计巴特沃斯数字滤波器2. 用双线性变换法设计切比雪夫数字滤波器3. 用双线性变换法设计巴特沃斯数字滤波器,并将直接型结构转换成级联型结构4. 数字低通滤波器特性比较5…

GD - EmbeddedBuilder_v1.4.1.23782工程中的gdc名称必须和工程名称一致

文章目录 GD - EmbeddedBuilder_v1.4.1.23782工程中的gdc名称必须和工程名称一致概述笔记总结END GD - EmbeddedBuilder_v1.4.1.23782工程中的gdc名称必须和工程名称一致 概述 在看EmbeddedBuilder_v1.4.1.23782自带的demo工程。 看到 D:\EmbeddedBuilder_v1.4.1.23782\exam…

工业一体机立式报工台助力工厂改善生产报工效率

在现代化工业生产中&#xff0c;生产效率和管理水平是企业竞争力的关键。为了实现高效的生产管理&#xff0c;工厂需要一个可靠、稳定、便捷的报工系统。传统的报工方式存在诸多弊端&#xff0c;例如效率低、易出错、数据难以统计分析等。而工厂软件报工台立式工业一体机的出现…

家里浮毛怎么去掉最高效?这些宠物空气净化器总有一款适合你

我家是三个月大的时候被我领回家的。它简直就是个小天使&#xff0c;乖得不得了&#xff0c;既不乱尿也不掉毛。每次去朋友家&#xff0c;看到他们为猫咪掉毛头疼不已&#xff0c;我就忍不住在心里偷偷乐&#xff0c;觉得自己真是捡到了宝&#xff0c;怎么会有这么省心的猫咪呢…

上海知名泌尿外科专家常态化坐诊黄山新晨医院,让前列腺癌看得更早、更准!

继7月28日上海第四人民医院泌尿外科专家在黄山新晨医院开展义诊之后&#xff0c;8月9日和10日&#xff0c;该团队领头人周铁教授又完成了合作以来的首次坐诊&#xff0c;标志着双方合作从此进入常态化阶段。 周铁主任在查看患者的检查报告 周铁主任曾任中华医学会泌尿外科分会…

拍立淘API:商品ID与标题的快速获取

拍立淘&#xff08;Pailitao&#xff09;是阿里巴巴旗下的一个基于图像识别技术的购物应用功能&#xff0c;用户可以通过拍照或上传图片来快速找到相似的商品。然而&#xff0c;拍立淘本身并不直接提供一个公开的API接口供开发者使用来直接获取商品ID和标题等信息。 如果你想通…

C++现代教程五

#pragma once _Pragma("once")# C/C混合编程 #ifdef __cplusplus extern "C" { #endif // 一些c代码 #ifdef __cplusplus } #endif# 继承构造 struct A {A(int i) {}A(double d,int i){}A(float f,int i,const char* c){}//...等等系列的构造函数版本 }&am…

protobuf 生成 error

一、简介 响应错误时可以直接使用 errors 包中的 New 方法来声明一个 error&#xff0c;也可以直接通过 proto 预定义定义错误码&#xff0c;然后通过 proto-gen-go 生成帮助代码&#xff0c;直接返回 error。 二、使用教程 2.1 错误定义 syntax "proto3"; impor…

深入理解Java中的LocalDateTime与ChronoUnit:精确时间处理的最佳实践

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

人工智能战略:如何实施人工智能解决方案以实现企业成功

人工智能 (AI) 不再是一个未来概念&#xff0c;而是改变全球各行各业的切实现实。 企业正在利用人工智能来提高效率、提高生产力并获得竞争优势。然而&#xff0c;实施人工智能解决方案需要明确的战略。 本指南将引导您完成成功将人工智能融入业务运营的关键步骤&#xff0c;…

局部场电位LFP

声明&#xff1a;本文章是根据网上资料&#xff0c;加上自己整理和理解而成&#xff0c;仅为记录自己学习的点点滴滴。可能有错误&#xff0c;欢迎大家指正。 神经科学最伟大的发现之一是人脑的电活动可以用附在头皮上的电极进行无创测量。脑电图&#xff08;Electroencephalog…

四种实用办法恢复回收站清空的文件!

想要恢复回收站的文件不小心点成清空回收站&#xff0c;如果你也遇上同样的状况&#xff0c;想在回收站找回清空的文件&#xff0c;可以尝试以下这几个恢复办法。 方法一&#xff1a;借用云存储/存储设备找回丢失文件 如果丢失的文件在其他云存储软件上&#xff08;如百度网盘…

一款方便、高效的基于tree-sitter的代码风格转换器,支持Python、C/C++和Java共100多种风格转换

文章目录 工具介绍环境搭建使用教程工具框架流程图增删算法tree-sitter介绍项目目录结构说明风格列表 ​ 源代码网址&#xff1a;https://github.com/rebibabo/SCTS/tree/main 如果有引用本文或者工具&#xff0c;请注明引用来源 如果觉得对您有帮助&#xff0c;还请各位帅哥…

qt客户端与服务端关于传输文件

如果直接发 发送的数据永远要比接受的块 需要有时间间隔 此时定时器的作用就显现出来了 发送数据都先发头&#xff0c;要保证服务器发送的头&#xff0c;客户端能接受到 发送数据后不要直接读数据&#xff0c;加一个延迟 这里以##作为分隔符 发送多少读多少&#xff0c; 发送…

启程与远征Ⅲ--很棒的大语言模型代理

这是关于什么的&#xff1f; 这篇 Awesome-LLM-Agents 是对 Agentic AI 上的最新里程碑论文和开源项目的深度优先回顾。 这个 Awesome-LLM-Agents 项目是我在LLM-Agents-in-Production主题上建立专业知识的第一步&#xff0c;我打算将这个故事用作知识库&#xff0c;记录项目…