卷积神经网络

什么是卷积神经网络?

你需要知道的三件事

卷积神经网络(CNN或ConvNet)是一种用于深度学习它直接从数据中学习,无需手动提取特征。

CNN对于在图像中查找模式以识别对象、人脸和场景特别有用。它们还可以非常有效地对非图像数据(如音频、时间序列和信号数据)进行分类。

需要目标识别计算机视觉-比如自动驾驶车辆和人脸识别应用程序-严重依赖CNN。

是什么让CNN如此有用?

由于三个重要因素,使用CNN进行深度学习很受欢迎:

  • CNN消除了手动特征提取的需要,特征由CNN直接学习。
  • CNN产生高度准确的识别结果。
  • CNN可以针对新的识别任务进行重新培训,使您能够在现有网络上进行构建。

CNN为发现和学习图像和时间序列数据中的关键特征提供了最佳体系结构。CNN是以下应用中的关键技术:

  • 医学影像:CNN可以检查数千份病理报告,以直观地检测图像中是否存在癌细胞。
  • 音频处理:关键字检测可用于任何带有麦克风的设备,以检测何时说出某个单词或短语(“嘿,Siri!”)。CNN可以准确地学习和检测关键字,同时忽略所有其他短语,而不管环境如何。
  • 停车标志检测:自动驾驶依靠CNN准确检测标志或其他物体的存在,并根据输出做出决策。
  • 合成数据生成:使用生成性对抗网络(GAN),可以生成新图像用于深度学习应用,包括人脸识别和自动驾驶。

了解更多

CNN如何工作

卷积神经网络可以有几十层或数百层,每层都可以学习检测图像的不同特征。滤波器以不同的分辨率应用于每个训练图像,每个卷积图像的输出用作下一层的输入。过滤器可以从非常简单的特征开始,例如亮度和边缘,并增加唯一定义对象的特征的复杂性。万博 尤文图斯

特征学习、图层和分类

与其他神经网络一样,CNN由输入层、输出层和中间的许多隐藏层组成。

这些层执行更改数据的操作,目的是学习特定于数据的特性。最常见的三个层是:卷积、激活或ReLU和池。

  • 卷积将输入图像通过一组卷积滤波器,每个卷积滤波器激活图像中的某些特征。
  • 校正线性单元(ReLU)通过将负值映射为零并保持正值,允许更快、更有效的培训。这有时称为激活,因为只有激活的特征才会被带入下一层。
  • 汇集通过执行非线性下采样简化输出,减少网络需要学习的参数数量。

这些操作在数十层或数百层上重复,每层学习识别不同的特征。

具有多个卷积层的网络示例。滤波器以不同的分辨率应用于每个训练图像,每个卷积图像的输出用作下一层的输入。万博 尤文图斯

共享权重和偏差

像传统的神经网络,CNN的神经元具有权重和偏差。模型在训练过程中学习这些值,并使用每个新的训练示例不断更新这些值。然而,在CNN的情况下,给定层中所有隐藏神经元的权重和偏差值是相同的。

这意味着所有隐藏的神经元都在图像的不同区域检测相同的特征,如边缘或斑点。这使得网络能够容忍图像中对象的平移。例如,经过培训的识别汽车的网络将能够在图像中的任何位置识别汽车。

分类层

在学习了许多层的特征之后,CNN的体系结构转向了分类。

下一层是一个完全连接的层,它输出一个K维向量,其中K是网络能够预测的类数。该向量包含任何被分类图像的每一类的概率。

CNN体系结构的最后一层使用分类层(如softmax)来提供分类输出。

用MATLAB设计和训练cnn

使用MATLAB®具有深度学习工具箱™使您能够设计、培训和部署CNN。

MATLAB提供了深度学习社区的大量预训练模型,可用于从新数据集中学习和识别特征。这种方法称为转移学习,是一种应用深度学习的便捷方法,无需从头开始。GoogLeNet、AlexNet和Inception等模型提供了探索深度学习的起点学习,利用专家构建的经验证的体系结构。

设计和培训网络

使用Deep Network Designer,您可以导入预先训练的模型或从头构建新模型。

Deep Network Designer应用程序,用于交互式构建、可视化和编辑深度学习网络。

您还可以直接在应用程序中培训网络,并使用准确性、损失和验证指标图监控培训。

使用预训练模型进行迁移学习

使用迁移学习通常比从头开始训练要快得多,也容易得多。它需要最少的数据量和计算资源。迁移学习使用一类问题的知识来解决类似的问题。你从一个预先训练好的网络开始,用它来学习一项新任务。迁移学习的一个优点是,经过预训练的网络已经学习到了一组丰富的特征。这些功能可以应用于其他类似的任务。例如,您可以对一个网络进行数百万张图像的训练,然后仅使用数百张图像对其进行重新训练,以进行新的对象分类。

基于gpu的硬件加速

卷积神经网络可以训练成百上千甚至上百万的图像。当处理大量数据和复杂的网络架构时,GPU可以显著加快训练模型的处理时间。

英伟达®GPU,加速计算密集型任务,如深度学习。

了解更多


使用CNN的应用程序

目标检测

目标检测是对图像和视频中的目标进行定位和分类的过程。计算机视觉工具箱™提供培训框架,使用YOLO和更快的R-CNN创建基于深度学习的对象检测器。

基于深度学习的目标检测

这个例子展示了如何使用深度学习和R-CNN(带卷积神经网络的区域)来训练目标检测器。

关键词检测

语音到文本的一个示例应用是关键字检测,它可以识别某些关键字或短语,并将它们用作指令。常见的例子是唤醒设备和打开灯。

基于深度学习的关键词检测

本例展示了如何使用MATLAB识别和检测音频中是否存在语音命令,并可用于语音辅助技术

语义分割

CNN用于语义分割,用相应的类别标签识别图像中的每个像素。语义分割可用于自动驾驶、工业检测、地形分类和医疗成像等应用。卷积神经网络是建立语义分割网络的基础。

基于深度学习的语义分割

本例展示了如何使用MATLAB构建语义分割网络,该网络将使用相应的标签识别图像中的每个像素。

MATLAB为所有深入学习的东西提供了工具和功能。使用CNN增强信号处理、计算机视觉、通信和雷达方面的工作流程。


如何了解更多有关CNN的信息

s manbetx 845支万博1manbetx持使用CNN进行图像分析的产品包括MATLAB,计算机视觉工具箱™,统计和机器学习工具箱™深度学习工具箱.

卷积神经网络需要深度学习工具箱. CUDA支持训练和预测万博1manbetx®具有3.0或更高计算能力的GPU。强烈建议使用GPU,并要求并行计算工具箱™.

视频

示例和如何

软件参考