日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Self-training在目标检测任务上的实践

發(fā)布時(shí)間:2024/10/8 174 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Self-training在目标检测任务上的实践 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?PaperWeekly 原創(chuàng) ·?作者|燕皖

單位|淵亭科技

研究方向|計(jì)算機(jī)視覺、CNN

在監(jiān)督學(xué)習(xí)中,模型都是需要有一個(gè)大量的有標(biāo)簽的數(shù)據(jù)集進(jìn)行擬合,通常數(shù)據(jù)成本、人力成本都很高。而現(xiàn)實(shí)生活中,無標(biāo)簽的樣本的收集相對(duì)就很容易很多。因此,近年來,利用大量的無標(biāo)簽樣本和少量的有標(biāo)簽樣本的半監(jiān)督學(xué)習(xí)備受關(guān)注。

本文主要介紹一種半監(jiān)督的方法——Self-training,其主要思路是:先利用有標(biāo)簽數(shù)據(jù)訓(xùn)練得到模型,然后對(duì)無標(biāo)簽數(shù)據(jù)進(jìn)行預(yù)測(cè),置信度高的數(shù)據(jù)可以用于加入訓(xùn)練集,繼續(xù)訓(xùn)練,直到模型符合要求。首先介紹了兩種經(jīng)典的 Self-training 方法,然后介紹了 Self-training 在 Kaggle 比賽上的實(shí)踐。

Pseudo-label

論文標(biāo)題:The Simple and EfficientSemi-Supervised Learning Method for Deep Neural Networks

論文來源:ICML 2013

論文鏈接:http://deeplearning.net/wp-content/uploads/2013/03/pseudo_label_final.pdf

代碼鏈接:https://github.com/iBelieveCJM/pseudo_label-pytorch

1.1 訓(xùn)練策略

Pseudo-label 是 2013 年提出的一個(gè)非常簡(jiǎn)單有效的Semi-Supervised Learning 方法,其主要思想是在一批有標(biāo)簽和無標(biāo)簽的圖像上,同時(shí)訓(xùn)練一個(gè)模型。訓(xùn)練流程如下:

Step 1:首先,同時(shí)使用有標(biāo)記和未標(biāo)記的 data,以有監(jiān)督的方式訓(xùn)練 pretrained model。總損失是有標(biāo)記和無標(biāo)記損失項(xiàng)的加權(quán)和,前面是有標(biāo)簽數(shù)據(jù)的損失部分,后面的無標(biāo)簽數(shù)據(jù)的損失部分,如下:

其中,y 代表已標(biāo)記數(shù)據(jù)的標(biāo)簽,y′ 代表了未標(biāo)記數(shù)據(jù)的偽標(biāo)簽。

通常,為了確保模型已經(jīng)從標(biāo)記的數(shù)據(jù)中學(xué)習(xí)了足夠多的信息,alpha_t 在最初的 N epoch 中,設(shè)置為 0,然后逐漸增加到 M epoch 后保持不變。如下式:

Step 2:然后,用訓(xùn)練好的 model 對(duì)一批未標(biāo)記圖像進(jìn)行預(yù)測(cè),用最大置信度作為 Pseudo-label ;

Step 3: 最后將有標(biāo)簽和偽標(biāo)簽的數(shù)據(jù)一起進(jìn)行 finetune,直到最終得到最優(yōu) model。

1.2 實(shí)驗(yàn)結(jié)果

文章指出用 600 個(gè)標(biāo)記數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,和增加 60000 個(gè)未標(biāo)記的數(shù)據(jù)和偽標(biāo)簽。從下圖可以明顯看到,通過使用未標(biāo)記數(shù)據(jù)和偽標(biāo)簽訓(xùn)練的模型具有更好地泛化能力。

Noisy Student

論文標(biāo)題:Self-training with Noisy Studentimproves ImageNet classification

論文來源:CVPR 2020

論文鏈接:https://arxiv.org/abs/1911.04252

代碼鏈接:https://github.com/google-research/noisystudent

Google AI 年提出了一種受 Knowledge Distillation 啟發(fā)的半監(jiān)督方法“Noisy Student”。

2.1 Introduction

這篇文章主要的方法簡(jiǎn)單說就是使用更大的未標(biāo)記圖像的數(shù)據(jù)集,其中大部分圖像不屬于 ImageNet 訓(xùn)練集分布,來提高 SOTA-ImageNet 的精度。

