CNN中FC层数值计算方法 池化层到全连接层维度推导

相关计算逻辑解答
1. 400维度的推导方式
这里的数值偏差来自通道数的配置记忆误差:对应网络结构中Pool1层的输出通道数为16而非10,三维特征图实际维度为5×5×16。
卷积、池化层的输出为三维特征图,结构为「特征图高度 × 特征图宽度 × 输出通道数」,在接入全连接层前需要经过Flatten(展平)操作,将三维特征图的所有元素按顺序拼接为一维向量,向量总长度为三个维度的乘积:5 * 5 * 16 = 400
这就是第一个全连接层输入维度400的来源。如果按10个通道计算,展平后总长度仅为250,无法得到400的维度值,核对卷积层输出通道配置即可确认该差异。
2. 400→120、120→80的映射规则
全连接层的输出维度(即120、80)是网络设计阶段手动设定的超参数,对应层的神经元总数,不需要像卷积、池化层那样通过卷积核尺寸、步长、填充值推导,计算逻辑为固定的线性变换+非线性激活:
- 400维映射到120维的FC层:层内包含形状为
(400, 120)的可训练权重矩阵,以及长度为120的可训练偏置向量。计算时将上一层输出的400维一维向量与权重矩阵做矩阵乘法,逐元素叠加偏置值,再经过激活函数(常用ReLU、Sigmoid),最终输出120维特征向量。该层总参数量为400*120 + 120 = 48120,额外的120为偏置参数。 - 120维映射到80维的FC层:计算逻辑与上一层完全一致,仅权重矩阵形状变为
(120, 80),偏置向量长度为80,经矩阵乘、加偏置、激活后输出80维特征向量。
内容的提问来源于stack exchange,提问作者Qasim0787
相关产品推荐
相关产品推荐

