什么是深入学习?

你需要知道的3件事

深度学习是一种机器学习技术,它教会计算机做人类天生就会做的事情:通过实例学习。深度学习是无人驾驶汽车背后的一项关键技术,可以让它们识别停车标志,或区分行人和灯柱。它是手机、平板电脑、电视和免提扬声器等消费设备语音控制的关键。最近,深度学习得到了很多关注,这是有原因的。它取得了以前不可能取得的成果。

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

为什么深入学习问题

深度学习是如何取得如此令人印象深刻的结果的?

简而言之,就是准确。深度学习实现了比以往更高水平的识别精度。这有助于消费类电子产品满足用户的期望,对于无人驾驶汽车等安全关键应用来说也至关重要。最近,深度学习取得了进步,在一些任务上,比如对图像中的物体进行分类,深度学习的表现已经超过了人类。

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

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

在工作中深入学习的例子

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

自动驾驶:汽车研究人员正在使用深度学习,自动检测停止标志和红绿灯等对象。此外,深入学习用于检测行人,有助于减少事故。

航空航天和防御:深入学习用于识别从卫星找到感兴趣区域的卫星的对象,并识别部队的安全或不安全的区域。

医学研究:癌症研究人员正在使用深度学习来自动检测癌细胞。加州大学洛杉矶分校的团队建造了一个先进的显微镜,可以产生高维数据集,用于训练深度学习应用程序准确识别癌细胞。

工业自动化:深入学习通过自动检测人员或物品在机器的不安全距离内,帮助改善重型机械周围的工人安全。

电子学:深度学习被用于自动听力和语音翻译。例如,能够响应你的声音并知道你的偏好的家庭辅助设备是由深度学习应用程序驱动的。

面板的导航

你对深度学习了解多少?

深度学习是如何工作的

大多数深度学习方法使用神经网络架构,这就是为什么深度学习模型经常被称为深层神经网络

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

深度学习模型是通过使用大量的标记数据和神经网络结构来训练的,这些神经网络结构直接从数据中学习特征,而不需要人工提取特征。

图1:神经网络,由一组相互连接的节点组成的层组织。网络可能有数十或数百个隐藏层。

最流行的一种深度神经网络被称为卷积神经网络(CNN.事先).CNN将学习到的特征与输入数据进行卷积,并使用2D卷积层,使这种架构非常适合处理2D数据,如图像。

cnn不再需要手动特征提取,这样就不需要识别用于分类图像的特征。CNN的工作原理是直接从图像中提取特征。相关特征没有预先训练;它们是在网络对图像集合进行训练时学习的。这种自动特征提取使得深度学习模型在物体分类等计算机视觉任务中具有很高的准确性。

图2:具有许多卷积层的网络示例。对每幅不同分辨率的训练图像进行滤波,每幅卷积图像的输出作为下一层的输入。金宝搏官方网站

cnn学习使用数十或数百个隐藏层来检测图像的不同特征。每一个隐藏层都会增加学习到的图像特征的复杂性。例如,第一个隐藏层可以学习如何检测边缘,而最后一个隐藏层可以学习如何检测更复杂的形状,特别是针对我们试图识别的物体的形状。

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

深度学习是机器学习的一种特殊形式。机器学习工作流程是从图像中手动提取相关特征开始的。这些特征随后被用来创建一个模型,对图像中的物体进行分类。通过深度学习工作流,自动从图像中提取相关特征。此外,深度学习执行“端到端学习”——给网络原始数据和要执行的任务,比如分类,然后它学习如何自动完成这些任务。

另一个关键的区别是,深度学习算法可以根据数据缩放,而浅层学习是收敛的。浅层学习是指当你向网络中添加更多的例子和训练数据时,机器学习方法的性能达到一定水平。

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

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

在机器学习中,你手动选择特征和分类器来对图像进行排序。通过深度学习,特征提取和建模步骤是自动的。

在机器学习和深度学习之间做出选择

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

在机器学习和深度学习之间选择时,请考虑是否具有高性能GPU和许多标记数据。如果您没有任何这些事情,则使用机器学习而不是深度学习可能会更有意义。深度学习通常更复杂,因此您需要至少几千张图像来获得可靠的结果。具有高性能GPU意味着模型将花费更少的时间来分析所有这些图像。

如何创建和训练深度学习模型

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

从头开始培训

要从划痕培训深度网络,您可以收集一个非常大的标记数据集并设计一个学习功能和模型的网络架构。这对新的应用程序或将具有大量输出类别的应用程序有益。这是一种不太常见的方法,因为大量数据和学习速度,这些网络通常需要几天或数周才能训练。

转移学习

最深入的学习应用程序使用转移学习方法,一个涉及微调掠夺模型的过程。您从现有网络开始,例如AlexNet或Googlenet,并以包含先前未知的类的新数据源。在向网络进行一些调整后,您现在可以执行新任务,例如仅对狗或猫分类而不是1000个不同的对象。这也具有需要更少的数据(处理数千个图像而不是百万的图像的优点,因此计算时间下降到几分钟或时间。

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

特征提取

另一种不太常见但更专业的深度学习方法是将网络作为一个特征提取器.由于所有层的任务都是从图像中学习某些特征,所以在训练过程中,我们可以随时将这些特征从网络中提取出来。然后,这些特性可以用作机器学习模型金宝app支持向量机

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金宝搏MATLAB计算机视觉工具箱™统计和机器学习工具箱™深度学习工具箱™,自动化驾驶工具箱™

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

在这个MATLAB技术讲座中探索深度学习的基础。您将了解为什么深度学习变得如此受欢迎,并将通过3个概念:什么是深度学习,它如何在现实世界中使用,以及如何开始。
请参阅如何使用MATLAB,简单的网络摄像头和深度神经网络来识别周围环境中的对象。该演示使用AlexNet,这是一个普拉的深度卷积神经网络,这些神经网络已经过超过一百万图像。
学习使用深度学习网络进行语义分割的高级工作流。此外,了解如何Image Labeler应用程序可以加快您的工作流程的地面真相标签在像素级。
用MATLAB完成四种常见的深度学习任务。
了解如何使用深度学习工具箱块库以及MATLAB函数块在Simulink中模拟训练过的深度学习模型。金宝app
学习三种培训深入学习神经网络的方法:从划伤,转移学习和语义细分训练。

相关的话题