卷积神经网络

什么是卷积神经网络?

你需要知道三件事

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

cnn在寻找图像中的模式以识别物体、面孔和场景时特别有用。它们对非图像数据(如音频、时间序列和信号数据)的分类也非常有效。

应用程序需要对象识别而且计算机视觉——如无人驾驶车辆以及面部识别应用——严重依赖cnn。

cnn为什么这么有用?

使用cnn进行深度学习很受欢迎,原因有三个:

  • CNN消除了人工特征提取的需要——这些特征是由CNN直接学习的。
  • cnn能产生高度精确的识别结果。
  • cnn可以为新的识别任务重新训练,使您能够在已有的网络上进行构建。
深度学习工作流程。图像被传递给CNN, CNN自动学习特征并对对象进行分类。

深度学习工作流程。图像被传递给CNN, CNN自动学习特征并对对象进行分类。

cnn为揭示和学习图像和时间序列数据中的关键特征提供了一种最佳架构。cnn在以下应用中是一项关键技术:

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

了解更多

cnn是如何工作的

卷积神经网络可以有几十或几百个层,每个层学习检测图像的不同特征。对不同分辨率的训练图像进行滤波处理,将卷积图像的输出作为下一层的输入。过滤器可以从非常简单的特征开始,如亮度和边缘,然后增加复杂性,以唯一定义对象的特征。

特征学习,分层和分类

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

一种深度学习模型,它遵循输入数据、多层和输出之间的联系。

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

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

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

一个具有许多卷积层的网络的例子。对不同分辨率的训练图像进行滤波处理,将卷积图像的输出作为下一层的输入。

一个具有许多卷积层的网络的例子。对不同分辨率的训练图像进行滤波处理,将卷积图像的输出作为下一层的输入。

共同的权重和偏见

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

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

分类层

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

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

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

用MATLAB设计和训练cnn

使用MATLAB®深度学习工具箱™使您可以设计、培训和部署cnn。

MATLAB提供了大量来自深度学习社区的预训练模型,可用于学习和识别新数据集的特征。世界杯预选赛小组名单这种方法被称为迁移学习,是一种不用从头开始就能应用深度学习的方便方法。像GoogLeNet、AlexNet和Inception这样的模型提供了探索深度学习的起点,利用了专家构建的经过验证的架构。

设计和培训网络

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

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

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

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

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

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

硬件加速与gpu

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

NVIDIA GPU,可以加速深度学习等计算密集型任务。

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

了解更多


应用程序使用有线电视新闻网

对象检测

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

使用深度学习的目标检测

使用深度学习的目标检测

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

关键字检测

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

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

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

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

语义分割

在语义分割中使用了cnn,用对应的类标签来识别图像中的每个像素。语义分割可用于自动驾驶、工业检验、地形分类和医疗成像等应用。卷积神经网络是构建语义分割网络的基础。

基于深度学习的语义分割

基于深度学习的语义分割

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

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


如何进一步了解cnn

2022世界杯八强谁会赢?支持使用cnn进行图像分析的产品包括MATLAB计算机视觉工具箱™统计和机器学习工具箱™,深度学习工具箱

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

视频

例子和如何

软件参考

Baidu
map