[LAB 11 · 从 RGB 到像素:读出、FCN 与边界](/course/notebooks/9e268706471944e3a59e6f568f9ce9a3.html) # 为什么同时训练 1×1 读出和 FCN [独立阅读](/course/notebook-blocks/a83492c549764a6aad90a23cfb322167.html) 按问题继续 前景/背景/mIoU口径、RGB到mask训练、FCN与1×1读出及边界 ## 为什么同时训练 1×1 读出和 FCN 逐像素读出是 `Conv2d(3,3,1)`,只有 12 个参数:每个像素用共享线性变换和 softmax 分类,没有邻域、形状或对象关系。它是原正文曾承诺而旧代码未实现的可学习逻辑读出。 FCN 有 20,590 个参数。细分支在 48×48 上提取边缘;粗分支两次 stride=2 得到 12×12 特征,再用 1×1 卷积产生三通道 logits。粗 logits 双线性恢复到 48×48,与细分支 logits 相加。细分支保留空间细节,粗分支提供较大邻域;两者通过同一个像素交叉熵一起更新。这个结构借鉴 FCN 的粗细融合思想,并非 D2L 预训练 ResNet-18/转置卷积实现的逐行复制。 损失 $-\sum_{u\in valid}\log softmax(z_u)_{y_u}/|valid|$ 对所有有效像素平均。没有任何一项要求不同物体的实例 ID,因此相邻的两个蓝椭圆都应是类别 2;但椭圆间属于背景的窄缝仍必须保留。