当前位置: 代码迷 >> 综合 >> probability,odds,logit, softmax, logSoftmax,交叉熵
  详细解决方案

probability,odds,logit, softmax, logSoftmax,交叉熵

热度:6   发布时间:2023-12-15 16:06:26.0

probability:事件发生的概率, p
odds: 事件发生的概率和不发生的概率之比 p/(1-p)
logit:odds 的对数 log[p/(1-p)] (在DL模型中,全连接层的输出就是logits

softmax

  1. soft版本的max,这是相对于hard版本的max而言的。相比于hard max,softmax能够放大不同的值之间的差异
  2. softmax作用是把一个序列变成一个概率分布。即序列中的每个值在0-1之间,并且所有值求和等于1

Softmax
有序列为 a a a,总共有n个元素。 a i a_i ai?为序列中的第i个元素,则对它求完softmax之后的值为:
S i = e a i / ∑ k = 0 n e a k S_i = e^{a_i}/\sum_{k=0}^{n} e^{a_k} Si?=eai?/k=0n?eak?

logSoftmax(为了softmax数值计算的稳定性,对softmax再求一个log): S i ′ = l o g ( S i ) S_i' = log(S_i) Si?=log(Si?)

交叉熵(衡量两个分布p,q的相似性):
C ( p , q ) = ? ∑ i = 0 n p ( i ) l o g ( q ( i ) ) C(p,q) = - \sum_{i=0}^{n} p(i)log(q(i)) C(p,q)=?i=0n?p(i)log(q(i))
这里的 i i i指的是序列中的一个值,相当于上面提到的 a i a_i ai?。的 q ( i ) q(i) q(i)就是对 i i i求softmax, l o g ( q ( i ) ) log(q(i)) log(q(i))就是对 i i i求logSoftmax。

https://zhuanlan.zhihu.com/p/27188729
https://www.zhihu.com/question/294679135

  相关解决方案