搜索
首页科技周边人工智能零基础也能搞懂卷积神经网络原理!超详细!

相信和作者一样爱技术对AI兴趣浓厚的小伙伴们,一定对卷积神经网络并不陌生, 也一定曾经对如此“高级”的名字困惑良久。作者今天将从零开始走进卷积神经网络的世界~与大家分享!

在深入了解卷积神经网络之前,我们先看看图像的原理。

零基础也能搞懂卷积神经网络原理!超详细!

图像原理

图像在计算机中是通过数字(0-255)来表示的,每个数字代表图像中一个像素的亮度或颜色信息。其中:

  • 黑白图像:每个像素只有一个值,这个值在0(黑色)到255(白色)之间变化。

零基础也能搞懂卷积神经网络原理!超详细!

  • 彩色图像:每个像素包含三个值,最常见的是RGB(Red-Green-Blue)模型,即红色、绿色和蓝色光以不同强度组合起来产生各种颜色。每个颜色通道都有256级亮度,从0~255,因此每种颜色可以用一个8位的二进制数来表述,例如(255,0,0)表示红色,(0,255,0)表示绿色,(0,0,255)表示蓝色,其他组合则对应各种颜色。计算机中,彩色图像的数据结构通常是一个三维数组或张量,形状为(宽度,高度,深度),其中深度就是通道的数量,对于RGB图像来说,深度是3。这意味着,对于每个像素位置,有三个数值分别代表红绿蓝三个通道的亮度。例如,一个100*100像素的RGB图像将占用100x100x3个字节的内存。

零基础也能搞懂卷积神经网络原理!超详细!

「这里“8位的二进制数”怎么理解呢?」

在RGB颜色模型中,每个颜色通道(红、绿、蓝)可以有256个不同的亮度级别,每个通道表示8位二进制表示,8位二进制数的最大值是11111111,转化成十进制就是255;最小值是00000000,转化成十进制就是0。

何为卷积神经网络CNN?

CNN报道了一种在CV中家喻户晓的一种应用场景。以原始图片尺寸为10x10为例,如下图所示,其左半部分是像素值较大,是明亮区域;右半部分是像素值较小,为深度区域。中间的分界线即是要检测的边缘。

「那么怎么检测边缘呢?」 此时滤波器filter(也叫kernel)出场了,如下图所示,kernel尺寸为3x3。

滤波器filter滑过输入图片,在每个区域处稍做停留,对应元素相乘再相加计算,之后再向其它区域滑动继续计算,直到滑动至原图片的最后一个区域为止。这个过程即为「卷积。」

零基础也能搞懂卷积神经网络原理!超详细!

由上图可以看出,输出结果的中间颜色浅,两边颜色深,说明原图的边界已反应出来。「因此可以总结出,边缘检测就是通过输入图片与相应滤波器进行卷积运算得以识别。」

另外,这里的滑动还涉及到一个基本概念,「步长stride」,上述示例中,是以stride为1说明,每次滑动一格,共停留了8x8个区域,所以最终输出结果是8x8矩阵。

「那么,究竟什么是卷积神经网络呢?」

经过上面边缘检测这一具体的目标检测场景的分析,我们也就不难理解,CNN(Convolutional neural network)就是通过各种各样的滤波器filter不断提取图片特征,从局部到整体,进而识别目标。

而在神经网络中,这些filter中的每个数字,就是参数,可通过大量数据训练得到(即深度学习的过程)。

CNN中的基本概念

1.卷积(Convolution)

(1) 卷积计算

卷积是数学分析中的一种积分变换的方法,而在图像处理中则采用的是卷积的离散形式。在卷积神经网络CNN中,卷积层的实现方式本质即为数学中定义的互相关计算(cross-correlation)。具体计算过程如下图所示。

零基础也能搞懂卷积神经网络原理!超详细!

其中:

图(a):左边的图大小是3×3,表示输入数据是一个维度为3×3的二维数组;中间的图大小是2×2,表示一个维度为 2×2的二维数组,也即为「卷积核」。卷积核的左上角与输入数据的左上角(0,0)对齐,并依次将二者对应位置数据相乘,再相加,即可获得卷积输出的第一个结果25。

依次类推,图(b)、(c)、(d)分别为卷积输出的第二、三、四个输出结果。

