可以看出最大的区别在于softmax的计算的是一个比重,而sigmoid只是对每一个输出值进行非线性化。 二者在结果上很相似,区别在于softmax是一个针对输出结果归一化的过程,所以很多文献也称作softmax层;而sigmoid只是一个非线性激活过程,所以一般称为激活函数。二者公式上也并不是直接归一化的关系。
但是当输出层为一个神经元时,此时会使用sigmoid代替softmax,因为此时还是按照softmax公式的话计算值为1.
softmax一般用于多分类的结果,一般和one-hot的真实标签值配合使用,大多数用于网络的最后一层;
而sigmoid是原本一种隐层之间的激活函数,但是因为效果比其他激活函数差,目前一般也只会出现二分类的输出层中,与0,1真实标签配合使用。
参考:softmax与sigmoid的区别 - 知乎 (zhihu.com)softmax与sigmoid的区别_sigmoid和softmax区别_普通攻击往后拉的博客-CSDN博客