当前位置: 首页 > news >正文

深度学习课程学习报告week2_卷积神经网络(CNN)基础

why conv

  • 痛点:在处理高分辨率图像时,传统的多层感知机(MLP)由于缺乏对空间结构的先验假设,全连接层会导致参数量呈爆炸式增长(例如百万像素图像经过千维隐藏层会产生10910^9109级别的参数量)。这使得模型极难训练且容易过拟合。
  • 解法:卷积神经网络(CNN)利用自然图像中普遍存在的结构特征(平移不变性和局部性),通过设定特定的归纳偏置(Inductive Bias),在保持特征提取能力的同时,将网络参数量降低数个数量级。
  1. 平移不变性(Translation Invariance):不管检测对象出现在图像中的哪个位置,神经网络的前面几层应该对相同的图像区域具有相似的反应,即为“平移不变性”。在数学物理层面上,这意味着特征提取器的权重在整个空间维度上是共享的,不再随绝对坐标的变化而改变。
  2. 局部性(Locality):神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远区域的关系,这就是“局部性”原则。最终,可以聚合这些局部特征,以在整个图像级别进行预测。这意味着每次特征提取仅在有限大小的感受野(Receptive Field)内进行计算。

从多层感知机(MLP)到CNN

将 MLP 演化为 CNN,本质上是依次应用上述两大原则对权重张量进行约束的过程。

1. 基础全连接层表示
假设输入图像X\mathbf{X}X和隐藏层特征H\mathbf{H}H均为二维张量。对于隐藏层位置(i,j)(i, j)(i,j)的输出,其全连接形式的加权和可以表示为(其中W\mathsf{W}W为四阶权重张量,U\mathbf{U}U为偏置):
[H]i,j=[U]i,j+∑k∑l[W]i,j,k,l[X]k,l [\mathbf{H}]_{i, j} = [\mathbf{U}]_{i, j} + \sum_k \sum_l[\mathsf{W}]_{i, j, k, l} [\mathbf{X}]_{k, l}[H]i,j=[U]i,j+kl[W]i,j,k,l[X]k,l
为方便推导,重新索引下标令k=i+ak = i+ak=i+al=j+bl = j+bl=j+b,将其转换为中心坐标加偏移量(a,b)(a, b)(a,b)的形式:
[H]i,j=[U]i,j+∑a∑b[V]i,j,a,b[X]i+a,j+b [\mathbf{H}]_{i, j} = [\mathbf{U}]_{i, j} + \sum_a \sum_b [\mathsf{V}]_{i, j, a, b} [\mathbf{X}]_{i+a, j+b}[H]i,j=[U]i,j+ab[V]i,j,a,b[X]i+a,j+b

2. 引入“平移不变性”约束
由于特征提取不依赖于绝对位置(i,j)(i, j)(i,j),权重张量V\mathsf{V}V和偏置U\mathbf{U}U中的iiijjj维度可以被消去。偏置退化为常数uuu,权重退化为二维滤波器矩阵V\mathbf{V}V。此时,全连接层转化为了二维互相关(通常称为卷积)操作:
[H]i,j=u+∑a∑b[V]a,b[X]i+a,j+b [\mathbf{H}]_{i, j} = u + \sum_a\sum_b [\mathbf{V}]_{a, b} [\mathbf{X}]_{i+a, j+b}[H]i,j=u+ab[V]a,b[X]i+a,j+b

3. 引入“局部性”约束
为了只关注局部信息,我们限定偏移量(a,b)(a, b)(a,b)的范围在一个极小的窗口内,即设置阈值Δ\DeltaΔ。当∣a∣>Δ|a| > \Deltaa>Δ∣b∣>Δ|b| > \Deltab>Δ时,权重[V]a,b=0[\mathbf{V}]_{a, b} = 0[V]a,b=0。最终得到卷积层(Convolutional Layer)的严格数学定义:
[H]i,j=u+∑a=−ΔΔ∑b=−ΔΔ[V]a,b[X]i+a,j+b [\mathbf{H}]_{i, j} = u + \sum_{a = -\Delta}^{\Delta} \sum_{b = -\Delta}^{\Delta} [\mathbf{V}]_{a, b} [\mathbf{X}]_{i+a, j+b}[H]i,j=u+a=ΔΔb=ΔΔ[V]a,b[X]i+a,j+b

