深度学习是机器学习的一个分支,它使用神经网络训练计算机像人类一样自然而然地做事情:从示例中学习。在深度学习中,模型学习直接从图像、文本或声音等数据执行分类或回归任务。深度学习模型可以达到最高的准确度,其表现往往超过人类。
深度学习的工作原理
深度学习模型基于神经网络架构。受人脑的启发,一个神经网络由分层结构中相互连接的节点或神经元组成,这些节点或神经元将输入与所需输出相关联。神经网络的输入层和输出层之间的神经元称为隐藏层。“深度”一词通常是指神经网络中的隐藏层数。深度学习模型可以有数百甚至数千个隐藏层。
深度学习模型是用大型标注数据集训练的,它们通常可以直接从数据中学习特征,而无需手动提取特征。虽然关于人工神经网络的理念早在 1958 年就被首次提出,但是,深度学习需要强大的计算能力,而这种算力需求直到二十一世纪才得到满足。如今,研究人员可以利用各种计算资源,使得建立和训练具有数百个连接和神经元的网络成为可能。
高性能 GPU 具有并行架构,可用于高效地实现深度学习。当这些 GPU 与集群或云计算结合使用时,开发团队能够大幅减少深度学习网络的训练时间,从数周缩短至几小时甚至更少。
可视化卷积神经网络的示例。
如何创建深度学习模型
您可以从头开始创建深度学习模型,也可以从预训练深度学习模型入手。换言之,您可以将该模型直接应用于任务,也可以根据任务对该模型进行调整。
从头开始训练:要从头开始训练深度学习模型,您需要收集大型标注数据集,并设计能够学习特征和模型的网络架构。这是适用于新应用或特定应用的好方法。从更广泛的角度讲,它适用于没有现成模型可用的应用领域。这种方法的主要缺点是,它需要标注了真值的大型数据集,而且训练时间可能是几小时到数周不等,具体视任务和计算资源而定。
迁移学习:在图像分类、计算机视觉、音频处理和自然语言处理等深度学习应用领域,迁移学习是一种常用的方法。这种方法涉及微调预训练深度学习模型。您可以从用于图像分类的 SqueezeNet 或 GoogLeNet 等现有模型入手,然后输入包含前所未见的类的新数据。对网络进行一些调整后,您现在便可执行一项新任务,例如只对狗或猫而非 1,000 个不同对象进行分类。此方法还有另一个优势,那就是需要的数据更少,因此训练时间大大减少。
预训练深度学习模型也可以用作特征提取器。您可以将层激活值用作特征来训练另一个机器学习模型,例如支持向量机 (SVM)。您也可以在预训练模型的基础之上构建另一个深度学习模型。例如,您可以使用图像分类 CNN 作为目标检测器的特征提取器。
针对您的人工智能应用,选择的是深度学习算法还是机器学习算法,取决于您的系统目标和要求。
为什么选择的是深度学习而不是机器学习?简而言之,准确度使然。与机器学习相比,深度学习通常可以实现更高的准确度,并提供更自动化的扩展工作流。深度学习模型的主要缺点在于,它们更为复杂,需要更大的训练数据集,因此需要更长的训练时间。但是,通过某些方法,可以克服这些缺点或至少削弱它们所带来的影响。
比较用于车辆分类的机器学习(左)与深度学习(右)方法。
训练数据和时间
深度学习的准确度与数据大小成正比。换而言之,随着训练数据大小的增加,深度学习的性能会不断提高。通常,深度学习需要海量数据(例如,用于图像分类的数千张图像)来训练模型。使用高性能 GPU 可以显著减少训练时间。作为替代方案,通过迁移学习修改和重新训练预训练网络,比从头开始训练网络往往要快得多,并且所需的标注数据也更少。
如果训练数据不足,您可以使用合成数据补充现有数据。合成数据可通过使用生成对抗网络 (GAN) 或创建和仿真物理系统模型来生成。
模型大小和复杂度
与机器学习模型相比,深度学习模型要复杂得多,规模也更大,因为它们是由数百个相互连接的层构建而成的。随着深度学习技术的不断进步,深度学习网络架构的复杂度也日益增加。深度学习模型的复杂度和规模对于实现高准确度至关重要。
鉴于其复杂性,深度学习模型通常被视为缺乏可解释性的“黑盒”。可解释 AI 是一个新兴领域,该领域提供旨在用人类术语解释深度学习模型行为的方法。例如,您可以使用 Grad-CAM 和 LIME 来解释深度学习模型在执行图像分类任务过程中所做的预测。
深度学习模型不再局限于在桌面电脑上运行。如何将日益庞大和复杂的深度学习模型部署到资源受限的设备上,是许多深度学习实践者面临的一项越来越严峻的挑战。压缩深度学习模型的方法有很多,这些方法可用于减小深度学习模型占用的磁盘大小、运行时内存和推断时间,同时保持高准确度。
对一个全连接层进行投影。投影是一种网络压缩方法。
为什么深度学习如此重要
作为无人驾驶汽车背后的一项关键技术,深度学习使汽车能够识别停车标志,或区分行人与灯柱。它是手机、平板电脑、电视机和免提扬声器等消费类设备实现语音控制的关键所在。深度学习近来受到广泛关注,这是有充分理由的。凭借深度学习,计算机和系统能够以越来越高的准确度和自动化程度执行复杂的任务。
深度学习应用
深度学习广泛应用于计算机视觉、图像处理、自动驾驶、信号处理和许多其他领域。每个深度学习应用领域都可能包含若干子应用领域。例如,图像分类、目标检测和语义分割均为计算机视觉的子应用。随着新深度学习方法和技术的开发,深度学习应用将继续得到扩展,而深度学习可以提高准确度的新子应用也将浮出水面。
深度学习实用示例
视觉检查是基于图像的部件检查过程,其中,相机扫描被测部件是否存在故障和质量缺陷。通过深度学习和计算机视觉方法,可以实现视觉检查自动化,用于在生物技术、汽车和半导体等许多行业中自动检测制造缺陷。
脑电图 (EEG) 信号是最容易获得的大脑信号,无疑也是被研究最多的信号。您可以使用深度学习自动诊断癫痫,并基于 EEG 信号预测癫痫发作。
虚拟传感器可用于任何需要实时监视和控制的系统,以及使用物理传感器可能不切实际或成本过高的系统。您可以将深度学习与基于模型的设计相结合来设计虚拟传感器。
深度学习在癌症研究中的应用
了解莫菲特癌症中心如何使用深度学习加速科学发现和提供个性化治疗计划。
使用 MATLAB 进行深度学习
通过将 MATLAB 与 Deep Learning Toolbox™ 结合使用,您可以设计、分析和仿真深度学习网络。使用其他工具箱(例如 Computer Vision Toolbox™、Signal Processing Toolbox™ 和 Text Analytics Toolbox™),您可以将深度学习工作流扩展到诸多应用,例如计算机视觉、信号处理和自然语言处理。
可视化从数据准备到部署的深度学习工作流。
从头开始构建的网络
- 您只需编写几行代码,即可创建深度学习网络,如 CNN、LSTM、GAN 和变换器。
- 使用多个 GPU、云或集群加速训练。在训练深度学习模型时,MATLAB 可以直接使用 GPU(如果可用),而不要求您对 GPU 进行显式编程。
以编程方式创建 LSTM 网络。
预训练网络
- 将预训练模型直接应用于您的任务,通过执行迁移学习对其进行调整,或将其用作特征提取器。
- 浏览 MATLAB 深度学习模型中心,按类别访问最新模型,并在命令行加载预训练模型。
- 通过使用导入函数,将 TensorFlow™、PyTorch® 和 ONNX™ 模型转换为 MATLAB 网络。将经过训练和未经训练的网络从 Deep Learning Toolbox 导出到 TensorFlow 和 ONNX。
- 使用内置函数轻松执行迁移学习,用于替换层和调整学习率以执行重新训练。
获取预训练模型,以根据您的深度学习任务对其进行调整。
面向工程师的深度学习
可解释的稳健深度学习
使用 MATLAB,您可以可视化和验证深度学习模型及其预测。
- 监控深度学习模型的训练进度并绘制性能度量。
- 通过应用可解释性方法,如 Grad-CAM、遮挡敏感度、LIME 和 Deep Dream,可视化深度学习模型的输出。这有助于您了解深度学习模型如何进行预测。
- 训练稳健的深度学习模型并验证模型的稳健性。您可以验证网络稳健性,计算网络输出边界,查找对抗样本,检测分布外数据,并验证是否符合行业标准。
系统级仿真
使用 Deep Learning Toolbox 模块将经过训练的网络与 Simulink® 系统相集成。这样,您便能够测试深度学习模型与系统其他部分的集成。
部署到目标
资源
通过文档、示例、视频等拓展您的知识。
30天免费试用
快速入门选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)