深度学习是一种机器学习技术,它教会计算机做人类与生俱来的事情:以身作则。深度学习是无人驾驶汽车背后的一项关键技术,它使无人驾驶汽车能够识别停车标志,或区分行人和路灯柱。它是手机、平板电脑、电视和免提扬声器等消费设备语音控制的关键。深度学习最近受到了广泛关注,这是有充分理由的。它正在取得以前不可能取得的成果。
在深度学习中,计算机模型学习直接从图像、文本或声音中执行分类任务。深度学习模型可以达到最先进的精确度,有时甚至超过人类水平的性能。通过使用大量的标记数据和包含许多层的神经网络体系结构来训练模型。
深度学习是如何取得如此令人印象深刻的结果的?
一句话,准确。深度学习的识别精度比以往任何时候都要高。这有助于消费电子产品满足用户的期望,对于像无人驾驶汽车这样的安全关键应用来说,这是至关重要的。深度学习的最新进展已经进步到在一些任务上,如在图像中分类物体,深度学习的表现超过了人类。
虽然深度学习在20世纪80年代首次提出理论,但它直到最近才变得有用,主要有两个原因:
- 深度学习需要大量的带安全标签的数据时.例如,无人驾驶汽车的开发需要数百万张图片和数千小时的视频。
- 深度学习需要大量的计算能力.高性能gpu有一个并行架构,可以高效地进行深度学习。当与集群或云计算相结合时,这使开发团队能够将深度学习网络的训练时间从几周缩短到几小时或更短。
深度学习在工作中的例子
从自动驾驶到医疗设备,深度学习应用广泛。
自动驾驶:汽车研究人员正在使用深度学习来自动检测停车标志和红绿灯等物体。此外,深度学习被用于检测行人,这有助于减少事故。
航空航天和国防:深度学习用于从定位感兴趣区域的卫星上识别物体,并确定部队的安全或不安全区域。
医学研究:癌症研究人员正在使用深度学习来自动检测癌细胞。加州大学洛杉矶分校的研究团队建造了一种先进的显微镜,可以产生高维数据集,用于训练深度学习应用程序,以准确识别癌细胞。
工业自动化:深度学习通过自动检测人或物体是否在机器的不安全距离内,帮助提高重型机械周围工人的安全。
电子学:深度学习被用于自动听力和语音翻译。例如,能够对你的声音做出反应并知道你的喜好的家庭辅助设备是由深度学习应用程序支持的。
深度学习的工作原理
cnn学习使用数十或数百个隐藏层来检测图像的不同特征。每一个隐藏层都增加了学习到的图像特征的复杂性。例如,第一个隐藏层可以学习如何检测边缘,最后一个隐藏层学习如何检测更复杂的形状,专门迎合我们试图识别的对象的形状。
机器学习和深度学习的区别是什么?
深度学习是机器学习的一种特殊形式。机器学习工作流从手动从图像中提取相关特征开始。然后,这些特征被用来创建一个模型,对图像中的对象进行分类。通过深度学习工作流,可以自动从图像中提取相关特征。此外,深度学习还可以进行“端到端学习”——给网络一个原始数据和一个要执行的任务,比如分类,然后它学习如何自动完成这项工作。
另一个关键区别是,深度学习算法是根据数据进行扩展的,而浅学习是收敛的。浅学习是指当你向网络中添加更多的例子和训练数据时,机器学习方法会在一定的性能水平上停滞不前。
深度学习网络的一个关键优势是,它们通常会随着数据规模的增加而不断改进。
在机器学习中,您手动选择特征和分类器来对图像进行排序。通过深度学习,特征提取和建模步骤是自动的。
在机器学习和深度学习之间的选择
机器学习提供了多种技术和模型,您可以根据应用程序、正在处理的数据的大小和想要解决的问题的类型进行选择。一个成功的深度学习应用程序需要非常大量的数据(数千张图像)来训练模型,以及图形处理器或图形处理单元,以快速处理您的数据。
在选择机器学习还是深度学习时,要考虑你是否拥有高性能的GPU和大量的标记数据。如果你没有这两样东西,使用机器学习而不是深度学习可能更有意义。深度学习通常更复杂,所以你至少需要几千张图像才能得到可靠的结果。拥有高性能的GPU意味着该模型分析所有这些图像的时间会更短。
如何创建和训练深度学习模型
人们使用深度学习执行对象分类最常见的三种方式是:
从头开始培训
要从零开始训练一个深度网络,您需要收集一个非常大的标记数据集,并设计一个将学习功能和模型的网络架构。这对于新的应用程序,或者具有大量输出类别的应用程序是很好的。这是一种不太常见的方法,因为由于大量的数据和学习速度,这些网络通常需要几天或几周的时间来训练。
特征提取
一种稍微不太常见,但更专业的深度学习方法是使用网络作为一个特征提取器.由于所有层的任务是从图像中学习特定的特征,我们可以在训练过程中的任何时候从网络中提取这些特征。这些特征可以被用作输入机器学习模型如支持向量机(SVM).
使用gpu加速深度学习模型
训练一个深度学习模型可能需要很长时间,从几天到几周不等。使用GPU加速可以显著加快这个过程。将MATLAB与GPU一起使用可以减少训练网络所需的时间,并且可以将图像分类问题的训练时间从几天减少到几个小时。在训练深度学习模型时,MATLAB使用gpu(在可用的情况下),而不需要您理解如何显式地对gpu编程。
深度学习的应用
预先训练的深度神经网络模型可以通过执行迁移学习或特征提取来快速地将深度学习应用到您的问题中。对于MATLAB用户,一些可用的模型包括AlexNet、VGG-16和VGG-19,以及使用importCaffeNetwork导入的Caffe模型(例如,来自Caffe Model Zoo)。
MATLAB使深度学习变得简单。通过管理大型数据集的工具和功能,MATLAB还提供了专门的工具箱,用于机器学习、神经网络、计算机视觉和自动驾驶。
只需几行代码,MATLAB就可以让你在不成为专家的情况下进行深度学习。快速开始,创建和可视化模型,并将模型部署到服务器和嵌入式设备。
团队可以成功地使用MATLAB进行深度学习,因为它可以让您:
- 仅用几行代码创建和可视化模型。
- 在没有专家的情况下进行深度学习。
- 自动标记图像和视频的地面真相。
- 在单一工作流中集成深度学习。
MATLAB允许您用最少的代码构建深度学习模型。使用MATLAB,您可以快速导入预先训练的模型,并在调整训练参数时可视化和调试中间结果。
您可以使用MATLAB学习和获得深度学习领域的专业知识。我们中的大多数人从来没有上过深度学习的课程。我们必须在工作中学习。MATLAB使这一领域的学习变得实用和容易。此外,MATLAB使领域专家能够进行深度学习,而不是把任务交给可能不了解您的行业或应用程序的数据科学家。
MATLAB使用户能够在图像中交互式地标记对象,并且可以实现自动化地面实况标签用于训练和测试深度学习模型的视频。这种交互式和自动化的方法可以在更短的时间内获得更好的结果。
MATLAB可以在一个工作流中统一多个领域。有了MATLAB,你可以在一个环境中思考和编程。它为深度学习提供工具和功能,也为输入深度学习算法的一系列领域提供工具和功能,如信号处理、计算机视觉和数据分析。
通过MATLAB,您可以将结果集成到现有的应用程序中。MATLAB可以在企业系统、集群、云和嵌入式设备上自动部署您的深度学习模型。
查看更多深度学习特性和示例代码.
相关产品:2022世界杯八强谁会赢?MATLAB,计算机视觉工具箱™,统计和机器学习工具箱™,深度学习工具箱™,自动驾驶工具箱™.