24.8.8学习笔记

卷积层

卷积层是深度学习中用于处理图像数据的关键组件之一。我们可以把它想象成一个智能的图像处理工具,它能够识别图像中的特定特征,如边缘、线条或更复杂的形状。

  1. 卷积层的工作原理

    • 小窗口扫描:卷积层会用一个小的方形区域(例如 3x3 的小方块)在图像上滑动,这个小方块叫做“滤波器”或“核”。
    • 特征检测:不同的滤波器可以用来检测不同的特征,比如边缘、线条或颜色块。
    • 生成特征图:当滤波器扫描完整张图片后,它会产生一个新的图像,我们称之为“特征图”或“激活图”。特征图中的每个点代表了原图像中对应区域的特征强度。
    • 多层堆叠:通常会有多个这样的卷积层堆叠在一起,前面的层检测简单的特征,后面的层检测更复杂的特征。
  2. 具体实现

    • 滤波器:滤波器是一个小型的二维矩阵,通常比原始图像小得多。滤波器中的每个元素都有一个权重。
    • 滑动窗口:滤波器会从左至右、从上至下滑过整个图像,每次覆盖一小块区域。
    • 卷积运算:对于每个覆盖的区域,滤波器会与图像中的对应像素进行逐元素相乘,并将结果求和。这个过程被称为卷积运算。
    • 激活函数:通常还会在卷积运算之后应用一个非线性激活函数(如ReLU),以增加模型的表达能力。

池化层

池化层主要用于减少特征图的空间维度,同时保留最重要的信息。它可以降低计算量,减少过拟合的风险。

  1. 池化层的工作原理

    • 滑动窗口:池化层也会用一个小的方形区域(例如 2x2 的小方块)在特征图上滑动。
    • 池化操作:对于每个覆盖的区域,池化层会执行一个聚合操作,比如最大值池化或平均值池化。
    • 生成池化特征图:池化操作的结果是一个新的特征图,通常比原来的特征图小。
  2. 具体实现

    • 池化窗口:池化窗口的大小通常是 2x2 或 3x3,步长通常等于窗口大小。
    • 最大值池化:对于每个覆盖的区域,池化层会选择最大的值作为输出。
    • 平均值池化:对于每个覆盖的区域,池化层会选择所有值的平均值作为输出。
    • 减少维度:池化层会减少特征图的宽度和高度,但不会改变通道数。

示例

假设我们有一个 5x5 的图像,并且使用 3x3 的滤波器进行卷积操作。

  1. 卷积层

    • 滤波器大小:3x3
    • 步长:1
    • 输出特征图大小:(5-3+1)x(5-3+1) = 3x3
    • 对于每个位置,滤波器与图像中的对应区域进行卷积运算,并将结果放入输出特征图中。
  2. 池化层

    • 池化窗口大小:2x2
    • 步长:2
    • 输出特征图大小:(3-2+1)x(3-2+1) = 2x2
    • 对于每个位置,池化层会选择最大值或平均值放入输出特征图中。

总结

卷积层和池化层都是深度学习中处理图像数据的重要组成部分。卷积层通过滤波器检测图像中的特征,而池化层通过减少特征图的尺寸来降低计算量和过拟合风险。通过这些层的组合使用,我们可以构建出能够处理复杂图像任务的强大神经网络模型。

im2col

是一种在卷积神经网络 (CNN) 中用于提高卷积层计算效率的技术。它的基本思想是将输入图像的一部分转换为列向量,从而使得卷积运算可以转换为矩阵乘法的形式。这种方法可以显著加速卷积操作,并且在现代深度学习框架中广泛使用。假设有一个 3x3 的输入图像,卷积核大小为 2x2。通过 im2col 操作,将图像展开成一个矩阵,然后与卷积核转换后的向量进行矩阵乘法,就能快速得到卷积的结果。

im2col 的工作原理:

  1. 输入图像

    • 考虑一个输入图像,假设其大小为 H×W×C,其中 H和 W 分别是高度和宽度,C 是通道数(例如 RGB 图像有 3 个通道)。
  2. 滤波器

    • 卷积层中的滤波器(或核)通常是一个较小的矩阵,例如F×F 大小,其中 F 通常是奇数(如 3 或 5)。每个滤波器也有 C 个通道。
  3. 滑动窗口

    • 滤波器在输入图像上滑动,每次覆盖一个 F×F 的区域。
  4. im2col变换

    • 对于每个滑动的位置,将覆盖的 F×F×C 区域拉直成一个列向量。这个过程称为 im2col 变换。
    • 所有的这些列向量组成一个大矩阵,即 im2col 矩阵。每一列代表了一个滤波器覆盖的区域。
  5. 矩阵乘法

    • 将滤波器的权重转换为一行向量。
    • 通过将 im2col 矩阵与滤波器权重的行向量进行矩阵乘法,可以计算出卷积结果。

示例说明:

假设我们有一个 5×5的输入图像,滤波器大小为 3×3,步长为 1,填充为 0。

  1. 输入图像

    • 输入图像大小为 5×5×1(假设单通道图像)。
  2. 滤波器

    • 滤波器大小为 3×3共 9 个权重。
  3. im2col矩阵

    • 对于 5×5的输入图像,滑动窗口会产生 (5−3+1)×(5−3+1)=3×3 个输出位置。
    • 因此,im2col 矩阵将是 9×9 的大小,其中每一列代表了 3×3区域的拉直向量。
  4. 滤波器权重

    • 滤波器权重被拉直成 1×9的行向量。
  5. 矩阵乘法

    • im2col 矩阵与滤波器权重的乘法结果将产生 1×9 的输出向量,代表了卷积的结果。

 在卷积神经网络(CNN)中,输出特征图(也称为激活映射)的大小可以通过下面的公式来计算:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值