深度学习

什么是深度学习?

你需要知道的三件事

深度学习是一种机器学习技术,教授计算机自然地对人类进行:逐渐学习。深度学习是无人驾驶汽车背后的关键技术,使他们能够识别停车牌,或者将行人与灯柱区分开来。它是手机,平板电视和免提扬声器等消费设备中语音控制的关键。深深的学习最近和充分理由得到了很多关注。它正在实现以前不可能的结果。

在深度学习中,计算机模型学习直接从图像、文本或声音执行分类任务。深度学习模式可以达到最先进的准确性,有时会超越人的水平表现。模型通过使用一大组标记数据和包含许多层的神经网络结构进行训练。

为什么深度学习很重要

深度学习如何获得这种令人印象深刻的结果?

总之,准确性。深度学习比以往更高的水平达到识别准确性。这有助于消费电子设备满足用户期望,并且对于安全的汽车等安全关键应用至关重要。深度学习的最新进步已经改进了深入学习在一些任务中表现出人类的点,如在图像中的分类对象。

尽管深度学习理论于上世纪80年代首次提出,但它直到最近才变得有用有两个主要原因:

  1. 深度学习需要大量的标记数据.例如,无人驾驶汽车开发需要数百万图像和数千小时的视频。
  2. 深度学习需要很大计算能力.高性能gpu有一个对深度学习非常有效的并行架构。当与集群或云计算相结合时,这使得开发团队能够将深度学习网络的培训时间从几周减少到几小时或更少。

在工作中深入学习的例子

深度学习应用程序用于自动驾驶到医疗设备的行业。

自动驾驶:汽车研究人员正在利用深度学习自动检测停车标志和交通灯等物体。此外,深度学习用于检测行人,这有助于减少事故。

航空航天和国防:深度学习用于从卫星上识别目标,确定感兴趣的区域,并确定部队的安全或不安全区域。

医学研究:癌症研究人员正在使用深度学习,自动检测癌细胞。UCLA的团队建立了一个先进的显微镜,产生高维数据集,用于训练深度学习申请以准确识别癌细胞。

工业自动化:深度学习通过自动检测人或物体是否在机器的不安全距离内,帮助提高重型机器周围的工人安全。

电子产品:深度学习被用于自动听力和语音翻译。例如,响应语音并了解您的偏好的家庭辅助设备由深度学习应用程序提供支持。

深度学习的作品如何

最深入的学习方法使用神经网络架构,这就是为什么深入学习模型通常被称为深层神经网络

术语“深”通常指神经网络中隐藏层的数量。传统的神经网络只包含2-3个隐藏图层,而深网络可能有多达150。

通过使用大型标记的数据和神经网络架构进行深度学习模型,无需手动功能提取即可直接从数据中学习功能。

图1:神经网络,其在由一组互连节点组成的层中组织。网络可以具有数十或数百个隐藏图层。

最受欢迎的深度神经网络之一是已知的卷积神经网络(美国有线电视新闻网事先).CNN将学习功能与输入数据旋转,并使用2D卷积层,使得该体系结构非常适合处理2D数据,例如图像。

CNN消除了对手动的需求特征提取,因此您无需识别用于对图像进行分类的功能。CNN通过直接从图像中提取功能来工作。相关特征不净化;他们在网络列车上学习了一系列图像。这种自动化特征提取使得深度学习模型高度准确地用于计算机视觉任务,例如对象分类。

图2:具有许多卷积层的网络示例。过滤器以不同的分辨率应用于每个训练图像,并且每个卷绕图像的输出用作下一层的输入。金宝搏官方网站

CNNS学会使用数十积或数百个隐藏层检测图像的不同特征。每个隐藏层都会增加学习图像特征的复杂性。例如,第一个隐藏层可以学习如何检测边缘,并且最后一个学习如何检测更多复杂的形状,具体迎合我们尝试识别的对象的形状。

机器学习和深度学习有什么区别?

深度学习是一种专业的机器学习形式。机器学习工作流程以手动从图像中提取的相关特征开始。然后,该功能用于创建对图像中对象进行分类的模型。通过深度学习工作流程,从图像中自动提取相关功能。此外,深度学习执行“端到端学习” - 在提供RAW RAW数据和执行诸如分类的任务之外的任务,并且了解如何自动执行此操作。

另一个关键差异是深入学习算法与数据量表,而浅学习会聚。浅学习是指机器学习方法当您在网络中添加更多示例和培训数据时,高原在某种程度的性能下。

深度学习网络的一个关键优势是,它们通常会随着数据规模的增加而不断改进。

图3。比较机器学习方法分类车辆(左)和深度学习(右)。

在机器学习中,您手动选择功能和分类器以对图像进行排序。深入学习,功能提取和建模步骤是自动的。

选择机器学习与深度学习

机器学习提供了各种各样的技术和模型,您可以根据您的应用程序、您正在处理的数据大小以及您想要解决的问题类型来选择。一个成功的深度学习应用程序需要大量的数据(数以千计的图像)来训练模型,以及GPU或图形处理单元,以快速处理您的数据。

在机器学习和深度学习之间选择时,考虑你是否拥有高性能的GPU和大量的标记数据。如果你没有这两样东西,使用机器学习而不是深度学习可能更有意义。深度学习通常更复杂,所以你需要至少几千张图片才能得到可靠的结果。拥有一个高性能的GPU意味着该模型将花费更少的时间来分析所有这些图像。

