背景知識:
Zeroshot Learning,零次學習。
模型 對於 訓練集 中 沒有出現過 的 類別,能自動創造出相應的映射: X→Y。
Low/Few-shot Learning、One-shot Learning,少/一次學習。
訓練集中,每個類別 都有樣本,但都只是 少量樣本 (甚至只有一個)。
摘要:
提出了一個Low-Shot Transfer Detector (LSTD),利用豐富的源領域(Source Domain)知識來構建一個高效的目標域(Target Domain)檢測器(幾乎不需要訓練樣例)。
主要貢獻:
- 設計了一個靈活的LSTD深層架構,以緩解Low-Shot檢測中的tranfer困難。同時,該架構結合了SSD和Faster RCNN各自的優勢。
- 其次,提出了一種新的 transfer learning framework,其中包括 Transfer Knowledge (轉移指數 TK)和 Background Depression (背景抑制 BD)正則化方法,可以分別從源域和目標域利用目標知識,加強fine-tune 。
以前的解決方法:
- weakly/semi-supervised. 引入額外的易於注釋的標簽圖像。缺點:由於訓練集的缺乏監督,檢測器的效果往往受限。 弱監督:有標簽沒有框;半監督:有標簽,部分有框。
- 對深度模型進行遷移學習。缺點:(1)當目標檢測數據集很小的時候,對目標檢測使用一般的遷移策略是不適用的(例如,簡單的使用預訓練的深度分類模型來初始化深度檢測模型)。在很小的數據集上進行微調時,通常很難分辨檢測和分類之間的區別。(2)在遷移學習中,深度檢測模型比深度分類模型更容易出現過擬合。(3)簡單的微調通常會降低可轉移度(經常會忽略源域和目標域都具有的重要的目標知識)。
TK和BD的主要作用:
TK:對每一個目標域的 proposal 遷移源域目標標簽知識,使得能夠在目標域中泛化Low-shot Learning。
BD:在目標域圖片的特征圖上加入bounding box knowledge來做額外監督,使得模型在transferring中能夠抑制背景的干擾,專注於目標。
網絡的基本結構:
圖1
First, we design bounding box regression in the fashion of SSD.
利用SSD設計bounding box regression。每一卷積層都有默認的候選框,每一層都用smooth L1來對框的回歸進行訓練。
- 訓練數據:large-scale source domain
- 訓練目的:為了學習尺度的多樣性(少樣本缺少的信息),避免重新初始化bbox回歸,減少target domain時的fine-tuning負擔
Second, we design object classification in the fashion of Faster RCNN.
用Faster RCNN設計object classification。這里就是將原始Faster RCNN的框的回歸換成了SSD的多尺度框的回歸,原始的RoI層中的特征層用SSD的卷積的中層特征代替。
實現流程如下:
- 根據SSD部分的objects的分數排序,選出region proposals篩選作為RPN的結果
- 使用ROI pooling層的middle-level卷積層,為每個proposal產生固定大小的卷積特征cube
- 不使用原有的faster rcnn的全連接層,而是在ROI pooling layer使用兩個卷積層,用於K+1分類。
優勢:
- 當參數較少時,減少了過擬合。
- 與直接的K+1類分類相比,粗到細分類,減少了遷移學習的訓練難度。
- 相較於背景來說,source 和 target中的物體共享一些相同的特性(例如清晰的邊緣,均勻的質地)。
Regularized Transfer Learning for LSTD:
圖2
- train the source-domain LSTD with a large-scale source data set.
- initialize the target-domain LSTD using the pretrained source-domain LSTD.
- use the small-scale target data to fine-tune the target-domain LSTD with the proposed low-shot detection regularization.
具體來說,首先用大量的source data 訓練圖1中的模型,得到pretained source-domain LSTD;然后用該模型初始化 target-domain LSTD;最后用文章提出的正則化方法在target-domain中fine-tune經過初始化的target-domain LSTD。
fine-tune過程中總的損失函數如下:
其中,L_main 指在LSTD中的多個尺度層的回歸損失和微調目標分類的損失(即后面的兩個卷積)。(源域與目標域相關但不同,因為low-shot旨在從少量目標數據中檢測出之前沒有出現過的類別)。因此在目標域中需要重新初始化,即源域訓練好的用來當做目標域的初始化,然后來進行微調。
為了進一步在目標域中加強low-shot detection,加入了新的正則項:L_reg,形式如下:
其中,L_BD,L_TK分別為背景抑制和知識遷移正則項。
Background-Depression (BD) Regularization:
由於復雜的背景信息會影響localization性能,所以在目標域中用object knowledge 設計了BD正則化。具體的,首先從卷積的中間層生成特征立方(candidate boxes) ,然后用groud truth bounding boxes取匹配框,去除掉這個匹配框,僅保留與背景對應的特征區域,即F_BD。最后使用L2正則化懲罰激活的F_BD。從而抑制背景信息,在僅有的target數據中更關注target的物體信息。
BD的作用:
Transfer-Knowledge (TK) Regularization:
由於源域與目標域的類別不同,所以在目標域中就要微調。但是如果只用目標域的數據進行微調,就不能充分利用源域的知識。所以提出了TK正則化,它將源域的目標標簽預測作為源知識去正則化目標網絡。此處假設的前提是target和source的物體之間有一定的相關性。具體的步驟如下:
- Source-Domain Knowledge:將training圖片分別喂到source-domain LSTD 和target-domain LSTD里面,然后將target-domain的proposals應用於source-domain LSTD的ROI池層,最終從源域目標分類器中生成知識向量:
其中a_s是 pre-softmax activation vector for each object proposal,τ是參數,可以產生soften label和richer label-relation information。
-
Target-Domian Prediction of Source-Domain Categories:將1中的target-domain LSTD微調成多任務學習框架:通過添加a source-object soften classifier at end of target-domain lSTD,然后對於每一個target proposal,該分類器會產生一個 soften prediction of source object categories:
其中a_pre是 pre-softmax activation for each proposal.
-
TK Regularization:計算knowledge p_ts of source-domain LSTD and the soften prediction p_pre of target-domain LSTD的交叉熵損失:
整個模型的訓練過程:
參考:
1. http://blog.leanote.com/post/lilac_yue/%5BAAAI2018%5DLSTD
2. https://blog.csdn.net/u011630472/article/details/89216035