卷积神经网络 - 基本概念
前馈网络包括全连接前馈网络(就是前面博文中介绍的前馈神经网络)和卷积神经网络,本文开始,我们来认识和学习卷积神经网络。
卷积神经网络主要使用在图像和视频分析的各种任务(比如图像分类、人 脸识别、物体识别、图像分割等)上,其准确率一般也远远超出了其他的神经网络模型。近年来卷积神经网络也广泛地应用到自然语言处理、推荐系统等领域。
在正式开始学习之前,我们来了解一些基本概念。
一、全连接前馈网络存在的问题
1、参数太多
如果输入图像大小为 100 × 100 × 3(即图像高度为 100,宽度为100 以及 RGB 3 个颜色通道),在全连接前馈网络中,第一个隐藏层的每个神经元到输入层都有 100 × 100 × 3 = 30000 个互相独立的连接,每个连接都对应一个权重参数。随着隐藏层神经元数量的增多,参数的规模也会急剧增加。这会导致整个神经网络的训练效率非常低,也很容易出现过拟合。
2、全连接前馈网络很难提取局部不变性特征
局部不变性特征指的是图像中某个局部区域的特征能够在经历小幅平移、旋转或缩放等变化后保持稳定,不会因为这些局部变化而大幅改变。这一性质对于图像识别非常重要,因为它允许模型专注于识别局部模式,而不必过分担心对象在图像中的具体位置或角度变化。
以卷积神经网络为例:
- 卷积操作:通过在图像上滑动固定尺寸的卷积核,CNN可以提取局部区域内的特征(如边缘、角落等)。这种局部特征在图像稍有平移时通常不会改变太多,因为卷积核能够捕捉到相同的模式。
- 池化层:例如最大池化能够将相邻区域内最显著的特征保留下来,从而进一步提高模型对小幅平移或局部变形的鲁棒性。
例如,一个简单的边缘检测滤波器,无论边缘在图像中稍微向左或向右移动,其检测结果大致相同,这就是局部不变性的体现。
自然图像中的物体都具有局部不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息。而全连接前馈网络很难提取这些局部不变性特征,一般需要进行数据增强来提高性能。
二、卷积神经网络与全连接前馈网络对比的优势
卷积神经网络是受生物学上感受野机制的启发而提出的。
感受野(Recep- tive Field)机制主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中的神经细胞的输出依赖于视网膜上的光感受器。视网膜上的光感受器受刺激兴奋时,将神经冲动信号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号。一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元。
目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的前馈神经网络。卷积神经网络有三个结构上的特性:局部连接、权重共享以及汇聚。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和全连接前馈神经网络相比,卷积神经网络的参数更少。
三、RGB&MNIST数据集&数据增强。
1、RGB
RGB 是一种颜色模型,其中“R”、“G”、“B”分别代表红(Red)、绿(Green)和蓝(Blue)。在这种模型中,一个颜色通常由三个分量构成,每个分量表示对应颜色光的强度。数字图像会将每个像素分为三个通道:红色通道、绿色通道和蓝色通道,通过调整这三个通道的值,可以混合出各种颜色。这一模型广泛应用于数字显示设备、摄影和计算机图形学中。
对于光的加色模型(如显示器、电视等),基本色确实是RGB——红、绿、蓝。这三种光波经过不同比例叠加,可以组合出各种颜色,最终混合可产生白光。
因此对于上面所举的例子,“输入图像大小为 100 × 100 × 3”,3就是指三个颜色通道,每个通道都有100*100个像素,因此一共是100 × 100 × 3 = 30000个像素。
2、MNIST数据集
MNIST 全称是 Modified National Institute of Standards and Technology 数据库,是机器学习领域中一个非常经典的手写数字数据集。它包含了大约 70,000 张 28×28 像素的灰度图像,其中 60,000 张用于训练,10,000 张用于测试。每张图像中的数字是 0 到 9 之间的手写数字。这个数据集经过预处理、归一化,非常适合作为图像分类算法(如前馈神经网络、卷积神经网络等)的基准测试集,也常被用来教学和实验,以验证新算法的性能和效果。
这种数据集的设计目标是提供一个简单而统一的标准,使得研究者和开发者可以在同一数据集上比较不同算法的准确率和效率,从而推动图像识别技术的发展。
3、数据增强
数据增强(Data Augmentation)是一种在训练机器学习模型时扩充数据集的方法,通过对已有图像进行各种变化操作(而这些变化不会改变图像的语义信息),从而生成新的训练样本。这种方法可以帮助模型更好地学习到自然图像中物体在尺度、平移、旋转等方面的局部不变性,提高模型的泛化能力。
例如,在图像识别任务中,如果你有一张包含猫的图像,你可以对这张图像进行以下几种操作来“增强”数据集:
- 平移:将图像稍微向左、右、上或下移动。
- 旋转:将图像旋转一定角度(例如 ±10°、±15°)。
- 尺度缩放:对图像进行放大或缩小操作。
- 翻转:水平或垂直翻转图像。
- 颜色变换:调整亮度、对比度或饱和度。
这些操作会生成一系列新的图像样本,每个样本在视觉上与原始图像保持相似的语义,但具有不同的外观。这样,模型在训练时就能接触到更多样化的数据,从而更鲁棒地识别同一物体在不同条件下的表现。
简而言之,数据增强就是利用上述变换方法在不改变图像内容的前提下人为“制造”出更多样本,帮助模型学会对常见的图像变换保持不敏感,提升最终的识别效果。
四、感受野机制
感受野(Receptive Field)最初是神经科学中的一个概念,用来描述单个神经元在视觉皮层中能够“看到”或响应的视野区域。通俗地说,就像每个神经元都有一扇小窗户,只能看到窗户内的一部分图像信息,而看不到全局。这种局部视野使得神经元能够专注于捕捉图像中的局部特征,比如边缘、角落或纹理。
在卷积神经网络(CNN)中,这一思想得到了很好的应用:
- 卷积核和局部连接:每个卷积核(滤波器)在输入图像上滑动时,只处理其覆盖的那一小块区域。这一小块区域就相当于该卷积神经元的感受野。
- 层级特征提取:通过多层卷积,低层的局部特征(如边缘)可以在更深层中组合成更抽象的全局特征(如形状或物体的一部分)。
简单例子
假设有一幅图像,我们用一个大小为3×3的卷积核来进行卷积操作:
- 当卷积核在图像上滑动时,每次只会“看到”图像中3×3的局部区域。
- 无论这个局部区域在整个图像中出现的位置如何,只要局部模式(比如一条边)相似,卷积核就能检测到相同的特征。
- 随着网络层数的增加,前几层小感受野内提取出的特征会在后续层中整合,形成更大的“有效感受野”,从而捕捉到更大范围的图像结构。
这种局部连接与共享参数的机制,使得卷积神经网络在处理图像时具有很好的平移、缩放和旋转的不变性,同时大大减少了参数数量,从而提高了学习效率和泛化能力。
五、卷积神经网络的特性:局部连接、权重共享、汇聚
1、局部连接
像用「放大镜」扫描图片
想象你拿放大镜在照片上滑动检查细节:
-
传统神经网络:每次都要同时观察整张照片(全连接)
-
CNN的局部连接:每次只看放大镜框住的局部区域(如3x3的小方块)
举个实际例子:
要识别「猫耳朵」,传统方法需要同时分析整张猫的照片(包括尾巴、背景等无关区域),而CNN的局部连接会先聚焦在图片左上角的尖耳朵形状,再移动到右下角的另一只耳朵。就像拼图时逐个区域观察,而不是一次性记住整张拼图。
2、权重共享
像用「同一把尺子」量遍全场
假设你有一把专门测量「条纹密度」的尺子:
-
传统神经网络:每个位置需要不同的尺子(每个区域独立参数)
-
CNN的权重共享:用同一把尺子扫描全图所有位置
举个实际例子:
要识别斑马条纹,传统方法需要为图片每个位置定制专用检测器(检测左上角的条纹用A参数,检测右下角的条纹用B参数)。而CNN会用同一组参数(同一把「条纹检测器」)扫过整张图片——无论条纹在图片左上角还是右下角,都用同一标准判断。
对比总结:
传统神经网络 | CNN的局部连接+权重共享 | |
---|---|---|
工作方式 | 全图同时分析 | 用放大镜分块扫描 |
参数特点 | 每个位置独立参数 | 全图共用同一组检测器 |
类比 | 给每个学生发不同的试卷 | 全班用同一份试卷考试 |
优势 | 理论上有更强拟合能力 | 减少参数,更擅长找重复特征 |
3、汇聚
我们可以用「渔网捞鱼」的比喻来理解汇聚(Pooling)这个概念:
(一)直观比喻
假设你有一张渔网(卷积层提取的特征图),现在要缩小渔网范围同时保留最重要的鱼:
-
最大池化(最常用):只保留渔网每个网格中最大的鱼(最显著特征)
-
平均池化:取渔网每个网格中鱼的平均大小(平滑特征)
实际效果:
原始渔网 → 对每个2x2网格操作 → 新渔网尺寸缩小一半,但保留了主要的大鱼(关键特征)
(二)技术解析
1. 核心作用
作用维度 | 具体表现 |
---|---|
降维压缩 | 将特征图尺寸缩小2-4倍(如从224x224→112x112),极大减少后续计算量 |
特征抽象 | 通过取最大值/平均值,保留最显著特征,过滤噪声(如忽略猫耳朵边缘的杂毛) |
平移不变性 | 微小位移不影响最大池化结果(猫耳朵移动5像素仍能被检测) |
防止过拟合 | 减少参数量的同时引入轻微扰动,增强泛化能力 |
2. 操作示例(2x2最大池化)
假设输入特征图:
[[255, 128, 30, 20], [ 64, 224, 48, 100], [ 80, 32, 175, 45], [ 92, 45, 60, 210]]
池化过程:
-
每个2x2窗口取最大值:
[[255, 128 | 30, 20] → 255 | 100 [ 64, 224 | 48, 100] -------------------- [ 80, 32 | 175, 45] → 92 | 210 [ 92, 45 | 60, 210]]
-
输出结果:
[[255, 100], [ 92, 210]]
(三)与CNN前两个特性(局部连接和权重共享)的关系
完整工作流比喻:
-
局部连接:用放大镜扫描图片找特征(卷积核局部感知)
-
权重共享:用同一把尺子量遍全图(卷积核复用)
-
汇聚:把找到的特征打包压缩(保留最关键信息)
类比拼图游戏:
-
局部连接 → 仔细检查每个拼图碎片
-
权重共享 → 用相同方法检查所有碎片
-
汇聚 → 把4个小碎片合并成1个大块(保留碎片中最明显的图案)
(四)经典结构对比
网络名称 | 池化策略 | 特殊设计 |
---|---|---|
LeNet-5 | 平均池化 | 早期使用手工特征+池化结合 |
AlexNet | 重叠最大池化(3x3,步长2) | 首次证明最大池化的优越性 |
VGGNet | 严格2x2最大池化 | 通过堆叠小池化保持信息连续性 |
ResNet | 1x1卷积+步长2代替部分池化 | 用卷积下采样实现更灵活的特征保留 |
(五)现代演进趋势
-
可替代性:
-
用步长>1的卷积直接实现下采样(如ResNet)
-
空洞卷积扩大感受野避免池化信息损失
-
-
自适应池化:
-
全局平均池化(GAP)替代全连接层(如SENet)
-
空间金字塔池化(SPP)处理任意尺寸输入
-
-
可学习池化:
-
使用带参数的加权池化(Learned Pooling)
-
注意力机制引导的特征选择(如SKNet)
-
总结理解:
汇聚(池化)就像给CNN安装了一个「智能压缩器」——在保留最核心特征的前提下,把数据量压缩到可处理的规模,同时让网络对特征的微小位移变得不敏感。 这种特性使得CNN既能深入捕捉细节,又不至于被海量数据淹没,是处理高维视觉数据的关键设计之一。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/585511.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!