You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CNN网络中第二层卷积层输出形状的数学原理咨询

第二层卷积层输出形状的数学原理解析

核心概念澄清

首先明确卷积核形状(3,3,64,64)的含义:这是**(滤波器高度, 滤波器宽度, 输入通道数, 输出通道数)**的标准格式。也就是说,这一层有64个独立的三维滤波器,每个滤波器的尺寸是3×3×64——它会覆盖输入的所有64个通道,而非仅对应单个输入通道。

单滤波器输出11×11×1的计算逻辑

输入形状是(11,11,64),单个3×3×64滤波器的计算过程如下:

  • 对于输出特征图的每个空间位置(i,j),从输入中取出对应的3×3×64局部区域(步长为1、padding为same的设置,保证输入每个空间位置都能对应输出的一个位置)。
  • 将该局部区域的每个元素,与滤波器对应位置的权重做逐元素相乘,再把所有乘积求和,得到一个标量值。
  • 由于padding='same'且步长为1,输出空间尺寸计算公式为:
    输出高度 = ceil(输入高度 / 步长) = ceil(11/1) = 11
    输出宽度 = ceil(输入宽度 / 步长) = ceil(11/1) = 11
    
  • 每个滤波器仅对应一个输出通道,因此单个滤波器的输出形状是(11,11,1)。

为什么不会得到(11,11,64,64)

你之前的误解混淆了标准卷积和逐通道分组卷积的逻辑:

  • 如果是逐通道分组卷积(分组数等于输入通道数),每个输入通道对应一个独立的3×3二维滤波器,确实会得到(11,11,64,64)的中间结果,但这不是当前场景的标准卷积。
  • 标准卷积中,每个输出通道的滤波器是跨所有输入通道的,最终每个输出通道是所有输入通道卷积结果的加权求和,因此不会保留输入通道维度,而是合并为单个标量输出。

整体输出形状(11,11,64)的由来

这一层有64个独立的3×3×64滤波器,每个滤波器输出(11,11,1)的特征图。把这64个单通道特征图在通道维度上拼接,就得到了最终的(11,11,64)输出。

硬件实现的关键提示

对于输出特征图的每个点(i,j,k)(k为输出通道索引),硬件需要执行以下操作:

  1. 从输入特征图中提取对应位置的3×3×64窗口数据。
  2. 取出第k个滤波器的3×3×64权重参数。
  3. 执行逐元素相乘后累加(MAC操作),得到该点的原始值。
  4. 若有偏置参数,加上对应输出通道的偏置值,得到最终输出。

内容的提问来源于stack exchange,提问作者Utkarsh Kathuria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:24:04