补充:多通道(Channels)扩展
由于真实图像(如RGB)及深层特征图均为三维张量(通道数、高、宽),卷积层需进一步向通道维度扩展。设ccc为输入通道,ddd为输出通道,完整的卷积运算为:
[H]i,j,d=∑a=−ΔΔ∑b=−ΔΔ∑c[V]a,b,c,d[X]i+a,j+b,c [\mathsf{H}]_{i,j,d} = \sum_{a = -\Delta}^{\Delta} \sum_{b = -\Delta}^{\Delta} \sum_c [\mathsf{V}]_{a, b, c, d} [\mathsf{X}]_{i+a, j+b, c}[H]i,j,d=a=ΔΔb=ΔΔc[V]a,b,c,d[X]i+a,j+b,c

图像卷积

互相关运算

  • 是什么:严格来说,深度学习中绝大多数“卷积层”执行的其实是互相关运算(cross-correlation),而不是数学上严格意义的卷积运算。
  • 怎么算
    • 过程:设定一个二维的卷积窗口(即卷积核大小,如2×22 \times 22×2)。该窗口从输入张量的左上角开始,依次从左到右、从上到下滑动。
    • 局部计算:在窗口滑动的每一个位置,将窗口内的输入子张量与卷积核张量进行按元素相乘并求和,得到一个单一的标量值,这就是该位置的输出。
    • 输出维度变化:如果没有进行边界填充(Padding),由于卷积核需要完全贴合在输入张量内部滑动,输出的尺寸会略小于输入。具体公式为:(nh−kh+1)×(nw−kw+1)(n_h-k_h+1) \times (n_w-k_w+1)(nhkh+1)×(nwkw+1)

卷积层

卷积层对输入和卷积核权重进行互相关运算,并在添加标量偏置之后产生输出。所以,卷积层中的两个被训练的参数是卷积核权重(Weight)和标量偏置(Bias)。

卷积核

  • 如何学习
    • 虽然我们可以通过先验知识手工设计特定的卷积核(例如用[1, -1]的核去检测图像中水平相邻像素的差异,从而检测垂直边缘),但在实际的深层网络中,手动设计是不现实的。
    • 现代深度学习通过反向传播算法自动学习卷积核。过程为:随机初始化卷积核张量→\rightarrow执行前向互相关运算得到预测输出→\rightarrow比较输出与真实目标的平方误差(Loss)→\rightarrow对卷积核权重求导计算梯度→\rightarrow使用梯度下降等优化算法更新权重。最终网络会自行学习到最适合当前任务的特征提取器。

互相关与卷积

  • 如何相互变换:在数学中,要得到严格的“卷积”运算输出,需要将二维卷积核张量进行水平翻转和垂直翻转(相当于旋转180度),然后再对输入张量执行“互相关”运算。
  • 为什么深度学习不区分:由于卷积核本身是从数据中随机初始化并学习得到的,不论网络底层使用的是严格卷积还是互相关,优化算法最终学到的权重本质上是等价的(只是相差一个翻转)。为了术语的统一和计算实现的便捷,深度学习社区通常直接将“互相关运算”称为“卷积”。

特征映射和感受野

  • 特征映射 (Feature Map):卷积层的输出张量通常被称为特征映射,因为它代表了将上一层的输入在空间维度上提取特征后的新表示。
  • 感受野 (Receptive Field):对于某一层特征映射上的任意一个元素xxx,其“感受野”是指:在前向传播中,所有能够影响到xxx计算结果的原始输入区域
  • 维度关系
    • 在单层卷积中,xxx的感受野大小等于卷积核的大小(例如2×22 \times 22×2输出的 1 个像素,来源于输入层的2×22 \times 22×2个像素)。
    • 当网络变得更深(即多个卷积层叠加)时,感受野的维度会快速扩张。深层特征图上的一个像素,其感受野可能覆盖原始图像上一大块极其广阔的区域。这解释了为什么深层网络能够捕捉到更加宏观和全局的图像特征

