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

深度学习|表示学习|卷积神经网络|输出维度公式|15

如是我闻: 在卷积和池化操作中,计算输出维度的公式是关键,它们分别可以帮助我们计算卷积操作池化操作后的输出大小。下面分别总结公式,并结合解释它们的意义:


1. 卷积操作的输出维度公式

当我们对输入图像进行卷积时,输出的宽度和高度可以通过以下公式计算:

输出大小 = 输入大小 − 卷积核大小 + 2 ⋅ 填充大小 步长 + 1 \text{输出大小} = \frac{\text{输入大小} - \text{卷积核大小} + 2 \cdot \text{填充大小}}{\text{步长}} + 1 输出大小=步长输入大小卷积核大小+2填充大小+1

符号说明
  • 输入大小 ( n n n):输入特征图的宽度或高度(假设为正方形,宽高一致)。
  • 卷积核大小 ( k k k):卷积核的宽度或高度(也是正方形)。
  • 填充大小 ( p p p):输入图像边界上填充的像素数量。
  • 步长 ( s s s):卷积核滑动的步幅。
  • 输出大小:卷积后的特征图宽度或高度。
解释公式的意义
  1. 输入大小 - 卷积核大小:表示卷积核需要覆盖整个图像所需要的滑动范围。
  2. 填充大小:增加了边界像素,可以让卷积核覆盖更多区域,输出更大。
  3. 步长:决定滑动的速度,步长越大,输出图像越小。
  4. +1:确保包括卷积核的起始位置。

一个例子

假设输入大小为 32 × 32 32 \times 32 32×32,卷积核大小为 3 × 3 3 \times 3 3×3,填充 p = 1 p = 1 p=1,步长 s = 1 s = 1 s=1

套公式:
输出大小 = 32 − 3 + 2 ⋅ 1 1 + 1 = 32 \text{输出大小} = \frac{32 - 3 + 2 \cdot 1}{1} + 1 = 32 输出大小=1323+21+1=32

所以,输出特征图的大小为 32 × 32 32 \times 32 32×32


2. 池化操作的输出维度公式

池化(Pooling)的输出大小公式类似卷积,但更加简单:

输出大小 = 输入大小 − 池化窗口大小 步长 + 1 \text{输出大小} = \frac{\text{输入大小} - \text{池化窗口大小}}{\text{步长}} + 1 输出大小=步长输入大小池化窗口大小+1

符号说明
  • 输入大小 ( n n n):输入特征图的宽度或高度。
  • 池化窗口大小 ( k k k):池化窗口的宽度或高度。
  • 步长 ( s s s):池化窗口滑动的步幅。
  • 输出大小:池化后的特征图宽度或高度。
解释公式的意义
  1. 输入大小 - 池化窗口大小:表示池化窗口覆盖图像所需要的滑动范围。
  2. 步长:决定池化窗口滑动的速度。
  3. +1:确保池化窗口的起始位置被计算。

一个例子

假设输入大小为 32 × 32 32 \times 32 32×32,池化窗口大小为 2 × 2 2 \times 2 2×2,步长 s = 2 s = 2 s=2

套公式:
输出大小 = 32 − 2 2 + 1 = 16 \text{输出大小} = \frac{32 - 2}{2} + 1 = 16 输出大小=2322+1=16

所以,池化后的特征图大小为 16 × 16 16 \times 16 16×16


3. 卷积和池化公式对比

操作类型公式
卷积操作 输出大小 = 输入大小 − 卷积核大小 + 2 ⋅ 填充大小 步长 + 1 \text{输出大小} = \frac{\text{输入大小} - \text{卷积核大小} + 2 \cdot \text{填充大小}}{\text{步长}} + 1 输出大小=步长输入大小卷积核大小+2填充大小+1
池化操作 输出大小 = 输入大小 − 池化窗口大小 步长 + 1 \text{输出大小} = \frac{\text{输入大小} - \text{池化窗口大小}}{\text{步长}} + 1 输出大小=步长输入大小池化窗口大小+1

区别:

  1. 卷积公式中有“填充大小 ( p p p)”,而池化一般不考虑填充(默认为 0)。
  2. 卷积核用于提取特征,池化用于降采样。

4. 特征图通道数的变化

  • 卷积操作:输出通道数 = 卷积核的数量(每个卷积核对应一个输出通道)。
  • 池化操作:不会改变通道数,通道数与输入保持一致。

总的来说

  • 卷积操作公式:更复杂,带有填充和步长的影响,用于特征提取。
  • 池化操作公式:更简单,主要用于下采样,不改变通道数。
  • 共同点:两者都通过滑动窗口的方式处理输入,并输出新的特征图。

以上


http://www.kler.cn/a/522257.html

相关文章:

  • 乌兰巴托的夜---音乐里的故事
  • 【C++】特殊类设计、单例模式与类型转换
  • 抖音上线打车服务?抖音要大规模杀入网约车了吗?
  • WPF基础 | WPF 常用控件实战:Button、TextBox 等的基础应用
  • python:洛伦兹变换
  • 每日一道算法题
  • HTML 符号详解
  • 安全策略初始实验
  • 30289_SC65XX功能机MMI开发笔记(ums9117)
  • 深入理解动态规划(dp)--(提前要对dfs有了解)
  • 【OMCI实践】ONT上线过程的omci消息(二)
  • leetcode 209. 长度最小的子数组
  • AI 模型评估与质量控制:生成内容的评估与问题防护
  • Web开发 -前端部分-CSS3新特性
  • unity学习20:time相关基础 Time.time 和 Time.deltaTime
  • 基于Django的微博舆情分析系统的设计与实现
  • 【算法与数据结构】动态规划
  • RTOS面试合集
  • 【Python实现机器遗忘算法】复现2020年顶会CVPR算法Selective Forgetting
  • 006 mybatis关联查询(一对一、一对多)
  • OPencv3.4.1安装及配置教程
  • 20.Word:小谢-病毒知识的科普文章❗【38】
  • freeswitch在centos上编译过程
  • 白平衡与色温:摄影中的色彩密码
  • 2025_1_27 C语言内存,递归,汉诺塔问题
  • 二叉树(补充)