Softmax Loss
一、Softmax
- 作用:softmax的目标是尽可能最大化正确分类的概率,它会忽略掉一些比较难分辨的图片;也就是低质量的图片,而优先拟合高质量的图片,因此把特征强行归一化会使得低范数的图片变得高范数,也会获得更多的网络注意力。可以发现,只在相似度上做变化,跟||w||与||f||无关系,所以可以直接将这两者归一化,相当于单位向量。
- 公式入下:
S j = e a j ∑ k = 1 N e a k (1) S_j=\frac{e^{a_j}}{\sum_{k=1}^N e^{a_k}}\tag{1} Sj=∑k=1Neakeaj(1)
上面公式中, a j a_j aj表示当前输入的类别特征
二、Softmax Loss
- 核心思想:Softmax Loss无法确保类内的紧凑和类间的疏离
- 不同类别的样本分布会紧凑挨在一起(不同类别之间的夹角很小),这位模型预测样本的类别带来了一定的困难和模糊性。二使用L-Softmax Loss后,可以看到不同类别之间的分界更为清晰,不同类别之间的夹角增大,同时同类分布也更为紧凑。
- 公式入下:
L 1 = − ∑ j = 1 N y j l o g s j (2) L1=-\sum_{j=1}^N y_jlogs_j \tag{2} L1=−j=1∑Nyjlogsj(2)
上面公式中, s j s_j sj表示每个类别属于真实类别的概率 - SoftmaxLoss公式如下:(在softmax的基础上加入了-log形成损失函数)
L 2 = − ∑ i = 1 m l o g e W y i T x i + b y i ∑ j = 1 n e W j T x i + b j (3) L2=-\sum_{i=1}^m log\frac{e^{W^{T}_{y_i}x_i+b_{y_i}}}{\sum_{j=1}{n}e^{W^{T}_{j}x_i+b_j}}\tag{3} L2=−i=1∑mlog∑j=1neWjTxi+bjeWyiTxi+byi(3)
上面公式中, y i y_i yi属于真实类别 - 由于一般多分类问题,我们会对标签进行one-hot处理(
y
i
y_i
yi是0和1),因此公式可简化为如下公式:
L 3 = − l o g s j (4) L3=-logs_j\tag{4} L3=−logsj(4) - Softmax Loss训练的效果图如下,随便找一个网络,将特征层的结果滑到
三、总结
-
【注意】softmax loss是一个损失函数,是概率的负对数,当x在0-1之间的时候,是一个下降的函数
S i Si Si表示的是一个概率,信息是概率的负对数,而信息往往是不稳定的;信息的期望是稳定的——熵。 -
标准的Softmax Loss,不同类别的样本随着分类样本的增加不同类别样本的分布会紧挨在一起(不同类别之间的夹角很小),这为模型预测样本的类别带来了一定的困难和模糊性。
-
网上一篇文章上做了如下提示:(博主直接使用):