卷积神经网络 (CNN) 初学者指南:分步说明
已发表: 2022-06-06深度学习促进了计算机视觉、认知计算和视觉数据精细处理的多种方法。 一个这样的例子是使用 CNN 或卷积神经网络进行对象或图像分类。 CNN 算法通过使机器能够像人类一样感知周围的世界(以像素的形式),在基于视觉的分类中提供了巨大的优势。
CNN 从根本上说是一种识别算法,它允许机器接受足够的训练,以通过层处理、分类或识别来自视觉数据的大量参数。 通过使机器或软件能够从输入数据中准确识别所需的对象,这促进了高级对象识别和图像分类。
基于 CNN 的系统从基于图像的训练数据中学习,并可以根据其训练模型对未来的输入图像或视觉数据进行分类。 只要用于训练的数据集包含一系列有用的视觉线索(空间数据),图像或对象分类器就会非常准确。
CNN 是当今最流行的深度学习方法之一,用于流行的实现,例如 Google Lens 的图像分类系统或特斯拉等自动驾驶汽车。 这尤其是由于除了物体检测之外,在 CNN 的帮助下可以进行可靠的模式识别。
从世界顶级大学在线学习机器学习——硕士、高级管理人员研究生课程和 ML 和 AI 高级证书课程,以加快您的职业生涯。
CNN的应用
在安全系统、防御系统、医学诊断、图像分析、媒体分类和其他识别软件中可以看到基于 CNN 的系统的使用。 例如,CNN 可以与 RNN(循环神经网络)一起使用来构建视频识别软件或动作识别器。
这是视频分类的一个更高级的应用,它可以允许系统通过分析顺序形成视频的帧中可用的空间信息,从视频中实时识别对象。
这些帧的序列还包含时间信息,有助于通过空间和时间处理对数据进行建模,从而允许使用由卷积层和循环层组成的混合架构。 特斯拉汽车和 Waymo 车辆使用 CNN 识别和分类道路的不同方面以及借助摄像头实时捕获的数据来进入物体或车辆。
探索我们的机器学习和人工智能课程
IITM 机器学习和云高级认证 | LJMU 机器学习与人工智能理学硕士 | 来自 IITB 的机器学习和人工智能高级研究生课程 |
IIITB 机器学习和自然语言处理高级证书课程 | IIITB 机器学习和深度学习高级证书课程 | 来自 IITR 的管理人员人工智能高级证书课程 |
神经网络为车辆系统提供线路检测、环境分割、导航和自动驾驶。 这些能力使自动驾驶汽车能够根据分类模式做出复杂的决策,例如避开物体、改变车道、加速、减速或在需要时通过制动完全停止。
然而,这些是更高级的 CNN 实现,需要 GPS、RADAR、LiDAR 等硬件和传感器以及大量训练数据和高性能处理环境。 这些有助于深度学习模型成为实时处理来自传感器的传入数据并采取相关行动的决策系统。
使用来自传感器的数据,相机视觉还可以获得环境的 3D 感知(视觉重建、深度分析等),并可以准确地分析距离(通过激光)。 因此,该模型可以预测车辆或物体的未来位置,最终决定最佳行动方案。
CNN 模型依赖于分类、分割、定位,然后建立预测。 这使得这些汽车几乎可以像人类大脑在任何特定情况下一样做出反应,有时甚至比人类驾驶员更有效。
CNN 真正弥合了机器和人类之间的差距,尤其是在计算机视觉和目标检测方面。 然而,要了解 CNN,我们必须首先了解神经网络,并从将 CNN 算法用于二维视觉数据开始。
什么是深度学习中的神经网络?
深度学习是机器学习最重要的分支之一,它使用人工神经网络或人工神经网络 (ANN) 作为监督、无监督或半监督机器学习方法来实施。 这些类型的机器学习模型依赖于多层处理来处理数据中的更高级别的特征。
层基本上是多个节点或块,它们作为计算单元堆叠在一起。 这些层有效地模拟了人类神经元,并以与人类大脑相同的方式发挥作用。 通过逐步构建层,模型可以变得比仅包含预处理数据的初始输入层更先进。
神经网络算法提取可以将计算馈送到未来层的输出,直到到达最终输出层。 这形成了一个网络,其中每个后续层的所有节点都连接到前一层的单个节点。 每当模型使用超过两层时,它就被归类为深度神经网络 (DNN)。 这些网络不形成循环并允许多层感知,因此也为预测和数据处理引入了各种维度。
阅读我们与机器学习和人工智能相关的热门文章
物联网:历史、现在和未来 | 机器学习教程:学习机器学习 | 什么是算法? 简单易行 |
印度机器人工程师的薪水:所有角色 | 机器学习工程师的一天:他们在做什么? | 什么是物联网(物联网) |
排列与组合:排列与组合之间的区别 | 人工智能和机器学习的 7 大趋势 | 使用 R 进行机器学习:您需要知道的一切 |
以下是一些用于深度学习的常用框架:
- TensorFlow
- 喀拉斯
- 阿帕奇 MXNet
什么是卷积神经网络?
卷积神经网络是一种人工神经网络,主要用于处理像素数据以处理图像或用于图像识别。 CNN 在深度学习中用于生成和描述性任务,这些任务使用机器视觉和基于推荐的系统。
CNN 是一种更高效的 ANN,类似于 DNN,但仍降低了前馈神经网络的复杂性。 这是因为CNN一般依赖两层,特征图层和特征提取层。 每个节点的输入从前一层的局部感受野中提取局部特征。
提取完成后,绘制或映射局部特征与其他特征之间的位置关系。 为了使最终分辨率更准确,卷积层之后是计算层,计算局部平均值和二次提取特征。 尽管 CNN 主要使用两层,但由于结合了多特征提取和不变性失真,预测非常准确。
由于具有共享权重,同一特征图平面中的节点可以同时学习。 这降低了网络的复杂性并允许输入多维输入图像。 与其他神经网络不同,CNN 不需要将图像转换为较低分辨率的图像,因为处理要求很低。
该模型类似于多层感知,只是 CNN 不易过度拟合数据,从而使其不那么复杂。 这是通过惩罚参数或修剪跳过的连接来规范多层感知器方法来完成的。
CNN 使用数据中的分层模式来根据其复杂程度组装模式。 与其他分类算法相比,卷积神经网络几乎不需要任何预处理,尤其是对于图像和视频。 使用 NLP,人们甚至可以将 CNN 用于机器人、医疗诊断和自动化领域的更高级应用。 CNN 与大多数无监督机器学习技术配合得很好,并通过自动学习方法独立地不断优化模型过滤器。
以下是一些可用的 CNN 架构
- 谷歌网络
- 亚历克斯网
- 乐网
- ZFNet
- 资源网
- VGGNet
这是一个CNN实现的例子
让我们假设我们必须从一组随机图像中对鸟、猫、狗、汽车和人类进行分类。 首先,我们必须首先找到一个可以用作未来计算基准的训练数据集。 一个好的训练数据集的例子是包含 50,000 张 64×64 像素的鸟、猫、狗、汽车和人类图片的数据集。
这些目标中的每一个都将成为具有相关整数值的类标签。 类别标签将是“鸟”、“猫”、“狗”、“汽车”和“人类”,其值分别为 0、1、2、3 和 4。使用此数据集和基准训练 CNN 模型后,它将能够从随机输入数据中识别视觉线索,然后根据它们的标签对它们进行分类。 最终模型可以从一组以这些对象为特征的随机图像中准确识别五种不同类型的对象(标签)。
以下是构建 CNN 模型的必要步骤
- 加载数据集。
- 准备像素数据。
- 定义模型。
- 评估模型。
- 呈现结果。
- 完成采样。
- 开发基线模型。
- 实施正则化技术以改进模型。
- 增强数据。
- 完成模型和进一步评估。
CNN 深度学习是一个很有前途的领域,有着极好的职业前景。 如果您打算在 CNN 建立职业生涯,您可以查看 upGrad 的机器学习和深度学习高级证书课程。
经典神经网络(其他 ANN)和 CNN 有什么区别?
人工神经网络 (ANN) 和 CNN 等经典神经网络之间的主要区别在于,只有 CNN 的最后一层是完全连接的,而在 ANN 中,每个神经元都连接到其他每个神经元。
什么是深度神经网络?
深度学习来自与机器学习相关的更广泛的概念家族,它进一步基于具有表示学习的人工神经网络。
NLP 可以与 CNN 一起使用吗?
与句子分类类似,CNN 可用于多种 NLP 任务,如情感分类、机器翻译、文本摘要、答案选择等。