σi(z)=ezi∑mj=1ezj,i=1,2,...,mzi=wTix+bi
σ
i
(
z
)
=
e
z
i
∑
j
=
1
m
e
z
j
,
i
=
1
,
2
,
.
.
.
,
m
z
i
=
w
i
T
x
+
b
i
式中z是第i个类别的线性预测结果,softmax对z进行指数运算使其变为非负,然后除以所有项之和进行归一化。
σi(z)
σ
i
(
z
)
也就是数据x属于类别i的概率,学术中称为最大似然(likelihood)。
如果已知x对应的类别是y,则
σy(z)
σ
y
(
z
)
应该表现出大概率结果,即最大化。这里需要注意的是,
σy(z)
σ
y
(
z
)
是一个归一化的正数,值域为[0,1],其最大化情况下损失函数应最小化(接近0)。损失函数通常是使用 negative log-likelihood 而不是 likelihood,也就是说最小化
−log(σy(z))
−
l
o
g
(
σ
y
(
z
)
)
的值,因此第y类的softmax-loss的定义为:
Ly,z=−log(ezy∑mj=1ezj)=log(∑j=1mezj)−zy
L
y
,
z
=
−
l
o
g
(
e
z
y
∑
j
=
1
m
e
z
j
)
=
l
o
g
(
∑
j
=
1
m
e
z
j
)
−
z
y
因此在反向传播计算梯度时:
∂Ly,z∂zk=ezk∑mj=1ezj−δky=σk(z)−δkyδky={1,0,k=yk≠y
∂
L
y
,
z
∂
z
k
=
e
z
k
∑
j
=
1
m
e
z
j
−
δ
k
y
=
σ
k
(
z
)
−
δ
k
y
δ
k
y
=
{
1
,
k
=
y
0
,
k
≠
y
WTjxi=∥Wj∥∥xi∥cosθjLLS=−1n∑i=1nloge||xi||cos(θyi)e||xi||cos(θyi)+∑cj=1,j≠yie||xi||cos(θj)
W
j
T
x
i
=
‖
W
j
‖
‖
x
i
‖
c
o
s
θ
j
L
L
S
=
−
1
n
∑
i
=
1
n
log
e
|
|
x
i
|
|
c
o
s
(
θ
y
i
)
e
|
|
x
i
|
|
c
o
s
(
θ
y
i
)
+
∑
j
=
1
,
j
≠
y
i
c
e
|
|
x
i
|
|
c
o
s
(
θ
j
)
ψ(θyi)=(−1)kcos(mθyi))−2k+λcosθyi)1+λ,θ∈[kπm,(k+1)πm]
ψ
(
θ
y
i
)
=
(
−
1
)
k
c
o
s
(
m
θ
y
i
)
)
−
2
k
+
λ
c
o
s
θ
y
i
)
1
+
λ
,
θ
∈
[
k
π
m
,
(
k
+
1
)
π
m
]
LAS=−1n∑i=1nloge||xi||ψ(θyi)e||xi||ψ(θyi)+∑cj=1,j≠yie||xi||cos(θj)
L
A
S
=
−
1
n
∑
i
=
1
n
log
e
|
|
x
i
|
|
ψ
(
θ
y
i
)
e
|
|
x
i
|
|
ψ
(
θ
y
i
)
+
∑
j
=
1
,
j
≠
y
i
c
e
|
|
x
i
|
|
c
o
s
(
θ
j
)
LAMS=−1n∑i=1nloges⋅(cos(θyi)−m)es⋅(cos(θyi)−m)+∑cj=1,j≠yies⋅cosθj
L
A
M
S
=
−
1
n
∑
i
=
1
n
log
e
s
⋅
(
c
o
s
(
θ
y
i
)
−
m
)
e
s
⋅
(
c
o
s
(
θ
y
i
)
−
m
)
+
∑
j
=
1
,
j
≠
y
i
c
e
s
⋅
c
o
s
θ
j
LArcFace=−1n∑i=1nloges⋅(cos(θyi+m))es⋅(cos(θyi+m))+∑cj=1,j≠yies⋅cosθj
L
A
r
c
F
a
c
e
=
−
1
n
∑
i
=
1
n
log
e
s
⋅
(
c
o
s
(
θ
y
i
+
m
)
)
e
s
⋅
(
c
o
s
(
θ
y
i
+
m
)
)
+
∑
j
=
1
,
j
≠
y
i
c
e
s
⋅
c
o
s
θ
j
cos(θ+m)=cosθcosm−sinθsinm
c
o
s
(
θ
+
m
)
=
c
o
s
θ
c
o
s
m
−
s
i
n
θ
s
i
n
m
作者认为相较于余弦裕度,本公式的magin值能通过
sinθ
s
i
n
θ
实现动态调整。
PS:个人感觉那个
cos(θ1+m)
c
o
s
(
θ
1
+
m
)
的点应该是绿色角顶点映射到权重向量的位置,也就是说少了一条虚线。
Lsf=−∑i=1nloge||Φ(xi)||cos(mθyi)∑cj=1e||Φ(xi)||cos(θj)
L
s
f
=
−
∑
i
=
1
n
log
e
|
|
Φ
(
x
i
)
|
|
c
o
s
(
m
θ
y
i
)
∑
j
=
1
c
e
|
|
Φ
(
x
i
)
|
|
c
o
s
(
θ
j
)
Φ(xi)=xi−οiσi
Φ
(
x
i
)
=
x
i
−
ο
i
σ
i
ο,σi
ο
,
σ
i
分别是
x,xi
x
,
x
i
的均值向量、标准偏差,通过相似度比较函数对原点矩阵非常敏感,因此需要设置一个很大的衰减因子来更新原点矩阵和方差:
{οnewσnew=ρ⋅οold+(1−ρ)⋅οb=ρ⋅σold+(1−ρ)⋅σb
{
ο
n
e
w
=
ρ
⋅
ο
o
l
d
+
(
1
−
ρ
)
⋅
ο
b
σ
n
e
w
=
ρ
⋅
σ
o
l
d
+
(
1
−
ρ
)
⋅
σ
b
由于相似度比较对
ο
ο
非常敏感,因此设置
ρ
ρ
为0.995来保证每次迭代时不会变化很大。
为了降低超参数的调节难度,作者提出自适应参数
η
η
,并得到:
LAAM=∑iN−log(pAAMyi)
L
A
A
M
=
∑
i
N
−
l
o
g
(
p
y
i
A
A
M
)
pAAMyi=e||Φ(xi)||cos(ηθyi)e||Φ(xi)||cos(ηθyi)+∑k≠yie||Φ(xi)||cos(ηθk)
p
y
i
A
A
M
=
e
|
|
Φ
(
x
i
)
|
|
c
o
s
(
η
θ
y
i
)
e
|
|
Φ
(
x
i
)
|
|
c
o
s
(
η
θ
y
i
)
+
∑
k
≠
y
i
e
|
|
Φ
(
x
i
)
|
|
c
o
s
(
η
θ
k
)
η=⎧⎩⎨⎪⎪⎪⎪1,π/3θyi,10,π/3<θyi<=π;π/30<θyi<=π/3;θ<=π/30.
η
=
{
1
,
π
/
3
<
θ
y
i
<=
π
;
π
/
3
θ
y
i
,
π
/
30
<
θ
y
i
<=
π
/
3
;
10
,
θ
<=
π
/
30.