卷积神经网络

什么是卷积神经网络?

你需要知道的3件事

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

CNNS特别适用于在图像中查找模式以识别对象,面部和场景。它们也可以非常有效地对音频,时间序列和信号数据等非图像数据进行分类。

应用程序需要对象识别计算机视觉- 如无人驾驶车辆以及人脸识别应用——很大程度上依赖cnn。

cnn为何如此有用?

由于三个重要因素,使用CNN为深度学习而流行:

  • CNN消除了人工提取特征的需要——特征直接由CNN学习。
  • CNN产生高度准确的识别结果。
  • 可以侦听CNN,以获取新的识别任务,使您能够在预先存在的网络上构建。

cnn为揭示和学习图像和时间序列数据中的关键特征提供了一个优化的体系结构。cnn是一项关键的应用技术,如:

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

了解更多

cnn是如何工作的

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

特征学习,图层和分类

与其他神经网络类似,CNN由输入层,输出层和之间的许多隐藏层组成。

这些图层执行更改数据的操作,其中包含特定于数据的学习功能。最常见的三层是:卷积,激活或释放和汇集。

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

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

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

共享权重和偏见

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

这意味着所有隐藏的神经元在图像的不同区域中检测到相同的特征,例如边缘或斑点。这使得网络容忍图像中对象的翻译。例如,训练识别汽车的网络将能够在汽车中的任何地方这样做。

分类层

在许多层中学习功能之后,CNN的体系结构转移到分类。

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

CNN架构的最终层使用诸如SoftMax的分类层来提供分类输出。

使用MATLAB设计和培训cnn

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

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

设计和培训网络

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

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

你也可以在应用程序中直接训练网络,并通过精确、损失和验证指标的图来监控训练。

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

对预先训练好的网络进行微调转移学习通常比从头划伤训练更快更容易。它需要最少的数据和计算资源。转移学习使用一种类型的知识来解决类似问题。您从备用网络开始,并使用它来学习新任务。转移学习的一个优点是佩带的网络已经学习了丰富的功能。这些功能可以应用于各种其他类似的任务。例如,您可以在数百万图像上培训网络,并使用数百个图像培训为新的对象分类。

gpu硬件加速

卷积神经网络培训数百,数千甚至数百万图像。在使用大量数据和复杂的网络架构时,GPU可以显着速度加快处理时间来训练模型。

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

了解更多


应用程序使用CNNS.

对象检测

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

基于深度学习的目标检测

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

关键字检测

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

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

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

语义分割

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

基于深度学习的语义分割

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

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


如何更多地了解cnn

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

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

视频

例子和如何做

软件参考