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

U-Net语义分割模型最后一层选Softmax还是Sigmoid?原因是什么?

U-Net语义分割最后一层激活函数选择:Sigmoid vs Softmax

核心判断标准是你的分割任务类型,两种激活函数的适用场景和原因完全不同:

Sigmoid激活

  • 适用场景:二分类分割(比如前景/背景二选一)、多标签分割(一个像素可能同时属于多个类别,比如医学影像中同一区域存在多种病变)
  • 选择原因:Sigmoid会把每个通道的输出压缩到[0,1]区间,每个通道的概率计算完全独立,互不影响。比如二分类时单通道输出,值越接近1越属于目标类别;多标签时每个通道对应一个类别,能独立输出该像素属于对应类别的概率,允许同一像素被标记为多个类别。
  • 常用搭配损失:二元交叉熵损失(推荐用BCEWithLogitsLoss,无需手动加Sigmoid,数值稳定性更好)

Softmax激活

  • 适用场景:单标签多分类分割(每个像素只能属于一个类别,比如城市景观分割中的天空、道路、建筑等互斥类别)
  • 选择原因:Softmax会对所有通道的输出做归一化处理,让所有类别的概率之和为1,强制每个像素在不同类别中做互斥选择,能直接得到每个像素属于各类别的概率分布,方便后续取最大概率作为类别预测。
  • 常用搭配损失:交叉熵损失(推荐用CrossEntropyLoss,自带Softmax计算,无需手动添加)

额外提醒

  • 原始U-Net论文用的是Sigmoid,因为当时针对的是医学影像二分割任务(比如细胞与背景的区分)
  • 如果是多标签任务,绝对不能用Softmax——它的归一化特性会压制多个类别同时激活的可能性,导致模型无法正确预测多标签场景

内容的提问来源于stack exchange,提问作者Omar Essam El-Din

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:40:58