卷积神经网络 (CNN):简介

卷积神经网络为对象识别和图像分类任务提供了一种更具可扩展性的方式。

技术领域正在发生许多进步。 人工智能和机器学习是您可能经常听到的一些常见内容。

目前,这些技术几乎用于各个领域,从营销、电子商务和软件开发到银行、金融和医学。

AI 和 ML 是广阔的领域,正在努力扩大其应用范围以解决许多现实世界的问题。 这就是为什么您可以在这些技术中看到很多分支的原因; ML 是 AI 本身的一个子集。

卷积神经网络是当今流行的人工智能分支之一。

在本文中,我将讨论什么是 CNN,它们是如何工作的,以及它们在现代世界中的用途。

让我们潜入水中!

什么是卷积神经网络?

卷积神经网络(ConvNet 或 CNN)是一种人工神经网络 (ANN),它使用深度学习算法来分析图像、对视觉进行分类并执行计算机视觉任务。

CNN 利用线性代数的原理(例如矩阵乘法)来检测图像中的模式。 由于这些过程涉及复杂的计算,因此它们需要图形处理单元 (GPU) 来训练模型。

简而言之,CNN 使用深度学习算法来获取图像等输入数据,并以偏差和可学习权重的形式将重要性分配给该图像的不同方面。 这样,CNN 可以区分图像或对它们进行分类。

CNN:简史

由于卷积神经网络是人工神经网络,因此重申神经网络很重要。

在计算中,神经网络是使用深度学习算法的机器学习 (ML) 的一部分。 它类似于人脑中神经元遵循的连接模式。 人工神经网络也从视觉皮层的排列方式中获得灵感。

因此,不同类型的神经网络或人工神经网络 (ANN) 用于不同的目的。 其中之一是用于图像检测和分类的 CNN,等等。 它是由博士后研究员 Yann LeCun 在 1980 年代介绍的。

CNN 的早期版本——以 LeCun 命名的 LeNet,能够识别手写数字。 然后,它被用于银行和邮政服务,用于读取支票上的数字和信封上写的邮政编码。

然而,这个早期版本缺乏可扩展性。 因此,CNN 在人工智能和计算机视觉中的应用并不多。 此外,它需要大量的计算资源和数据才能更有效地处理更大的图像。

  9 个 AWS 实践测试,帮助您通过真正的考试

此外,在 2012 年,AlexNet 重新审视了利用由多层组成的神经网络的深度学习。 大约在这个时候,技术得到了改进,大数据集和大量计算资源可用于创建能够有效执行计算机视觉活动的复杂 CNN。

CNN 中的层

让我们了解 CNN 中的不同层。 增加 CNN 中的层数将增加其复杂性,并使其能够检测图像的更多方面或区域。 从一个简单的特征开始,它变得能够检测对象的形状和更大的元素等复杂特征,直到它最终能够检测到图像。

卷积层

CNN 的第一层是卷积层。 它是 CNN 的主要构建块,大部分计算都发生在这里。 它需要更少的组件,例如输入数据、特征图和过滤器。

CNN 还可以有额外的卷积层。 这使得 CNN 结构具有层次结构,因为后续层可以可视化先前层的感受野内的像素。 接下来,卷积层将给定的图像转换为数值,并允许网络理解和提取有价值的模式。

池化层

池化层用于减少维度,称为下采样。 它减少了输入中使用的参数。 池化操作可以像卷积层一样在整个输入上移动过滤器,但缺少权重。 在这里,过滤器将联合函数应用于感受野中的数值以填充结果数组。

池化有两种类型:

  • 平均池化:在过滤器扫描输入以传输到输出数组的感受野中计算平均值。
  • 最大池化:当过滤器扫描输入时,它选择最大值像素并将其发送到输出数组。 最大池比平均池使用得更多。

尽管池化过程中丢失了大量数据,但它仍然为 CNN 提供了许多好处。 它有助于降低过度拟合的风险和复杂性,同时提高效率。 它还增强了 CNN 的稳定性。

全连接 (FC) 层