其核心思想是 train 兩種不同的模型,即“Teacher”和“Student”。教師模型首先對(duì)標(biāo)簽圖像進(jìn)行訓(xùn)練,然后對(duì)未標(biāo)記圖像進(jìn)行偽標(biāo)簽推斷。這些偽標(biāo)簽可以是 soft-label,也可以通過使用 most confident 轉(zhuǎn)換的 hard-label。

然后,將有標(biāo)記和未標(biāo)記的圖像組合在一起,并根據(jù)這些組合的數(shù)據(jù)訓(xùn)練學(xué)生模型。利用 RandAugment 作為輸入噪聲的一種形式對(duì)圖像進(jìn)行增強(qiáng),最后訓(xùn)練得到最優(yōu) model。

2.2 訓(xùn)練策略

對(duì)于一些有標(biāo)簽數(shù)據(jù)集 data1 和一些無標(biāo)注數(shù)據(jù)集 data2

第一步:在有標(biāo)簽數(shù)據(jù)集上訓(xùn)練一個(gè)模型,稱為 teacher;

第二步:利用第一步得到的模型,在未標(biāo)注數(shù)據(jù)集上進(jìn)行預(yù)測(cè),softmax 輸出結(jié)果是概率分布,一般稱為稱為 soft label,其只給出每個(gè)類別的 score,而非指定為具體某個(gè)類別,而 hard label 就是 one-hot 形式的取 max 后的結(jié)果,并且實(shí)驗(yàn)證明軟標(biāo)簽更好一些;

第三步:將有標(biāo)注數(shù)據(jù)集和偽標(biāo)簽數(shù)據(jù)集合并,然后利用 augmentation、droupout 等策略,基于這個(gè)大數(shù)據(jù)集進(jìn)行訓(xùn)練一個(gè)新的 student 模型;

第四步:將學(xué)到的 student 當(dāng)做 teacher 重新對(duì)無標(biāo)注數(shù)據(jù)集進(jìn)行打標(biāo)簽,回到第二步中,迭代直到得到最優(yōu) mdoel 為止。

2.3 實(shí)驗(yàn)

對(duì)于標(biāo)準(zhǔn)數(shù)據(jù)集,仍使用 ImageNet 2012 基準(zhǔn)數(shù)據(jù)集;

未標(biāo)注數(shù)據(jù)集來自于 JFT 數(shù)據(jù)集,它實(shí)際含有大約 3 億張圖片,盡管這些圖片實(shí)際有真實(shí)標(biāo)簽,但我們此處不需要,只當(dāng)做無標(biāo)記圖片數(shù)據(jù)集即可。

為了實(shí)現(xiàn)無標(biāo)簽圖片類別的平衡,作者拿在 ImageNet 上訓(xùn)練的 EfficientNet-B0 對(duì) JFT 數(shù)據(jù)集打標(biāo)簽,并剔除了標(biāo)簽信任度低于 0.3 的圖片,對(duì)于每個(gè)類別,挑選具有最高信任度的 13 萬張圖片,對(duì)于不足 13 萬張的類別,隨機(jī)再?gòu)?fù)制一些。

最終結(jié)果如下,可見 Noisy Student 方法在這一數(shù)據(jù)集上將 SOTA 性能提高了一個(gè)點(diǎn)。

Global Wheat Detection上的實(shí)踐

接下來,將從目前正在參加的 kaggle 比賽(Global Wheat Detection)全球小麥頭檢測(cè)來分析Semi-Supervised Learning在目標(biāo)檢測(cè)中的作用。

比賽鏈接:

https://www.kaggle.com/c/global-wheat-detection

在本競(jìng)賽中,將從室外的小麥植株圖像(包括來自全球的小麥數(shù)據(jù)集)中檢測(cè)出小麥植株的頭部,訓(xùn)練數(shù)據(jù)集涵蓋了多個(gè)區(qū)域,是來自歐洲(法國(guó),英國(guó),瑞士)和北美(加拿大)的 3,000 多張圖像,測(cè)試數(shù)據(jù)包括來自澳大利亞,日本和中國(guó)的約 1,000 張圖像。

下面是一些識(shí)別的小麥頭圖片,可以看到比賽困難點(diǎn)不僅僅是數(shù)據(jù)少,小麥頭經(jīng)常重疊、小麥頭具有多種尺寸、小麥的外觀顏色由于成熟度不同而各不相同,

3.1 訓(xùn)練策略

