zoukankan      html  css  js  c++  java
  • softmax和softmax loss笔记

    本文作为自己学习softmax和softmax loss笔记而写,留作自己日后回顾,如文中有错误还请不吝指教,感谢!

    全链接层到softmax的计算
    图片来自:https://eli.thegreenplace.net/2016/the-softmax-function-and-its-derivative/

    全连接层解释

    上图展示了从全连接层到softmax层的计算过程。其中,等号左边就是全连接层需要完成的任务,其中:

    • (W[T imes N])是全连接层的权重(参数),在训练网络过程中全连接层最终的目标就是寻找合适的(W)(W[T imes N])中的(T)是分类中类别的数量,(N)是全连接层输入长度。
    • (x[N imes 1])是全连接层的输入(特征),其中(N)是输入的长度(x[N imes 1])是由全连接层之前的卷积层、池化层等layer得到的。假设,该全连接之前为一个卷积层,该卷积层输出100个特征(即feature map中的(channel=100)),每个特征大小为(3 imes 3),在输入到全连接层之前将其flat成(N imes 1)的向量,即(100 imes 3 imes 3 = 900),在这个例子中(N=900)
    • (logits[T imes 1])是全连接层的输出。同样是后边softmax层的输入

    softmax层解释

    [S_j = frac{exp(a^j)}{sum_{k=1}^{T}a_k} ]

    可以采用softmax层来实现多分类任务。如上图所示:

    • (logits[T imes1])是softmax层的输入,输入向量中的每个数的大小是((-infty, +infty))
    • (prob[T imes1])是softmax层的输出,输出向量中的每个数的大小是((0,1))表示概率大小。其中(S_j)表示该样例分类为(j)类别的概率。

    softmax loss解释

    [L = -sum_{j=1}^Ty_jlog(S_j) ]

    (y)是一个(1 imes T)的向量,其中只有一个值为1,其余的值都为0。假设第j个位置对应该样本的真实标签,则第j个位置的值为1,其余位置的值为0。所以,上述公式可以简化为如下所示:

    [L = -y_jlog(S_j) ]

    其中j为该样本对应的真实标签的位置(id)。

    Cross entropy解释

    [E = -sum_{j=1}^{T}y_jlog(P_j) ]

    上面公式中的(P_j)是样本被分类为第j类的概率。如果概率向量P是有softmax function计算得到的,那么cross entropy loss和softmax loss相等。


    后续如有相关内容学习,会继续补充……

  • 相关阅读:
    OpenGL(十一) BMP真彩文件的显示和复制操作
    OpenGL(十) 截屏并保存BMP文件
    复数的认识与理解
    复数的认识与理解
    采样定理
    采样定理
    How Many Fibs_hdu_1316(大数).java
    FZOJ2110 star(DFS)
    透过表象看本质!?之二数据拟合
    设计中的道理_3
  • 原文地址:https://www.cnblogs.com/sykline/p/14630819.html
Copyright © 2011-2022 走看看