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

卷积神经网络提供了一种更可扩展的方法来进行对象识别和图像分类任务。

在技术领域正在发生许多进步。人工智能和machine learning是一些您可能经常听到的常见词汇。

目前,这些技术几乎在每个领域中都得到了应用,从营销、电子商务和software development到银行、金融和医药。

人工智能和机器学习是广阔的领域,正在努力扩大其应用以解决许多现实世界的问题。这就是为什么在这些技术中可以看到许多分支的原因,机器学习本身就是人工智能的一个子集。

卷积神经网络是人工智能的一个分支,在当今世界变得流行起来。

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

让我们开始吧!

什么是卷积神经网络?

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

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

简单来说,CNN使用深度学习算法接收输入数据,如图像,并将重要性以偏差和可学习权重的形式分配给图像的不同方面。通过这种方式,CNN可以区分图像或对其进行分类。

卷积神经网络的简要历史

由于卷积神经网络是一种人工神经网络,因此重申神经网络非常重要。

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

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

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

然而,这个早期版本缺乏可扩展性,因此CNN没有在链接_6和计算机视觉中得到广泛应用。此外,它需要大量的计算资源和数据才能更高效地处理更大的图像。

此外,在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中,卷积概念应用于输入数据,通过过滤信息来输出特征图。

这使我们涉及到CNN中使用的一些重要概念和术语。

  • 滤波器:也称为特征检测器或内核,滤波器可以具有特定的尺寸,例如3×3。它在输入图像上进行遍历,对每个元素执行矩阵乘法以应用卷积。将滤波器应用于每个训练图像的不同分辨率以及卷积图像的输出将作为下一层的输入。
  • 填充:它用于通过插入虚拟像素将输入矩阵扩展到矩阵的边界,以对抗卷积减小矩阵大小的事实。例如,一个9×9的矩阵在过滤后可以变成一个3×3的矩阵。
  • 步幅:如果您想获得比输入更小的输出,可以执行步幅。它允许在滤波器滑过图像时跳过某些区域。通过跳过两个或三个像素,可以通过减少空间分辨率来产生更高效的网络。
  • 权重和偏置:CNN的神经元中有权重和偏置。模型可以在训练过程中学习这些值,并且这些值在给定层的所有神经元中保持不变。这意味着每个隐藏神经元在图像的不同区域中检测相同的特征。因此,网络在将对象转化为给定图像时变得更容忍。
  • ReLU:它代表修正线性单元(ReLu),用于更有效和更快速的训练。它将负值映射为0并保持正值。它也被称为激活,因为网络只将激活的图像特征传递到下一层。
  • 感受野:在神经网络中,每个神经元从前一层的不同位置接收输入。在卷积层中,每个神经元仅从先前层的受限区域接收输入,称为神经元的感受野。在全连接层的情况下,整个前一层是感受野。

在实际的计算任务中,通常在需要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可以用于在数字环境中重建真实对象。CNN模型还可以使用图像创建一个3D人脸模型。此外,在生物技术、制造业、生物技术和建筑领域,CNN在构建物体方面也非常有用。

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

  • 医疗保健:计算机视觉可用于放射学,帮助医生更高效地检测人体中的癌症肿瘤。
  • 农业:网络可以利用来自LSAT等人工卫星的图像,并利用这些数据对土地进行分类。这也有助于预测土地的肥沃程度,并制定有效的策略以最大化产量。
  • 营销:社交媒体应用可以建议出现在某人档案中发布的图片中的人。这有助于在照片集中标记人物。
  • 零售:电子商务平台可以使用视觉搜索来帮助品牌推荐目标客户想要购买的相关商品。
  • 汽车:CNN在汽车中的应用可以提高乘客和驾驶员的安全性。它通过车道线检测、物体检测、图像分类等特征实现。这也有助于自动驾驶汽车的进一步发展。

学习CNN的资源

Coursera:

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

Amazon:

您可以阅读以下书籍和讲座来了解更多关于CNN的知识:

  • 神经网络和深度学习:涵盖了深度学习和神经网络的模型、算法和理论。
预览 产品 评级 价格


Neural Networks and Deep Learning: A Textbook $48.00
  • 计算机视觉卷积神经网络指南:本书将教授卷积神经网络的应用和概念。
预览 产品 评级 价格


Guide to Convolutional Neural Networks for Computer Vision (Synthesis Lectures on Computer Vision) $32.88
  • 使用TensorFlow进行卷积神经网络实践:您可以使用Python和TensorFlow解决计算机视觉中的各种问题。
预览 产品 评分 价格


Hands-On Convolutional Neural Networks with TensorFlow: Solve computer vision problems with modeling… $15.89
  • 高级应用深度学习:本书将帮助您了解CNN、深度学习及其高级应用,包括目标检测。
预览 产品 评分 价格


Advanced Applied Deep Learning: Convolutional Neural Networks and Object Detection $23.74
  • 卷积神经网络与递归神经网络:本书将教您关于CNN和RNN以及如何构建这些网络。
预览 产品 评分 价格


Convolutional Neural Networks and Recurrent Neural Networks: Convolutional Neural Networks and… $1.99

结论

卷积神经网络是人工智能、machine learning和深度学习领域中的新兴领域之一。它在几乎每个行业的现实世界中都有各种应用。鉴于其不断增长的使用率,预计它将进一步扩大并在解决现实世界问题中变得更加有用。

类似文章