triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?
鏈接:https://www.zhihu.com/question/62486208/answer/199117070
來(lái)源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
反對(duì)工業(yè)界softmax解決一切的說(shuō)法
Triplet loss通常是在個(gè)體級(jí)別的細(xì)粒度識(shí)別上使用,傳統(tǒng)的分類是花鳥狗的大類別的識(shí)別,但是有些需求是要精確到個(gè)體級(jí)別,比如精確到哪個(gè)人的人臉識(shí)別,所以triplet loss的最主要應(yīng)用也就是face identification,person re-identification,vehicle re-identification的各種identification識(shí)別問(wèn)題上
- 當(dāng)然你可以把每個(gè)人當(dāng)做一個(gè)類別來(lái)進(jìn)行分類訓(xùn)練,但是往往最后會(huì)造成softmax的維數(shù)遠(yuǎn)大于feature的維數(shù),想想resnet50 global ap出來(lái)一個(gè)2048的feature對(duì)應(yīng)到一個(gè)幾萬(wàn),幾十萬(wàn)的分類softmax就可怕。
- 另外一個(gè)結(jié)論就是triplet loss通常能比classification得到更好的feature,我個(gè)人測(cè)試triplet loss至少比classification高10個(gè)點(diǎn)。
- 還有一個(gè)優(yōu)點(diǎn)就是triplet loss 可以卡閾值,triplet loss訓(xùn)練的時(shí)候要設(shè)置一個(gè)margin,這個(gè)margin可以控制正負(fù)樣本的距離,當(dāng)feature 進(jìn)行normalization之后,可以更加方便的卡個(gè)閾值來(lái)判斷是不是同一個(gè)ID
當(dāng)然triplet loss也有缺點(diǎn),就是收斂慢,而且比classification更容易o(hù)verfitting(此條待考究,并且即使過(guò)擬合了也比classification性能要好),此外需要對(duì)輸入的數(shù)據(jù)按照l(shuí)abel進(jìn)行特別的排列,非常重要的一點(diǎn)是沒(méi)有triplet loss的API,新手小白可能連十行代碼都不到的triplet loss都寫不出來(lái),所以deep learning不只是調(diào)庫(kù)調(diào)參而已
現(xiàn)在triplet loss已經(jīng)有很多改進(jìn)版本了,可以搜索improved triplet loss, in defense of triplet loss,beyond triplet loss等論文
轉(zhuǎn)載于:https://www.cnblogs.com/Alex0111/p/8492471.html
總結(jié)
以上是生活随笔為你收集整理的triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 运送超级计算机 蓝书368
- 下一篇: 机器学习/深度学习 问题总结及解答