(2) 图片卷积运算

那么图片卷积运算,具体是怎么回事呢?如下图所示即为彩色图像卷积过程。

零基础也能搞懂卷积神经网络原理!超详细!

对于彩色图像的通道1(Red)、通道2(Green)、通道3(Blue),分别使用Kernel1、Kernel2、Kernel3。每个卷积核在对应的单色图像上滑动,对每个位置上的小块区域(Kernel大小)内的像素值与卷积核的相应元素进行逐点乘法运算,然后将这些乘积相加得到一个值。再将每个通道得到的数值相加,并加上总体的偏置Bias,即可得到对应特征图(feature map)中的一个值。

立体效果如下图所示:

零基础也能搞懂卷积神经网络原理!超详细!

2.Padding

如上所述边缘检测的例子中,可以看到,原图片尺寸是10x10,经过filter之后是8x8。如果再做一次卷积运算就是6x6...这样的话会有两个缺点:

  • 每次做卷积操作,输出图片尺寸缩小
  • 角落或边缘区域的像素点在输出中采用较少,因此容易丢掉图像边缘位置的许多信息。

如下图中左上角红色阴影只被一个输出触碰到,而中间的像素点(紫色方框标记)会有许多3x3的区域与之重叠。所以,角落或边缘区域的像素点在输出中采用较少,容易丢掉图像边缘位置的许多信息。

零基础也能搞懂卷积神经网络原理!超详细!

为了解决这一问题,我们通常采用Padding的方法,在卷积操作之前,先给原图片边缘填充一层像素, 例如,将10x10的图像即可填充为12x12的大小,卷积之后的图片尺寸为8x8,和原始图片一样大,这样便使得原图的边缘区域像素点也可以多次被采用。

选择填充多少像素,通常有两种选择:

  • Same卷积:即如上所述,填充再卷积之后的图片大小与原图片一致。
  • Valid卷积:不进行填充操作,直接卷积。

3.stride

stride的概念在引言中有提到过,表示过滤器filter在原图片中水平方向和竖直方向每次滑动的长度,也叫步进长度。

假设s表示stride长度,p表示padding长度,原图片尺寸是nxn,过滤器filter尺寸是fxf,则卷积后的图片尺寸为:

零基础也能搞懂卷积神经网络原理!超详细!

4.池化

池化的本质就是降维。

卷积网络中池化层的作用:降低特征图的参数量、提升计算速度、增加感受野,也即为一种降采样操作。

物体检测中常用的池化:最大值池化(Max Pooling)与平均值池化(Average Pooling)。

(1) Max pooling

即在滤波器filter滑动区域内取最大值,而无需卷积运算。数字大意味着可能探测到了某些特定的特征,忽略了其它值,降低了噪声影响,提高了模型健壮性。「并且,Max pooling需要的超参数仅为滤波器尺寸f和stride长度s,无需要训练其它参数,计算量较小。」

零基础也能搞懂卷积神经网络原理!超详细!

(2) Average pooling

即在滤波器filter滑动区域内求平均值。

零基础也能搞懂卷积神经网络原理!超详细!

5.Shape

在处理多维数据,尤其是图像数据时,Tensorflow和Pytorch数据Shape有所区分。

  • TensorFlow:(batch_size, height, width, in_channels)
  • Pytorch:(batch_size, in_channels, height, width)

其中:

  • batch_size:批量处理的样本数量。
  • in_channels:输入图像的通道数,对于彩色图像通常是3(红、绿、蓝)。
  • height和width分别是图像的高度和宽度。

零基础也能搞懂卷积神经网络原理!超详细!

如上图所示:

  • 输入图片Shape:[height, width, channels],即[8,8,3],表示一个8x8的图像,有3个通道(R、G、B)。
  • 卷积核Shape:[kernel_height, kernel_width, in_channels, out_channels],即[3,3,3,5],表示一个3x3的卷积核,有3个通道(R、G、B),输出通道数是5。
  • 输出图片Shape:[height, width, out_channels],即[6,6,5],表示一个6x6的输出图片,有5个通道(R、G、B)。
out_height = (height - kernel_height + 1) / strideout_width = (width - kernel_width + 1) / stride

