Angular Softmax Loss

Angular Softmax Loss

A-softmax loss可以看作是softmax loss的一个增强版本。softmax loss给出的后验概率为:

pi = e W i T x + b i Σ j e W j T x + b j \frac{e^{W{^T_i}x+b{_i}}}{\Sigma_je^{W{^T_j}x+b{_j}}} ΣjeWjTx+bjeWiTx+bi其中x为输入特征向量。Wi和bi分别为与类i对应的softmax层的权向量和偏置。

为了说明A-softmax损失,我们考虑了两类情况。将下面的分析推广到多类情况是不重要的。softmax loss给出的两类情形的后验概率为:
在这里插入图片描述

如果p1 > p2,则将预测标签分配给类别1;如果p1<p2,则将预测标签分配给类别2。决策边界是 ( W 1 T − W 2 T ) x = 0 (W{^T_1}-W{^T_2})x=0 (W1TW2T)x=0,也可以写成 ( ∥ W 1 ∥ C O S ( θ 1 ) − ∥ W 2 ∥ C O S ( θ 2 ) ) ∥ x ∥ = 0 (\begin{Vmatrix}W_1\end{Vmatrix}COS(\theta_1)-\begin{Vmatrix}W_2\end{Vmatrix}COS(\theta_2))\begin{Vmatrix}x\end{Vmatrix}=0 (W1COS(θ1)W2COS(θ2))x=0 θ 1 , θ 2 \theta_1,\theta_2 θ1,θ2是x和W1,W2的夹角。

**A-softmax有两处修改之处,首先,当使用余弦距离度量时,最好是将权值标准化并使偏差为零,即 ∥ W 1 ∥ = ∥ W 2 ∥ = 1 \begin{Vmatrix}W_1\end{Vmatrix}=\begin{Vmatrix}W_2\end{Vmatrix}=1 W1=W2=1 b 1 = b 2 = 0 b_1=b_2=0 b1=b2=0。(跟L-softma loss的主要不同点)**决策边界变成了角边界,定义为 c o s ( θ 1 ) − c o s ( θ 2 ) = 0 cos(\theta_1)-cos(\theta_2)=0 cos(θ1)cos(θ2)=0。然而,学习到的特征仍然不一定是有区别度的。其次,[14]进一步提出引入角裕度以增强分辨力。具体地说,引入整数m(m ≥ \ge 2)来定量控制角裕度的大小。类1和类2的决策条件变为 c o s ( m θ 1 ) − c o s ( θ 2 ) > 0 cos(m\theta_1)-cos(\theta_2)>0 cos(mθ1)cos(θ2)>0 c o s ( m θ 2 ) − c o s ( θ 1 ) > 0 cos(m\theta_2)-cos(\theta_1)>0 cos(mθ2)cos(θ1)>0

A-softmax决策条件将产生角裕度: m − 1 m + 1 Θ , Θ \frac{m-1}{m+1}\Theta,\Theta m+1m1Θ,Θ代表W1,W2间的夹角

将上述思想转化为损失函数,得到多类情况下的A-softmax损失函数:
在这里插入图片描述

其中N为训练样本的总数。x(n)和y(n)分别表示第n个训练样本的输入特征向量和类别标签。 θ j ( n ) \theta^{(n)}_j θj(n)为x(n)与wj夹角, θ y n ( n ) \theta^{(n)}_{y_n} θyn(n)为x(n)与权向量 W y n W_{y_n} Wyn之间的夹角。

值得注意的是, θ y n ( n ) \theta^{(n)}_{y_n} θyn(n)应该在 [ 0 , m π ] [0,\frac{m}{\pi}] [0,πm],为了消除这个限制,我们定义了一个新的函数来代替余弦函数,如下所示:
在这里插入图片描述

θ y n ( n ) ∈ [ k π m , ( k + 1 ) π m ] \theta^{(n)}_{y_n}\in[\frac{k\pi}{m},\frac{(k+1)\pi}{m}] θyn(n)[mkπ,m(k+1)π] k ∈ [ 0 , m − 1 ] k\in[0,m-1] k[0,m1]。因此A-softmax损失函数最终定义如下:
在这里插入图片描述

A-Softmax loss通过引入m,对不同的类采用不同的决策边界(每个边界比原边界更严格),从而产生角裕度。

角裕度随m的增大而增大,当m=1时,角裕度为零。与标准的softmax相比,A-softmax算法使得决策边界更加严格和分离,能够驱动更具区分性的特征学习。与triplet loss相比,使用A-softmax loss不需要仔细采样三元组来训练网络。

用A-softmax loss不需要仔细采样三元组来训练网络。

在训练中使用A-softmax损失也很简单。在前向传播期间,我们使用规范化的网络权值。为了方便梯度计算和反向传播, c o s ( θ j ( n ) ) cos(\theta_j^{(n)}) cos(θj(n)) c o s ( m θ y n ( n ) ) cos(m\theta_{y_n}^{(n)}) cos(mθyn(n))可以用只包含W和x(n)的表达式代替,根据余弦的定义和多角度公式,通过这种方法,我们可以计算关于W和x(n)的导数,这类似于在训练中使用softmax loss。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值