填充与步幅

填充

为什么需要填充?

  • 防止边缘信息丢失:在互相关运算中,图像内部的像素会被卷积核多次重复扫描参与计算,而边缘像素只会被扫描极少数次(甚至只有一次)。这导致图像边缘的特征在传递过程中逐渐被边缘化甚至丢失。
  • 控制特征图的空间分辨率:在不进行填充的情况下,每次卷积操作都会导致输出尺寸减小(由n×nn \times nn×n变为(n−k+1)×(n−k+1)(n-k+1) \times (n-k+1)(nk+1)×(nk+1))。对于一个极深的网络,如果不加干预,特征图的分辨率会迅速缩减为1×11 \times 11×1,这极大地限制了网络的层数和深度。

怎么填(举例)
填充通常是在输入矩阵的四周添加值为 0 的额外行和列(即零填充)。假设我们在高度上填充php_hph行(上下各ph/2p_h/2ph/2),在宽度上填充pwp_wpw列(左右各pw/2p_w/2pw/2),输出尺寸公式更新为:
Output=(n+p−k+1) \text{Output} = (n + p - k + 1)Output=(n+pk+1)

  • 举例说明
    假设输入X\mathbf{X}X形状为3×33 \times 33×3,卷积核K\mathbf{K}K形状为3×33 \times 33×3
    • 不加填充 (p=0p=0p=0):输出尺寸为(3−3+1)×(3−3+1)=1×1(3 - 3 + 1) \times (3 - 3 + 1) = 1 \times 1(33+1)×(33+1)=1×1
    • 四周各填充 1 行/列 (p=2p=2p=2):输入变相地扩展成了5×55 \times 55×5。此时输出尺寸为(3+2−3+1)×(3+2−3+1)=3×3(3 + 2 - 3 + 1) \times (3 + 2 - 3 + 1) = 3 \times 3(3+23+1)×(3+23+1)=3×3。通过这种方式,我们成功保持了特征图的尺寸与输入完全一致。

当满足以下三个条件时:

  1. 卷积核大小为奇数(设k=2m+1k = 2m + 1k=2m+1);
  2. 所有边填充相同(即上下左右各填充p=mp = mp=m行/列,总填充量为2m2m2m);
  3. 输入与输出尺寸相同(根据公式n+2m−(2m+1)+1=nn + 2m - (2m+1) + 1 = nn+2m(2m+1)+1=n刚好成立)。

这意味着,在进行计算时,卷积核的几何中心在输入矩阵上的坐标移动轨迹,与输出矩阵的索引是完全重合的。因此,输出特征图上的每一个点Y[i,j]Y[i, j]Y[i,j],其对应感受野的绝对中心恰好就是输入图上的X[i,j]X[i, j]X[i,j]。这在语义上提供了极高的空间位置对齐性,对于目标检测中的边界框定位、图像分割以及视觉追踪任务中保持目标的绝对坐标一致性至关重要。

步幅

步幅是指卷积核每次在输入矩阵上滑动的行数和列数。默认步幅为 1。当步幅s>1s > 1s>1时,卷积窗口会跳过中间的像素进行采样。

  • 举例说明
    假设输入尺寸为7×77 \times 77×7,卷积核大小为3×33 \times 33×3,不加填充(p=0p=0p=0)。
    • 步幅s=1s=1s=1:卷积核每次向右移动 1 列。输出大小为7−31+1=5×5\frac{7 - 3}{1} + 1 = 5 \times 5173+1=5×5
    • 步幅s=2s=2s=2:卷积核每次向右直接跳过 1 列(移动 2 列,从第1列直接跳到第3列、第5列)。输出大小为⌊7−32⌋+1=3×3\lfloor\frac{7 - 3}{2}\rfloor + 1 = 3 \times 3273+1=3×3

