metric deep learning loss

来源:互联网 发布:bilibili直播mac 编辑:程序博客网 时间:2024/06/08 11:29

1. softmax loss

Forward:

Zj=wTyjxi+byj1

pj=eZjkeZk2

Lk=jqj,klogpj3

Backward:
pjZm=pj(1pj),m=j

pjZm=pjpm,mj

LkZm======jqj,klogpjZmjqj,k1pjpjZmj=mqj,k1pjpj(1pj)mjqj,k1pj(pjpm)j=mqj,k(1pj)mjqj,k(pm)j=mqj,k(1pj)mjqj,k(pm)pmqm,k

Liwk=LiZmZmwk=xTi(pmqm,i)

wkL=1/NixTi(pmqm,i)+2λwk

交叉熵softmax注意事项:
1. 在用softmaxloss训练模型时,如果学习率太大,可能会导致loss=NAN。考虑上面第(2)式子,如果j=k时,pj趋近于0,(3)loss就会nan。如果出现这种情况,可以考虑用较小的学习率。也有可能是初始化权重太大,尝试用不同的初始化策略,比如用xaiver把初始化的权重再除以10或100,尝试加batch_normalizetion层,可以把输出scale较小的范围。
2. 考虑数值计算稳定性情况下的Softmax损失函数
pj=eZjmax(Zj)keZkmax(Zj)

因为指数计算和指数求和的结果可能非常大,会出现overflow,超出浮点数的范围。

2. Center loss

Foward:

Lc=12i=1m||xicyi||22

xi:第i张图片的特征值
cyi:该图片所属分类的中心(该分类的特征值的中心)
Backward:
Lcxi=xicyi

cjLc=iδ{yi=j}(cjxi)1+iδ{yi=j}

在线更新cj:
cj+1=cjcjLc

3.Triplet Loss

阅读全文
0 0
原创粉丝点击