Sigmoid——二分类

  • 将输出转换为概率
    • 概率的值范围为0.0到1.0
    • 属于所有类别的概率之和为1.0
      在这里插入图片描述
      σ(li)=11+e−liσ(li) = \frac{1}{1 + e^{-li}}σ(li)=1+eli1
      在这里插入图片描述

Softmax——多分类

S(li)=eli∑kelkS(l_i) = \frac{e^{l_i}}{\sum_{k}e^{l_k}}S(li)=kelkeli
在这里插入图片描述

multi-label分类,非 multi-class分类

  • 输出属于对个类别中的一个或者多个类
    • 例如一幅包含猫咪的图像可以同事属于“猫”、“哺乳动物”或者“宠物”
  • 对每一个输出独立使用Sigmoid激活函数,不使用softmax

BCE (结合sigmoid)

  • Cross-entropy loss for multi-label classification
    Li=−∑kyklog(σ(li)+(1−yk)log(1−σ(li)))L_i = - \sum_{k} y_klog(\sigma(li) + (1 - y_k)log(1 - \sigma(l_i)))Li=kyklog(σ(li)+(1yk)log(1σ(li)))

CE (结合softmax)

  • Cross-entropy loss for multi-class classification
    Li=−∑kyklog(S(lk))L_i = - \sum_{k}y_klog(S(l_k))Li=kyklog(S(lk))

一般而言:cross-entropy loss比方差函数square error loss在分类的情形下要好:

  • 方差函数对误差的输出惩罚非常大
  • 如果使用Softmax激活函数,加上方差函数作为损失函数,梯度包含y^(1−y^)\hat{y}(1 - \hat{y})y^(1y^), 当输出接近0.0或者1.0的时候,梯度值非常小,网络的训练会比较慢

从以下的求导公式可以看出

Gradient of square error loss

在这里插入图片描述

Gradient of cross-entropy loss

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