为什么要用不同的步幅?

  • 成倍降低计算量与内存开销:当处理高分辨率的输入(如百万级像素图像)时,若步幅始终为 1,特征图下降速度极慢,会导致后续层产生海量的特征图和极高的计算负载。增大步幅可以瞬间对特征图进行空间上的稀疏抽样,大幅提高前向与反向传播的效率。
  • 快速扩大感受野(Receptive Field):大步幅意味着底层的神经元能够以更快的速度跳跃扫描,使得更浅的层就能覆盖和捕捉到原始输入中更宏观、更大尺度的全局语义特征,这对于需要兼顾实时响应和全局视野的系统非常高效。
  • 空间降采样(Downsampling):在很多现代网络架构中,大步幅的卷积常用来替代传统的池化层(Pooling),在提取特征的同时实现空间维度的缩减。
http://www.rkmt.cn/news/1383192.html

相关文章:

  • 为交通大动脉装上“导航眼”:LY-3000光缆路由探测仪
  • 基于AI与MAX78000的乡村光伏能源管理系统设计与实现
  • TC5091B 高精度内置 MOSFET 锂电池保护电路
  • SC9017S 座充充电器 IC
  • 基于FTDI的PIC单片机编程器优化:速度提升1600%的ICSP协议实现
  • 移动端开发的核心技能:掌握这3个平台,搞定APP开发
  • 零信任架构下的DeepSeek安全测试辅助调用规范,NIST SP 800-218合规实操手册
  • DeepSeek代码生成评测:为什么你调用的API返回“看似正确却无法部署”的代码?——基于217次CI失败日志的根因分析
  • 为AI智能体应用选择并接入Taotoken作为统一模型供应商
  • 抖音视频无法保存到本地怎么解决?2026年6种原因+对应修复方法 - 科技大爆炸
  • 基于TESS光变曲线与深度学习的O型星物理参数预测研究
  • DeepSeek模型微调全链路解析:从数据准备、LoRA配置到推理部署的7大关键步骤
  • 【Veo 2提示词SOP白皮书】:从模糊意图到像素级输出的8步标准化工作流(附NASA级测试用例库)
  • 中山南岸声学:23 年匠心铸就汽车音响改装四大标杆 - 汽车音响改装
  • 2026实测10款热门降ai率工具(含免费降ai率工具) - 殷念写论文
  • 2026 国内四辊卷板机权威评测报告 - 安徽工业
  • 从检测标红到安全通关:实测2026主流论文降AIGC工具,手把手教你深度优化
  • sniffglue:5分钟搞定HTTPS/TLS解密与HTTP2/gRPC结构化抓包
  • CircuitJS1桌面版:免费开源的离线电路仿真终极指南
  • 16届蓝桥杯pythonB国赛
  • 从原理到产业:一文读懂OpenCLAW与ROS 2的集成之道
  • 3分钟快速指南:如何用Apple-Mobile-Drivers-Installer彻底解决iPhone USB网络共享问题
  • SPTD:基于训练动态的选择性预测方法,让模型学会说“我不知道”
  • 终极指南:如何使用OmenSuperHub让你的惠普暗影精灵游戏本性能全开
  • 【DeepSeek安全基线强制令】:为什么你的requirements.txt正在触发NIST SP 800-161合规红线?
  • 毕业设计 深度学习yolo11垃圾分类系统(源码+论文)
  • Harness 中的延迟容忍度探测与差异化服务
  • 5分钟掌握Happy Island Designer:打造专属动物森友会岛屿的终极指南
  • COM3D2.MaidFiddler:打破游戏边界的实时角色编辑器
  • 从PCB圆环到圣诞树:嵌入式灯光系统的设计与实现