由于在 kaggle 圖像檢測(cè)的比賽當(dāng)中對(duì)于測(cè)試集的圖片我們是無法查看的,只有在提交后代碼運(yùn)行才能調(diào)用測(cè)試集,因此我們?cè)?kaggle 比賽使用需要對(duì) Pseudo-label 的方法做些修改。

Step 1:將有標(biāo)簽部分?jǐn)?shù)據(jù)分為兩份:訓(xùn)練集和測(cè)試集,并訓(xùn)練出最優(yōu)的 model1

Step 2:用訓(xùn)練好的 model 1 對(duì)一批未標(biāo)記圖像(測(cè)試集)進(jìn)行預(yù)測(cè),制作偽標(biāo)簽的過程中可以使用 Noisy Student 的方法,即通過圖像翻折、旋轉(zhuǎn)、縮放等對(duì)圖像進(jìn)行擴(kuò)增,以此提升我們制作的偽標(biāo)簽的準(zhǔn)確度,然后對(duì)預(yù)測(cè)的標(biāo)簽進(jìn)行篩選選擇大于預(yù)測(cè)閾值的標(biāo)簽作為偽標(biāo)簽。

Step 3:最后將有標(biāo)簽的數(shù)據(jù)(訓(xùn)練集)和偽標(biāo)簽的數(shù)據(jù)(測(cè)試集)一起進(jìn)行 finetune model 1,通過驗(yàn)證集選取 best model。

3.2 閾值選取

在目標(biāo)檢測(cè)任務(wù)中使用 Pseudo-label 方法的關(guān)鍵在于如何設(shè)置好預(yù)測(cè)閾值,由于一張圖片當(dāng)中具有多個(gè)目標(biāo),如果只是選擇預(yù)測(cè)概率較高的結(jié)果作為標(biāo)簽,那么一張圖中就會(huì)有許多目標(biāo)就沒有被標(biāo)記出來被當(dāng)作負(fù)樣本。

這樣子制作的標(biāo)簽假負(fù)例(FN)過多,但是閾值也不能偏低太低的話會(huì)引入一些錯(cuò)誤的假正例(FP)所以目標(biāo)檢測(cè)任務(wù)中的預(yù)測(cè)概率閾值成為偽標(biāo)簽制作的一個(gè)關(guān)鍵,不能太高但同時(shí)也不能太低(太低的話會(huì)引入一些錯(cuò)誤的標(biāo)簽)。

在比賽我得到的關(guān)于閾值選取的經(jīng)驗(yàn)是,當(dāng)圖像中目標(biāo)較多的情況下選取的閾值應(yīng)該要小一些這樣可以避免較多的假負(fù)例,反之在目標(biāo)少的情況選擇的閾值應(yīng)大一些,還有一個(gè)比較有效的方法是利用在訓(xùn)練集上訓(xùn)練好的模型通過滑動(dòng)閾值(自動(dòng)逐個(gè)嘗試)先搜索出模型在驗(yàn)證集上取得較好效果的預(yù)測(cè)閾值,再通過微調(diào)這個(gè)閾值測(cè)試出最適合制作偽標(biāo)簽的閾值。

在使用 Semi-Supervised Learning 成績(jī)?yōu)? 0.7720 ,沒使用是 0.7522,增加了 0.0198,效果可以說是相當(dāng)?shù)拿黠@了,排名提升了一百多名。

結(jié)論

可以看到,不論是小數(shù)據(jù)集,還是大數(shù)據(jù)集,Self training 都是一種有效的漲點(diǎn)方法,尤其是,在像 Kaggle 這樣的比賽中,相信這項(xiàng)技術(shù)是很有用的,因?yàn)橥ǔ<词故禽p微的分?jǐn)?shù)提高也能讓你在排行榜上得到提升。

更多閱讀

#投 稿?通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。

總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。

?????來稿標(biāo)準(zhǔn):

? 稿件確系個(gè)人原創(chuàng)作品,來稿需注明作者個(gè)人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請(qǐng)?jiān)谕陡鍟r(shí)提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會(huì)添加“原創(chuàng)”標(biāo)志

?????投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請(qǐng)單獨(dú)在附件中發(fā)送?

? 請(qǐng)留下即時(shí)聯(lián)系方式(微信或手機(jī)),以便我們?cè)诰庉嫲l(fā)布時(shí)和作者溝通

????

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結(jié)

以上是生活随笔為你收集整理的Self-training在目标检测任务上的实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。