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

MNIST架构中ConvNet最后一层与首个全连接层的降维过程疑问

理解卷积到全连接层的降维逻辑

首先得澄清一个可能的表述误解:你提到的“3136个神经元”其实不是这个全连接层的神经元数量——这个全连接层的神经元数量是1024个,而3136是输入特征的维度,对应的权重矩阵维度是3136x1024,这才是实现降维的核心。

下面一步步拆解这个过程:

1. 特征图的扁平化(Flatten)

在卷积层之后,我们得到64个7x7的特征图,也就是你计算的6477=3136个特征。这一步不是转成独热表示,而是把每个二维特征图“拉平”成一维向量:每个7x7的特征图变成49个连续数值,64个这样的向量拼接起来,就得到了长度为3136的一维输入向量,形状为(1, 3136)(这里的1代表单样本)。

2. 全连接层的矩阵乘法逻辑

全连接层的核心是矩阵乘法+偏置的线性变换:

  • 输入向量:X = (1, 3136)
  • 权重矩阵:W = (3136, 1024)——每一列对应全连接层中一个神经元的权重参数,1024列就对应1024个神经元
  • 偏置向量:b = (1, 1024)

计算过程为:Y = X * W + b,最终输出形状是(1, 1024),这就完成了从3136维到1024维的降维。

3. 为什么不是3136个神经元?

如果真的用3136个神经元,输出维度还是3136,根本做不到降维。你看到的描述大概率是把输入特征维度和神经元数量搞混了。全连接层的神经元数量直接决定输出维度:想要降维到1024,就设置1024个神经元,每个神经元都和所有3136个输入特征做加权求和(这也是“全连接”的含义)。

举个简化例子:假设输入是3维,要降到2维,权重矩阵就是3x2,2个神经元分别计算w11*x1 + w12*x2 + w13*x3 + b1和w21*x1 + w22*x2 + w23*x3 + b2,输出就是2维向量——本质是通过线性变换把高维空间映射到低维空间。

总结

核心逻辑可以概括为:

  • 卷积后的特征图先扁平化成长度为3136的一维向量
  • 全连接层用1024个神经元,通过(1x3136)*(3136x1024)的矩阵乘法完成线性降维
  • 后续通常会叠加激活函数(比如ReLU)引入非线性,进一步提取有效特征

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:17:44