顾名思义,输出层中的所有节点都直接连接到全连接层中的前一层节点。 它基于通过先前层及其过滤器提取的特征对图像进行分类。

此外,FC 层通常使用 softmax 激活函数来正确分类输入而不是 ReLu 函数(如池化层和卷积层的情况)。 这有助于产生 0 或 1 的概率。

CNN 是如何工作的?

卷积神经网络由许多层组成,甚至有数百层。 这些层学习识别给定图像的各种特征。

尽管 CNN 是神经网络,但它们的架构不同于常规的 ANN。

后者将输入通过许多隐藏层进行转换,其中每一层由一组人工神经元创建,并与同一层中的每个神经元完全连接。 最后,有一个全连接层或输出层来显示结果。

另一方面,CNN 在三个维度上组织层——宽度、深度和高度。 在这里,来自神经元的一层只连接到一个小区域中的神经元,而不是与下一层中的每个神经元相关。 最后,最终结果由具有概率分数的单个向量表示,并且只有深度维度。

现在,您可能会问 CNN 中的“卷积”是什么。

好吧,卷积是指合并两个数据集的数学运算。 在 CNN 中,卷积概念应用于输入数据,通过过滤信息输出特征图。

这使我们了解了 CNN 中使用的一些重要概念和术语。

  • 过滤器:也称为特征检测器或内核,过滤器可以具有一定的维度,例如 3×3。 它遍历输入图像以对每个元素执行矩阵乘法以应用卷积。 以不同的分辨率将过滤器应用于每个训练图像加上卷积图像的输出将作为后续层的输入。
  • 填充:它用于通过插入假像素将输入矩阵扩展到矩阵的边界。 这样做是为了抵消卷积减少矩阵大小的事实。 例如,一个 9×9 的矩阵经过滤波可以变成一个 3×3 的矩阵。
  • 跨步:如果您想获得小于输入的输出,可以执行跨步。 它允许在过滤器在图像上滑动时跳过某些区域。 通过跳过两个或三个像素,您可以通过降低空间分辨率来生成更高效的网络。
  • 权重和偏差:CNN 在其神经元中具有权重和偏差。 模型可以在训练时学习这些值,并且对于所有神经元,这些值在给定层中保持相同。 这意味着每个隐藏的神经元在图像的不同区域检测到相同的特征。 结果,网络在将对象转换为给定图像时变得更加宽容。
  • ReLU:它代表整流线性单元(ReLu),用于更有效和更快的训练。 它将负值映射到 0 并保持正值。 它也称为激活,因为网络仅将激活的图像特征携带到后续层。
  • 感受野:在神经网络中,每个神经元从前一层接收来自不同位置的输入。 在卷积层中,每个神经元仅接收来自前一层的受限区域的输入,称为神经元的感受野。 在 FC 层的情况下,整个前一层是感受野。
  为您的关键业务应用程序提供 7 个最佳专用服务器托管

在现实世界的计算任务中,通常在需要 3D 滤波器的 3D 图像中执行卷积。

回到 CNN,它包含不同的部分或节点层。 每个节点层都有一个阈值和权重,并相互连接。 一旦超过阈值限制,数据就会被发送到该网络的下一层。

这些层可以执行操作来更改数据以学习相关特征。 此外,这些操作重复数百个不同的层,这些层不断学习检测图像的其他特征。

CNN 的组成部分是:

  • 输入层:这是进行输入的地方,例如图像。 它将是一个具有定义的高度、宽度和深度的 3D 对象。
  • 一个/多个隐藏层或特征提取阶段:这些层可以是卷积层、池化层和全连接层。
  • 输出层:在这里,将显示结果。

将图像通过卷积层转换为特征图或激活图。 在对输入进行卷积之后,各层对图像进行卷积并将结果传递给后续层。

CNN 将在特征提取阶段执行许多卷积和池化技术来检测特征。 例如,如果你输入一只猫的图像,CNN 将识别它的四条腿、颜色、两只眼睛等。

接下来,CNN 中的全连接层将充当提取特征的分类器。 根据深度学习算法对图像的预测,这些层将产生结果。

CNN的优势

更高的准确度

