深度学习之 hard negative mining (难例挖掘)
Hard Negative Mining Method 思想
hard是困難樣本,negative是負(fù)樣本,hard negative就是說(shuō)在對(duì)負(fù)樣本分類時(shí)候,loss比較大(label與prediction相差較大)的那些樣本,也可以說(shuō)是容易將負(fù)樣本看成正樣本的那些樣本。
- 例如roi里沒(méi)有物體,全是背景,這時(shí)候分類器很容易正確分類成背景,這個(gè)就叫easy negative;
- 如果roi里有二分之一個(gè)物體,標(biāo)簽仍是負(fù)樣本,這時(shí)候分類器就容易把他看成正樣本,即假陽(yáng)性(false positive),這時(shí)候就是hard negative。
hard negative mining就是多找一些hard negative加入負(fù)樣本集,進(jìn)行訓(xùn)練,這樣會(huì)比easy negative組成的負(fù)樣本集效果更好。主要體現(xiàn)在虛警率更低一些(也就是false positive少)。因?yàn)樗喈?dāng)于一個(gè)錯(cuò)題集。
如何判斷它為困難負(fù)樣本呢?也很簡(jiǎn)單,我們先用初始樣本集去訓(xùn)練網(wǎng)絡(luò),再用訓(xùn)練好的網(wǎng)絡(luò)去預(yù)測(cè)負(fù)樣本集中剩余的負(fù)樣本,選擇其中得分最高,即最容易被判斷為正樣本的負(fù)樣本為困難樣本,加入負(fù)樣本集中,重新訓(xùn)練網(wǎng)絡(luò),循環(huán)往復(fù),然后我們會(huì)發(fā)現(xiàn):咦!我們的網(wǎng)絡(luò)的分類性能越來(lái)越強(qiáng)了!假陽(yáng)性負(fù)樣本與正樣本間也越來(lái)越相似了!(因?yàn)榇藭r(shí)只有這些妖怪區(qū)域能迷惑我們的分類器了)。
Hard Negative Mining Method 使用
通常 使用 Hard Negative Mining Method 的方法為:
迭代地交替訓(xùn)練,用樣本集更新模型,然后再固定模型來(lái)選擇分辨錯(cuò)的目標(biāo)框并加入到樣本集中繼續(xù)訓(xùn)練。傳統(tǒng),我們會(huì)使用 SVM + Hard Negative Mining Method 進(jìn)行訓(xùn)練
Hard Negative Mining Method 缺點(diǎn)
那么傳統(tǒng)的 Hard Negative Mining Method 有什么 缺點(diǎn) 呢?
Hard Negative Mining Method 很難應(yīng)用到 end-to-end 的檢測(cè)模型。 因?yàn)?Hard Negative Mining Method 需要迭代訓(xùn)練,如果我們將他使用到 end-to-end 的卷積神經(jīng)網(wǎng)絡(luò),需要每次將網(wǎng)絡(luò)凍結(jié)一段時(shí)間用來(lái)生成 hard negative。而這對(duì)于使用線上優(yōu)化的算法來(lái)說(shuō)是不可能的,例如 SGD (隨機(jī)梯度下降算法)。使用 SGD 來(lái)訓(xùn)練網(wǎng)絡(luò)需要上萬(wàn)次更新網(wǎng)絡(luò),如果每迭代幾次就固定模型一次,這樣的速度會(huì)慢得不可想象。
我們可以觀察到在 fast rcnn 和 faster rcnn 中都沒(méi)有用到 Hard Negative Mining Method。這就是因?yàn)槿缟系脑?#xff0c;一般使用 SVM 分類器才能使用此方法(SVM 分類器和 Hard Negative Mining Method 交替訓(xùn)練)
總結(jié)
以上是生活随笔為你收集整理的深度学习之 hard negative mining (难例挖掘)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue功能-键盘
- 下一篇: 深度学习之边框回归(Bounding B