triplet loss后面不收敛_你的神经网络真的收敛了么?
1、為什么小模型的作為backbone效果會差?
在深度學習目標檢測(圖像分割)領域,我們發現當我們使用層數越深,并且在imagenet上表現越好的分類網絡作為backbone時,它的檢測和分割效果越好效果越好。比如我們使用resnet101作為backbone時候,faster_rcnn在coco2017檢測數據集上的mAP可以達到40.1,而使用resnet50作為backbone時候,mAP只達到37.1。而ssd使用resnet50作為backbone時候,mAP達到30.6,使用mobilenet作為backbone只達到21.7。參看gluoncv公布的訓練結果。
那為什么使用mobilenet這種小網絡會比resnet101這種大網絡效果差這么多呢?主流的想法是小網絡的容量小、表現效果差,等等。
那到底是那么原因呢?我們可以觀察gluoncv官網的ssd_mobilenet[1]和ssd_resnet50[2]在coco上的訓練log。我們發現ssd_resnet50[2]的CrossEntropy和SmoothL1最終收斂到2.14+,和1.22+左右,而ssdmobilenet 的CrossEntropy和SmoothL1最終收斂到2.84+,和3.29+左右。同樣我們可以去觀察gluoncv官網的faster_rcnn分別在resnet50和在resnet101上的訓練loss,我們可以發現loss收斂的越小模型在coco 2017的驗證集上的mAP越高。并且當backbone使用fpn的方法增大了模型的體積,模型的loss會將的更低,相應的mAP也越高。由此我個人認為使用小模型的作為backbone的遷移學習任務(尤其是目標檢測任務)效果差的真正原因是模型欠擬合。
2、你的神經網絡真的收斂了么?
既然知道小網絡作為backbone效果差的真正原因是模型欠擬合,那如果我們要提高小網絡的效果,最主要的任務就是降低小網絡的loss(當然大網絡的loss如果被進一步降低效果自然越好,比如可以觀看faster_rcnn+fpn+resnet101就比faster_rcnn+resnet101的loss低一點點,當然效果也就提升一點點)。
而我們不妨假設如果小網絡最終”收斂“的loss如果可以達到大網絡收斂的loss,那小網絡能否達到大網絡的效果呢?可能由于小網絡的容量小,參數少,很難收斂到大網絡的最終收斂的loss。當然方法是人想的,不然怎么能發paper。
我個人認為降低小網絡的loss主要有兩種方式:
1、提高效果的模型體積,如FPN,DLA,shortcut,concat 等等。不過當模型體積增大到一定程度,他所能得到的收益也越小,比如可以觀看gluoncv官網的log。faster_rcnn+fpn+resnet101就比faster_rcnn+resnet101的loss低一點點,當然效果也就提升一點點。而faster_rcnn+fpn+resnet50就比faster_rcnn+resnet50的loss低很多,當然效果也就提升也高了很多。
2、改變訓練方式,比如很早提出的知識蒸餾,2018年的cascade rcnn和snip,以及2019年的各種anchor free,都是改變訓練方式,雖然他們的動機各不相同,但是我覺得大部分都是進一步降低loss,提高模型的效果。
第一種方式對于個人覺得對于做模型壓縮的人來說不太可取,而第二種方式才是主要考慮方向。對于改變訓練方式的方法,讀者可以參看我的上一篇文章,對抗蒸餾,使用對抗生成網絡和cosine attention的機制,將大網絡的知識遷移到小網絡,進一步降低小網絡最終的收斂loss。目前開放的使用ssd_resnet50作為teacher net ssd_mobilenet作為student net在voc數據集上將ssd_mobilenet的CrossEntropy和SmoothL1最終收斂到1.388+ 0.659+,mAP達到78.2+,而原始ssd_mobilenet在voc上的CrossEntropy和SmoothL1最終收斂到1.962+ 0.944+,mAP達到75.4,由于gpu資源限制目前在coco上還沒訓練完。
瘋狂三角肌:GAN-KD for one-stage object-detection?zhuanlan.zhihu.com訓練log地址為,記得給star啊。
p517332051/GAN-Knowledge-Distillation-SSD?github.com通過這種方法,我發現小網絡并非不是不可以繼續收斂,而是訓練方式得到改善自然可以繼續降低他的loss,而隨之loss降低,網絡的效果可以進一步提升。期望我的方法能起到拋磚引玉的效果,能推動學術界和工業界神經網絡壓縮的工作的進展。
參考
總結
以上是生活随笔為你收集整理的triplet loss后面不收敛_你的神经网络真的收敛了么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad各种快捷键大全(所有cad快捷键大
- 下一篇: 电脑cpu四核8线程(四核八线程的CPU