关于Wang 2016版FCN分类模型全连接层使用的技术问询
关于FCN模型复现的疑惑解答
核心结论
tsai的实现并没有违背论文,你对“替代全连接层”的理解存在偏差——论文提到的全局平均池化替代全连接层,指的是替代「卷积块输出后直接拉平接大参数量全连接层」的传统做法,而非完全不用任何全连接层。
对论文表述的解读
- 原文“替代全连接层”的核心是削减参数规模:如果直接把卷积后
[128, n_samples]的特征拉平,接全连接层映射到n_classes,参数量是128 * n_samples * n_classes + n_classes;而用全局平均池化得到[128]的特征后再接全连接层,参数量仅为128 * n_classes + n_classes,参数量大幅降低,这才是论文“替代”的本意。 - 论文说“最终输出由softmax层生成”,这里的softmax是作用在类别维度的logits上的,而logits必须通过一个线性层从池化后的128维特征映射过来——这个线性层是分类任务的标准组件,论文默认读者清楚这一点,所以没在架构图里单独画出。
行业惯例
全局平均池化后接小型全连接层(或用卷积层实现类别映射)是时序/图像分类的常规操作:
- 比如图像领域的ResNet、Inception等模型,都是在全局平均池化后接1个线性层输出类别logits;
- 时序分类中,这种做法既能保留卷积提取的全局特征,又通过小参数量的线性层完成类别映射,避免过拟合,完全符合论文“强基线”的定位。
你的模型修正建议
你梳理的架构只差最后一步:全局平均池化得到[batch_size, 128]的特征后,需要添加一个nn.Linear(128, n_classes)层生成对应类别的logits,再输入softmax层得到分类概率。
内容的提问来源于stack exchange,提问作者Haradai
相关产品推荐
相关产品推荐