对于8x8的图像和3x3的卷积核,输出尺寸将是 (8 - 3 + 1) / 1 = 6,因此输出形状是 [6, 6, 5],表示一个6x6的特征图,有5个输出通道。

卷积核的输入通道数(in_channels)由输入图像的通道数决定,比如:一个RGB格式的图片,其输入通道数为3。

而输出矩阵的通道数(out_channels)是由卷积核的输出通道数所决定,即卷积核有多少个不同的滤波器(filter)。在这个例子中,卷积核有5个滤波器,所以输出有5个通道。

6.激活函数

并不是所有的映射关系都可以用线性关系准确表达。因此需要激活函数表示非线性映射。

激活函数也就是非线性映射。神经网络如果仅仅是由线性运算堆叠,是无法形成复杂的表达空间的,也就很难提取高语义信息,因此需要加入非线性映射关系。

(1) Sigmoid函数

零基础也能搞懂卷积神经网络原理!超详细!

零基础也能搞懂卷积神经网络原理!超详细!

Sigmoid函数将特征压缩到了(0,1)区间,0端是抑制状态,1端是激活状态,中间部分梯度最大。

(2) Relu函数

修正线性单元(Rectified Linear Unit, ReLU)。通常用于缓解梯度消失现象。

零基础也能搞懂卷积神经网络原理!超详细!

在小于0的部分,值与梯度为0,大于0导数为1,避免了Sigmoid函数中梯度接近于0导致的梯度消失问题。

零基础也能搞懂卷积神经网络原理!超详细!

(3) Softmax函数

多物体类别较为常用的分类器是Softmax函数。

在具体的分类任务中,Softmax函数的输入往往是多个类别的得分,输出则是每一个类别对应的概率,所有类别的概率取值都在0~1之间,且和为1。

Softmax函数公式如下:

零基础也能搞懂卷积神经网络原理!超详细!

其中,Vi表示第i个类别的得分,C代表分类的类别总数,输出Si为第i个类别的概率。

CNN整体结构

卷积神经网络CNN由输入层、卷积层、Relu、池化层和全连接层、输出层组成。

如下图所示是一个卷积网络示例,卷积层是卷积网络的第一层,其后跟着其它卷积层或池化层,最后一层是全连接层。越往后的层识别图像越大的部分,较早的层通常专注于简单的特征(例如颜色和边缘等)。随着图像数据在CNN中各层中前进,它开始识别物体的较大元素或形状,直到最终识别出预期的物体。

零基础也能搞懂卷积神经网络原理!超详细!

其中:

  • 输入层:接收原始图像数据,作为网络的输入。
  • 卷积层:由滤波器filters和激活函数构成,属于CNN的核心层,主要作用是提取样本特征。它由输入数据、filter(或卷积核)和特征图组成。若输入数据是RGB图像,则意味着输入将具有三个维度——高度、宽度和深度。filter的本质是一个二维权重矩阵,它将在图像的感受野中移动,检查特征是否存在。卷积的运算过程如上所述。卷积层一般要设置的超参数包括过滤器filters的数量、步长stride以及Padding的方式(valid or same)以及激活函数等。
  • 池化层:本质即就是下采样(Downsampling),利用图像局部相关性原理,对图像进行子抽样,在保留有用信息的前提下减小数据处理量,具有一定的防止模型过拟合作用。
  • 全连接层:该层的每一个结点与上一层的所有结点相连,用于将前边提取到的特征综合在一起。通常,全连接层的参数是最多的。
  • 输出层:根据全连接层的信息得到概率最大的结果。

CNN的优势

与传统神经网络相比CNN具有局部连接、权值共享等优点,使其学习的参数量大幅降低,且网络的收敛速度也更快。

  • 局部連接:特徵圖的每個輸出值不需要連接到輸入影像中的每個像素值,而只需要連接到應用濾鏡filter的感受野,因此卷積層通常被稱為“部分連接層”,這種特性也即是局部連接。
  • 權值共用:當卷積核在影像上移動時,其權值是不變的。即為權值共享。

以上是零基础也能搞懂卷积神经网络原理!超详细!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
从摩擦到流:AI如何重塑法律工作从摩擦到流:AI如何重塑法律工作May 09, 2025 am 11:29 AM

