卷积神经网络

你需要知道3件事

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

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

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

是什么让cnn如此有用?

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

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

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

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

了解更多

cnn的工作原理

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

特征学习,层次和分类

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

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

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

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

具有许多卷积层的网络示例。对每一张不同分辨率的训练图像进行滤波器处理,每一张卷积图像的输出作为下一层的输入。万博 尤文图斯

共享权重和偏见

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

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

分类层

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

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

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

用MATLAB设计和训练cnn

使用MATLAB®深度学习工具箱™让你设计、训练和部署cnn。

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

设计和培训网络

使用深度网络设计器,您可以导入预先训练好的模型或从头构建新模型。

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

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

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

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

gpu硬件加速

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

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

了解更多


使用cnn的应用

对象检测

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

使用深度学习的目标检测

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

关键字检测

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

使用深度学习的关键字检测

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

语义分割

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

基于深度学习的语义分割

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

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


如何了解更多cnn

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

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

视频

例子和如何

软件参考