如何创建和培训深入学习模式

人们使用深度学习进行对象分类的三种最常见的方式是:

从头开始培训

为了从头开始训练深度网络,您需要收集一个非常大的标记数据集,并设计一个网络体系结构,以了解其特性和模型。这适用于新应用程序,或具有大量输出类别的应用程序。这是一种不太常见的方法,因为数据量大,学习速度快,这些网络通常需要几天或几周的时间来训练。

转移学习

大多数深度学习应用程序都使用转移学习方法,包括微调预训练模型的过程。您可以从现有的网络(如AlexNet或GoogLeNet)开始,并输入包含以前未知类的新数据。在对网络进行了一些调整之后,您现在可以执行一项新任务,例如只对狗或猫进行分类,而不是对1000个不同的对象进行分类。这还具有需要更少数据的优势(处理数千张图像,而不是数百万张),因此计算时间减少到几分钟或几小时。

迁移学习需要一个与原有网络内部连接的接口,因此可以对其进行修改和增强,以适应新的任务。马铃薯®有工具和功能,旨在帮助您进行转移学习。

特征提取

略有常见,更专业的深度学习方法是将网络作为一个特征提取器.由于所有这些层都是从图像中学习某些功能的任务,因此我们可以在培训过程中随时将这些功能拉出网络。然后可以将这些功能用作输入机器学习模型比如金宝app支持向量机(SVM)

gpu加速深度学习模型

培训深入学习模式可能需要很长时间,从几天到几周。使用GPU加速可以显着加速过程。使用MATLAB与GPU缩短了培训网络所需的时间,并可以从几天到几小时将培训时间切割图像分类问题。在培训深度学习模型中,MATLAB使用GPU(当可用时),无需您了解如何显式编程GPU。

图4.深度学习工具箱命令,用于从头划伤或使用预磨料模型进行培训您自己的CNN进行转移学习。

深度学习应用

通过执行迁移学习或特征提取,预先训练的深度神经网络模型可以用于快速将深度学习应用于您的问题。对于MATLAB用户,一些可用的模型包括AlexNet、VGG-16和VGG-19,以及使用importcaffennetwork导入的Caffe模型(例如,来自Caffe Model Zoo)。

使用AlexNet与网络摄像头识别对象

使用MATLAB,简单的网络摄像头和深度神经网络来识别周围环境中的对象。

示例:使用深度学习的对象检测

除了对象识别,它识别图像或视频中的特定对象,也可以使用深度学习对象检测对象检测像Yolo这样的算法可以识别和定位场景中的对象,并且可以在图像中定位多个对象。

基于MATLAB的深度学习

MATLAB使深度学习变得容易。MATLAB还提供了用于管理大型数据集的工具和功能,用于机器学习、神经网络、计算机视觉和自动驾驶的专门工具箱。

只需几行代码,Matlab让您在不成为专家的情况下做深入学习。开始快速,创建和可视化模型,并将模型部署到服务器和嵌入式设备。

团队使用Matlab获得深度学习,因为它让您:

  1. 只需几行代码即可创建和可视化模型。
  2. MATLAB允许您用最少的代码构建深度学习模型。使用MATLAB,您可以快速导入预训练模型,并在调整训练参数时可视化和调试中间结果。

  3. 在没有专家的情况下进行深度学习。
  4. 您可以使用MATLAB学习并获得深入学习领域的专业知识。我们大多数人从未上过深度学习课程。我们必须在工作中学习。MATLAB使对该领域的学习变得实用和容易。此外,MATLAB使领域专家能够进行深入学习,而不是将任务交给可能不了解您的行业或应用程序的数据科学家。

  5. 自动地面真相标签的图像和视频。
  6. MATLAB使用户能够交互式地在图像中标记对象,并可以自动地在视频中标记基础真理,用于训练和测试深度学习模型。这种交互式和自动化的方法可以在更短的时间内获得更好的结果。

  7. 在一个工作流程中整合深入学习。
  8. MATLAB可以在一个工作流中统一多个领域。使用MATLAB,您可以在一个环境中进行思考和编程。它为深度学习提供了工具和功能,也为深度学习算法提供了一系列领域,如信号处理、计算机视觉和数据分析。

使用MATLAB,您可以将结果集成到现有的应用程序中。Matlab自动部署在企业系统,集群,云和嵌入式设备上部署您的深度学习模型。

查看更多深度学习功能和获取示例代码

相关产品:下载188bet金宝搏马铃薯,计算机Vision Toolbox™,统计和机器学习工具箱™,深度学习工具箱™, 和自动驾驶工具箱™

了解更多关于深度学习的信息

在这个MATLAB技术讲座中探索深度学习的基础。您将了解为什么深度学习变得如此受欢迎,并将通过3个概念:什么是深度学习,它如何在现实世界中使用,以及如何开始。
了解如何使用MATLAB、一个简单的网络摄像头和一个深度神经网络来识别环境中的对象。这个演示使用AlexNet,一个经过训练的深度卷积神经网络,已经在超过一百万张图像上进行了训练。
本系列视频为工程师介绍了深度学习的主题,例如访问数据、训练网络、使用迁移学习以及将模型集成到更大的设计中。
了解如何使用深度学习工具箱块库以及MATLAB函数块在Simulink中模拟训练过的深度学习模型。金宝app
学习三种训练深度学习神经网络的方法:从头开始训练、转移学习和语义分割。

相关的话题