CNN 比不使用卷积的常规神经网络提供更高的准确度。 CNN 很有帮助,特别是当任务涉及大量数据、视频和图像识别等时。它们产生高度精确的结果和预测; 因此,它们在不同部门的使用正在增加。

计算效率

CNN 提供了比其他常规神经网络更高的计算效率水平。 这是因为使用了卷积过程。 他们还使用降维和参数共享来使模型更快、更容易部署。 这些技术还可以优化以在不同的设备上工作,无论是您的智能手机还是笔记本电脑。

特征提取

CNN 可以轻松学习图像的特征,而无需手动工程。 您可以利用预训练的 CNN 并通过在处理新任务时向它们提供数据来管理权重,CNN 将无缝适应它。

CNN的应用

CNN 用于许多用例的不同行业。 CNN 的一些实际应用包括:

图像分类

CNN 广泛用于图像分类。 这些可以识别有价值的特征并识别给定图像中的对象。 因此,它被用于医疗保健等领域,尤其是 MRI。 此外,该技术还用于手写数字识别,这是 CNN 在计算机视觉中最早的用例之一。

物体检测

CNN 可以实时检测图像中的对象,并对它们进行标记和分类。 因此,该技术在自动驾驶汽车中得到广泛应用。 它还使智能家居和行人能够识别车主的面部。 它还用于人工智能驱动的监视系统来检测和标记物体。

视听匹配

CNN 在视听匹配方面的帮助,有助于改进 Netflix、YouTube 等视频流媒体平台,也有助于满足“Elton John 的情歌”等用户需求。

语音识别

除了图像,CNN 还有助于自然语言处理 (NLP) 和语音识别。 一个真实的例子可能是谷歌在其语音识别系统中使用 CNN。

对象重建

CNN 可用于对数字环境中的真实对象进行 3D 建模。 CNN 模型也可以使用图像创建 3D 人脸模型。 此外,CNN 可用于构建生物技术、制造、生物技术和建筑领域的数字双胞胎。

  什么是科迪? 您需要了解的有关电视流媒体应用程序的所有信息

CNN 在不同领域的使用包括:

  • 医疗保健:计算机视觉可用于放射学,以帮助医生更有效地检测人体内的癌性肿瘤。
  • 农业:网络可以利用来自 LSAT 等人造卫星的图像,并利用这些数据对肥沃的土地进行分类。 这也有助于预测土地肥力水平并制定有效策略以最大限度地提高产量。
  • 营销:社交媒体应用程序可以在某人的个人资料上张贴的图片中推荐某人。 这有助于您在相册中标记人物。
  • 零售:电子商务平台可以使用视觉搜索来帮助品牌推荐目标客户想要购买的相关商品。
  • 汽车:CNN 发现汽车用于提高乘客和驾驶员的安全性。 它借助车道线检测、物体检测、图像分类等功能来做到这一点。这也有助于自动驾驶汽车的世界进一步发展。

学习 CNN 的资源

课程:

Coursera 在 CNN 上有这门课程,您可以考虑参加。 本课程将教您计算机视觉多年来如何发展以及 CNN 在现代世界中的一些应用。

亚马逊:

您可以阅读这些书籍和讲座以了解有关 CNN 的更多信息:

  • 神经网络和深度学习:它涵盖模型、算法以及深度学习和神经网络的理论。
  • A Guide to Convolutional Neural Networks for Computer Vision:本书将教你 CNN 的应用及其概念。
  • Hands-on Convolutional Neural Networks with Tensorflow:借助本书,您可以使用 Python 和 TensorFlow 解决计算机视觉中的各种问题。
  • 高级应用深度学习:本书将帮助您了解 CNN、深度学习及其高级应用,包括对象检测。
  • Convolutional Neural Networks and Recurrent Neural Networks:这本书将教你关于 CNN 和 RNN 以及如何构建这些网络。

结论

卷积神经网络是人工智能、机器学习和深度学习的新兴领域之一。 它在当今世界几乎所有领域都有各种应用。 看看它越来越多的使用,预计它会扩展更多,并且在解决现实世界的问题方面更有用。