0
本文作者: 奕欣 | 2018-07-20 10:21 |
雷鋒網(wǎng) AI 科技評論按:本文由美國萊斯大學博士后牛力為 AI 科技評論提供的獨家稿件,未經(jīng)許可不得轉(zhuǎn)載。
細粒度分類是分類問題中一個非常有挑戰(zhàn)性的子問題。和傳統(tǒng)的粗粒度分類不同,細粒度分類不是區(qū)分不同的大類,而是區(qū)分一個大類下面的子類,比如不同品種的貓。由于不同子類之間的差異非常微小,所以細粒度分類比粗粒度分類難度更大。并且,為細粒度分類收集訓練數(shù)據(jù)也是一項十分艱巨的任務,原因如下。
首先,一個大類下面往往有大量子類。據(jù)統(tǒng)計,世界上有 14000 種鳥,很難為每一種鳥都收集足夠的訓練數(shù)據(jù)。其次,為子類標注需要專業(yè)的知識。比如標注不同種類的鳥就需要知道每一類鳥的具體細節(jié),比如嘴、翅膀、尾巴的顏色形狀等等。大多數(shù)人并不具備這種專業(yè)知識,因而能做細粒度標注的專家非常稀缺。
由于為細粒度分類收集訓練數(shù)據(jù)異常困難,注定會有很多子類沒有對應的訓練數(shù)據(jù)。對于某些種類缺乏訓練數(shù)據(jù)的情況,現(xiàn)有的研究工作主要集中于以下兩個領域:第一,收集弱監(jiān)督數(shù)據(jù),也就是標簽不準確的數(shù)據(jù),比如從網(wǎng)絡上獲取免費但標簽有噪音的數(shù)據(jù) (webly supervised learning);第二,借助類別的語義信息,把知識從有標注數(shù)據(jù)的種類轉(zhuǎn)移到?jīng)]有標注數(shù)據(jù)的種類,比如零示例學習 (zero-shot learning)。但上述兩個領域的研究都有各自的缺陷。具體來說,基于網(wǎng)絡數(shù)據(jù)學習會受到標簽噪音以及網(wǎng)絡訓練數(shù)據(jù)和測試數(shù)據(jù)之間分布差異問題的影響,而零示例學習性能不佳且忽視了大量免費可用的網(wǎng)絡數(shù)據(jù)。基于以上觀察,我們嘗試將基于網(wǎng)絡數(shù)據(jù)學習和零示例學習結合起來用來做細粒度分類,工作發(fā)表在 CVPR 2018 (spotlight):「Webly Supervised Learning Meets Zero-shot Learning: A Hybrid Approach for Fine-grained Classification」。
我們的做法如下,先選取一部分子類進行人工標注,然后為剩余的子類從網(wǎng)上下載圖片。為了描述方便,我們把人工標注的子類稱為標注子類,把利用網(wǎng)絡圖片的子類稱為網(wǎng)絡子類。標注子類和網(wǎng)絡子類構成了所有的子類。之前提到了網(wǎng)絡數(shù)據(jù)有標簽噪音和數(shù)據(jù)分布差異的問題,而人工標注的子類沒有這兩個問題。為了解決基于網(wǎng)絡數(shù)據(jù)學習的兩個問題,我們借助于類別的語義信息,將知識從標注子類轉(zhuǎn)移到網(wǎng)絡子類。類別的語義信息有很多種,包括特征 (attribute) 和詞向量 (word vector) 等等。因為特征需要專家進行標注,比較難獲取,所以我們使用從免費的維基文本中學到的詞向量。
我們方法的流程圖如下,給定一個大類,我們?yōu)闃俗⒆宇愂占斯俗⒌木_數(shù)據(jù),為剩余的網(wǎng)絡子類從網(wǎng)絡上下載圖片,然后獲取所有子類的詞向量。借助詞向量,我們建立起標注子類和網(wǎng)絡子類之間的聯(lián)系,將知識從標注子類遷移到網(wǎng)絡子類,用來解決網(wǎng)絡子類存在的標簽噪音和數(shù)據(jù)分布差異問題。同時,我們在訓練階段也使用了無標簽的測試圖片,用來減小網(wǎng)絡訓練圖片和測試圖片在數(shù)據(jù)分布上的差異??傊?,我們的學習模型把所有子類的詞向量以及標注子類、網(wǎng)絡子類和測試圖片的視覺特征作為輸入,輸出測試圖片的種類。
第一步:學習基于標注子類的詞典 (dictionary)
我們用標準的詞典學習得到基于標注子類的詞典。
第二步:從標注子類轉(zhuǎn)移知識到網(wǎng)絡子類用來解決網(wǎng)絡子類存在的問題
在上面的表達式中,第一項是標準的詞典學習,第二項讓基于標注子類的詞典和基于網(wǎng)絡子類的詞典接近,也就是把標注子類的知識轉(zhuǎn)移到網(wǎng)絡子類,第三項期望測試集上的詞向量矩陣是低秩的,因為相同子類測試圖片的詞向量應該彼此相似,第四項是在網(wǎng)絡訓練圖片上賦予不同的權重以拉近加權網(wǎng)絡數(shù)據(jù)的中心和測試數(shù)據(jù)的中心之間的距離,也就是減少網(wǎng)絡圖片和測試圖片在數(shù)據(jù)分布上的差異,第五項是用同樣的權重解決標簽噪音的問題,注意到我們用group lasso迫使分類損失矩陣的某些行稀疏,也就是強制某些網(wǎng)絡圖片的分類損失很小。這些分類損失小的網(wǎng)絡圖片對應著標簽準確的圖片,相應的權重也會更大,因為他們對訓練魯棒的分類器更重要。同時,我們對權重加了限制條件,希望在限制的搜索空間內(nèi)找到最優(yōu)的權重,可以選出標簽準確并且離測試圖片分布較近的網(wǎng)絡圖片。上述問題可以通過交替的方式求解,也就是固定其他變量,求解剩下的一個變量。通過求解上述問題,我們可以獲得測試數(shù)據(jù)的詞向量。最后,把測試數(shù)據(jù)的詞向量和測試子類的詞向量作比較,我們就可以得到測試數(shù)據(jù)的子類標簽。
在實驗部分,我們用了零示例學習常用的三個數(shù)據(jù)庫:CUB、SUN和Dogs。對每個數(shù)據(jù)庫,我們把可見子類 (seen categories) 作為標注子類,把未見子類 (unseen categories) 作為網(wǎng)絡子類和測試子類。和零示例學習不同的是,我們?yōu)槲匆娮宇悘腇lickr下載了網(wǎng)絡圖片,也就是說為未見子類提供了弱監(jiān)督的訓練數(shù)據(jù)。所以我們的學習范式可以看成弱監(jiān)督的零示例學習,或者有額外子類的弱監(jiān)督學習。以下是我們的實驗設定和實驗結果。我們比較了只使用網(wǎng)絡子類 (web subcategories) 的方法、只使用標注子類 (labeled subcategories)的方法、和二者簡單的結合。結果表明,我們的方法相比較基于網(wǎng)絡數(shù)據(jù)學習和零示例學習的簡單結合,效果取得了顯著的提升,也說明了從標注子類轉(zhuǎn)移知識到網(wǎng)絡子類用來解決網(wǎng)絡訓練數(shù)據(jù)存在的問題是一套行之有效的方法。
除了定量分析,我們還提供了一些定性分析。記得在我們學習模型的第二步,我們?yōu)榫W(wǎng)絡訓練圖片分配了不同的權重,期望選出標簽準確并且離測試圖片分布較近的網(wǎng)絡圖片。接下來,我們拿Dogs數(shù)據(jù)庫舉例,從網(wǎng)絡訓練圖片中選出權重最大和最小的幾張圖片 (我們把權重范圍設定在[0, 1.5])。從下圖中可以看出我們方法選出的高權重圖片都標簽準確,并且物體占據(jù)圖片的中間大部分區(qū)域,這也從另一個角度證明了我們方法的有效性。更多細節(jié)請參照我們的論文http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/3280.pdf。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。