法律技术革命正在获得动力,促使法律专业人员积极采用AI解决方案。 对于那些旨在保持竞争力的人来说,被动抵抗不再是可行的选择。 为什么技术采用至关重要? 法律专业人员

这就是AI对您的看法,对您的了解这就是AI对您的看法,对您的了解May 09, 2025 am 11:24 AM

许多人认为与AI的互动是匿名的,与人类交流形成了鲜明的对比。 但是,AI在每次聊天期间都会积极介绍用户。 每个单词的每个提示都经过分析和分类。让我们探索AI Revo的这一关键方面

建立蓬勃发展的AI-Ready企业文化的7个步骤建立蓬勃发展的AI-Ready企业文化的7个步骤May 09, 2025 am 11:23 AM

成功的人工智能战略,离不开强大的企业文化支撑。正如彼得·德鲁克所言,企业运作依赖于人,人工智能的成功也同样如此。 对于积极拥抱人工智能的组织而言,构建适应AI的企业文化至关重要,它甚至决定着AI战略的成败。 西蒙诺咨询公司(West Monroe)近期发布了构建蓬勃发展的AI友好型企业文化的实用指南,以下是一些关键要点: 1. 明确AI的成功模式: 首先,要对AI如何赋能业务有清晰的愿景。理想的AI运作文化,能够实现人与AI系统之间工作流程的自然融合。AI擅长某些任务,而人类则擅长创造力、判

Netflix New Scroll,Meta AI的游戏规则改变者,Neuralink价值85亿美元Netflix New Scroll,Meta AI的游戏规则改变者,Neuralink价值85亿美元May 09, 2025 am 11:22 AM

Meta升级AI助手应用,可穿戴式AI时代来临!这款旨在与ChatGPT竞争的应用,提供文本、语音交互、图像生成和网络搜索等标准AI功能,但现在首次增加了地理位置功能。这意味着Meta AI在回答你的问题时,知道你的位置和正在查看的内容。它利用你的兴趣、位置、个人资料和活动信息,提供最新的情境信息,这在以前是无法实现的。该应用还支持实时翻译,这彻底改变了Ray-Ban眼镜上的AI体验,使其实用性大大提升。 对外国电影征收关税是对媒体和文化的赤裸裸的权力行使。如果实施,这将加速向AI和虚拟制作的

今天采取这些步骤以保护自己免受AI网络犯罪的侵害今天采取这些步骤以保护自己免受AI网络犯罪的侵害May 09, 2025 am 11:19 AM

人工智能正在彻底改变网络犯罪领域,这迫使我们必须学习新的防御技巧。网络罪犯日益利用深度伪造和智能网络攻击等强大的人工智能技术进行欺诈和破坏,其规模前所未有。据报道,87%的全球企业在过去一年中都成为人工智能网络犯罪的目标。 那么,我们该如何避免成为这波智能犯罪的受害者呢?让我们探讨如何在个人和组织层面识别风险并采取防护措施。 网络罪犯如何利用人工智能 随着技术的进步,犯罪分子不断寻找新的方法来攻击个人、企业和政府。人工智能的广泛应用可能是最新的一个方面,但其潜在危害是前所未有的。 特别是,人工智

共生舞蹈:人工和自然感知的循环共生舞蹈:人工和自然感知的循环May 09, 2025 am 11:13 AM

最好将人工智能(AI)与人类智力(NI)之间的复杂关系理解为反馈循环。 人类创建AI,对人类活动产生的数据进行培训,以增强或复制人类能力。 这个AI

AI最大的秘密 - 创作者不了解,专家分裂AI最大的秘密 - 创作者不了解,专家分裂May 09, 2025 am 11:09 AM

Anthropic最近的声明强调了关于尖端AI模型缺乏了解,引发了专家之间的激烈辩论。 这是一个真正的技术危机,还是仅仅是通往更秘密的道路上的临时障碍

Sarvam AI的Bulbul-V2:印度最佳TTS模型Sarvam AI的Bulbul-V2:印度最佳TTS模型May 09, 2025 am 10:52 AM

印度是一个多元化的国家,具有丰富的语言,使整个地区的无缝沟通成为持续的挑战。但是,Sarvam的Bulbul-V2正在帮助弥合其高级文本到语音(TTS)T

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。