CVPR 2018 | 阿里巴巴&浙大Poster論文:基於直推式無偏嵌入的零樣本學習

阿里巴巴受權發佈,做者:Jie Song、Chengchao Shen、Yezhou Yang、Yang Liu、Mingli Song。算法

大多數現有的零樣本學習(Zero-Shot Learning,ZSL)方法都存在強偏問題,所以在廣義 ZSL 設置中部署後性能不好。本文提出了一個簡單有效的方法——準徹底監督學習(QFSL)來解決此問題。在 AwA二、CUB 和 SUN 數據集上進行的實驗代表,該方法在遵循廣義 ZSL 設置的狀況下比現有方法提升了 9.3%至 24.5%,在遵循傳統 ZSL 設置下有 0.2%至 16.2%的提高。


1 引言網絡

在大規模的訓練數據集的支撐下,計算機視覺中的物體識別算法在近幾年取得了突破性的進展。可是人工收集和標註數據是一項十分耗費人力物力的工做。例如,在細粒度分類中,須要專家來區分不一樣的類別。對於如瀕臨滅絕的物種,要收集到豐富多樣的數據就更加困難了。在給定有限或者沒有訓練圖片的狀況下,如今的視覺識別模型很難預測出正確的結果。架構

零樣本學習是一類能夠用於解決以上問題的可行方法。零樣本學習區分 2 種不一樣來源的類,源類(source)和目標類(target),其中源類是有標註的圖像數據,目標類是沒有標註的圖像數據。爲了可以識別新的目標類(無標註),零樣本學習假定源類和目標類共享同一個語義空間。圖像和類名均可以嵌入到這個空間中。語義空間能夠是屬性(attribute)、詞向量(word vector)等。在該假設下,識別來自目標類的圖像能夠經過在上述語義空間中進行最近鄰搜索達成。框架

根據目標類的無標註數據是否能夠在訓練時使用,現有的 ZSL 能夠分爲 2 類:概括式 ZSL(inductive ZSL)和直推式 ZSL(transductive ZSL)。對於概括式 ZSL,訓練階段只能獲取到源類數據。對於直推式 ZSL,訓練階段能夠獲取到有標註的源類數據和未標註的目標類數據。直推式 ZSL 但願經過同時利用有標註的源類和無標註的目標類來完成 ZSL 任務。函數

在測試階段,大多數現有的概括式 ZSL 和直推式 ZSL 都假定測試圖像都來源於目標類。所以,對測試圖片分類的搜索空間被限制在目標類中。咱們把這種實驗設定叫做傳統設定(conventional settings)。然而,在一個更加實際的應用場景中,測試圖像不只來源於目標類,還可能來自源類。這種狀況下,來自源類和目標類的數據都應該被考慮到。咱們把這種設定叫做廣義設定(generalized settings)。性能

現有的 ZSL 方法在廣義設定下的效果遠遠不如傳統設定。這種不良表現的主要緣由能夠概括以下:ZSL 經過創建視覺嵌入和語義嵌入之間的聯繫來實現新的類別的識別。在銜接視覺嵌入和語義嵌入的過程當中,大多數現有的 ZSL 方法存在着強偏(strong bias)的問題(如圖 1 所示):在訓練階段,視覺圖片一般被投影到由源類肯定的語義嵌入空間中的幾個固定的點。這樣就致使了在測試階段中,在目標數據集中的新類圖像傾向於被分到源類當中。學習

圖 1. 語義嵌入空間中對可見源類的偏向示意圖。藍色圓點表示源類指定的錨點

爲了解決以上問題,本文提出了一種新的直推式 ZSL 方法。咱們假定有標註的源數據和目標數據均可以在訓練階段獲得。一方面,有標註的源數據能夠用於學習圖像與語義嵌入之間的關係。另一方面,沒有標註的目標數據能夠用於減小因爲源類引發的偏置問題。更確切地來講,咱們的方法容許輸入圖像映射到其餘的嵌入點上,而不是像其餘 ZSL 方法將輸入圖像映射到固定的由源類肯定的幾個點上。這樣有效地緩解了偏置問題。測試

咱們將這種方法稱爲準全監督學習(Quasi-Fully Supervised Learning, QFSL)。這種方法和傳統的全監督分類工做方式類似,由多層神經網絡和一個分類器組成,如圖 2 所示。神經網絡模型架構採用現有的主流架構,好比 AlexNet、GoogleNet 或者其餘框架。在訓練階段,咱們的模型使用有標註的源類數據和沒有標註的目標數據進行端到端的訓練。這使得咱們的模型有一兩個明顯的特性:(1)若是將來能夠獲得目標類的標註數據,那麼標註數據能夠直接用於進一步訓練和改進現有的網絡模型;(2)在測試階段,咱們獲得的訓練模型能夠直接用於識別來自於源類和目標類的圖像,而不須要進行任何修改。優化

本論文的主要貢獻總結以下:設計

  • 提出了準全監督學習的方法來解決零樣本學習中的強偏問題。據咱們所知,這是第一個採用直推式學習方法來解決廣義設定下零樣本學習問題。
  • 實驗結果代表咱們的方法在廣義設定下和傳統設定下都遠超現有的零樣本學習方法。


3 方法

3.1 問題的形式化

假設存在一個源數據集

,每張圖片

與相應的標籤

對應,其中

, S 表示源類中類的個數。目標數據集

, 每張圖片

與相應的標籤

對應,其中

, T 表示目標類中類的個數。ZSL 的目標就是學習以下所示的預測函數 f(∙):

其中 F(∙) 是一個得分函數,其目標是正確的標註比其餘不正確的標註具備更高的得分。W 是模型 F(∙) 的參數,F(∙) 一般使用以下的雙線性形式:

其中θ(x) 和Φ(y) 分別表示視覺嵌入和語義嵌入。得分函數一般使用帶正則化的目標函數進行優化:

其中 L_p 表示分類損失,用於學習視覺嵌入和語義嵌入之間的映射。Ω 表示用於約束模型複雜度的正則項。

本文假設給定標註源數據集 D^s,無標註目標數據集

和語義嵌入Φ,學習 ZSL 模型,使得其既能在傳統設定下又能在廣義設定下獲取良好的表現。

圖 2. QFSL模型的整體架構。標記和未標記的數據都用於訓練相同的模型。爲便於理解,將其分爲兩個部分進行描述

3.2 QFSL 模型

不一樣於以上描述的雙線性形式,咱們將得分函數 F 設計成非線性形式。整個模型由深度神經網絡實現。模型包括 4 個模塊:視覺嵌入子網絡,視覺-語義銜接子網絡,得分子網絡和分類器。視覺嵌入子網絡將原始圖像映射到視覺嵌入空間。視覺-語義銜接子網絡將視覺嵌入映射到語義嵌入子網絡。得分子網絡在語義空間中產生每一類的得分。分類器根據得分輸出最終的預測結果。全部的模塊都是可微分的,包括卷積層,全鏈接層,ReLU 層和 softmax 層。所以,咱們的模型能夠進行端到端的訓練。


3.2.1 視覺嵌入子網絡

現有的大多數模型採用了 CNN 提取獲得的特徵做爲視覺嵌入。在這些方法中,視覺嵌入函數θ是固定的。這些方法並無充分利用深度 CNN 的強大的學習能力。本文采用了預訓練的 CNN 模型來進行視覺嵌入。咱們的視覺嵌入模型的主要不一樣之處在於能夠和其餘模塊一塊兒進行優化。視覺嵌入模塊的參數記爲 W_θ。除非特別說明,咱們把第一個全鏈接層的輸出做爲視覺嵌入。


3.2.2 視覺-語義銜接子網絡

銜接圖像和語義嵌入之間的關係對 ZSL 來講很重要。這種關係能夠經過線性函數或者非線性函數來建模。本文采用了非線性函數φ將視覺嵌入映射到語義嵌入。φ由若干個全鏈接層來實現,其中每個全鏈接層後面跟了一個非線性激活函數:ReLU。銜接函數的設計依賴於上述的視覺嵌入子網絡的架構。具體來講,咱們的設計是按照所選擇 CNN 模型的全鏈接層來設計的。視覺-語義銜接子網絡和視覺嵌入網絡一塊兒進行優化。視覺-語義銜接子網絡參數記做 W_φ。


3.2.3 得分子網絡

銜接視覺嵌入和語義嵌入以後,識別任務能夠經過在語義嵌入空間中使用最近鄰搜索來實現。

給定一張圖像,咱們首先經過視覺嵌入子網絡獲得它的視覺嵌入。而後,利用視覺-語義銜接子網絡,完成從視覺嵌入到語義嵌入的映射。最後,咱們經過內積計算獲得投影獲得的視覺嵌入和語義嵌入的得分。所以,得分函數能夠表示以下:

其中 W_θ和 W_φ分別爲視覺嵌入函數和視覺-語義銜接函數的權重,Φ^* (y) 是 y 的歸一化語義嵌入:

。得分函數由單個全鏈接層來實現。它的權重使用源類和目標類的歸一化語義:

來初始化。和視覺嵌入子網絡和視覺-語義銜接子網絡不一樣的是,得分子網絡的權重是固定的,在訓練階段不參與更新。經過這種方式,咱們的模型將圖像

投影到與視覺嵌入

相近的方向上。

須要注意的是目標類的數據沒有標註,這些數據在咱們的方法中用到了訓練階段當中。所以,在訓練階段,咱們的模型對於一張給定的圖像,產生了 S+T 個得分。


3.2.4 分類器

通過得分函數後,咱們使用 (S+T) 路的 softmax 分類器產生了全部類的機率。輸入圖像的預測結果爲機率最高的那個類。


3.3 模型優化

咱們的方法採用了相似於由 (S+T) 路的 softmax 分類器的全監督分類模型,用來分類目標類和源類。可是,只有源類數據是有標註的,目標類數據沒有標註。咱們定義了準全監督損失函數來訓練提出的模型:

一般,傳統的全監督分類器的損失函數包括分類損失 L_p 和正則化損失Ω。和傳統定義不一樣,咱們提出的 QFSL 結合了一個額外的偏置損失 L_b 來緩解強偏問題:

其中,p_i 表示預測爲類 i 的機率。給定一個來自目標類的實例,該損失鼓勵模型增長全部目標類的機率和。這樣能夠防止目標類被映射到源類中。

對於分類損失 L_p,咱們採用了交叉熵。對於正則化損失 Ω,L_2 範數來約束訓練參數 W={W_θ,W_φ }。λ 和 γ 用於平衡不一樣損失之間的權重,經過交叉驗證來肯定。在訓練階段,全部標註的數據和未標註的數據混合在一塊兒做爲訓練數據。模型使用隨機梯度降低算法 (SGD) 進行優化。每個批 (batch) 訓練圖像從混合數據集中隨機抽取。實驗結果代表咱們的方法不只有效地避免了偏置問題,還幫助創建起了更好的視覺嵌入和語義嵌入之間的聯繫。


4 實驗

4.1 數據集

咱們在三個數據集上評估了咱們的方法。這三個數據集分別爲 AwA2,CUB,SUN。在實驗中,咱們採用屬性做爲語義空間,用類平均準確度衡量模型效果。


4.2 在傳統設置下的效果比較

首先咱們在傳統設置下對咱們方法和現有方法。用來作對比的現有方法分爲兩類:一類是概括式方法,包括 DAP、CONSE、SSE、ALE、DEVISE、SJE、ESZSL、SYNC;另外一類是直推式方法,包含 UDA、TMV、SMS。與此同時,還比較了一個潛在的 baseline(標記爲 QFSL-):只用有標註的源數據來訓練咱們的模型。實驗效果如表 1。能夠看出,咱們的方法大幅度(4.5~16.2%)提高了分類準確度。

表 1. 在傳統設置下的實驗比較

4.3 在廣義設置下的效果比較

大多數現有直推式方法在測試階段都採用了同訓練階段一樣的數據來評估性能。然而,若是咱們的方法也採用這種方式來評估效果是很不合理的。由於咱們的方法已經利用到了無標籤的數據來源於目標類這一監督信息。爲了解決這一問題,咱們將目標數據平分爲兩份,一份用來訓練,另外一份用來測試。而後交換這兩份數據的角色,再從新訓練一個模型。最終的效果爲這兩個模型的平均。咱們比較了咱們的方法和若干現有方法,以及一個隱含的 baseline:先訓練一個二分類器來區分源數據和目標數據,而後再在各自搜索空間中分類。實驗結果如表 2。

能夠看出,咱們模型的總體性能(調和平均數 H)有着 9.3~24.5 的明顯提升。該項指標的提升主要得益於在目標數據上的效果提高,同時又沒有在源數據上大幅度下降準確度。該結果代表,咱們的方法可以很大程度上緩解強偏問題。


5 討論

現實世界中,目標類的數量可能遠遠高於源類數量。然而,大多數現有 ZSL 數據集的源、目標數據劃分都違背了這一點。好比,在 AwA2 中,40 個類用來作訓練,10 個類用來作測試。咱們在實驗上給出了隨着源數據類別的增長,QFSL 在效果上如何變化。該實驗在 SUN 數據集上進行,72 類做爲目標類,隨機選取剩下的類做爲源類。咱們嘗試了 7 個大小不一樣的源類集,類的數量分別爲 {100,200,300,450,550,600,645}。用這些不一樣大小的源類做爲訓練集,測試咱們的方法,效果如圖 3。由圖能夠看出,隨着類別增長,模型可以學習到更多的知識,其在目標數據集上準確度愈來愈高。同時,因爲源數據和目標數據變得愈來愈不平衡,強偏問題愈來愈嚴重。咱們方法可以緩解強偏問題,於是其在效果上的優越性也愈來愈明顯。

圖 3. 準全監督在 SUN 數據集上效果

6 結論

本文提出了一種用於學習 ZSL 無偏嵌入的直接但有效的方法。這種方法假設標註的源數據和未標註的目標數據在模型訓練的過程當中可使用。一方面,將標註的源數據映射到語義空間中源類對應的點上。另一方面,將沒有標註的目標數據映射到語義空間中目標類對應的點上,從而有效地解決了模型預測結果向源類偏置的問題。在各類基準數據集上的實驗代表咱們的方法在傳統設定和廣義設定下,大幅超過了現有的 ZSL 方法。


論文:Transductive Unbiased Embedding for Zero-Shot Learning

論文連接:arxiv.org/abs/1803.11…

摘要:大多數現有的零樣本學習(Zero-Shot Learning,ZSL)方法都存在強偏問題:訓練階段看不見(目標)類的實例在測試時每每被歸類爲所看到的(源)類之一。所以,在廣義 ZSL 設置中部署後,它們的性能不好。在本文,咱們提出了一個簡單而有效的方法,稱爲準徹底監督學習(QFSL),來緩解此問題。咱們的方法遵循直推式學習的方式,假定標記的源圖像和未標記的目標圖像均可用於訓練。在語義嵌入空間中,被標記的源圖像被映射到由源類別指定的若干個嵌入點,而且未標記的目標圖像被強制映射到由目標類別指定的其餘點。在 AwA2,CUB 和 SUN 數據集上進行的實驗代表,咱們的方法在遵循廣義 ZSL 設置的狀況下比現有技術的方法優越 9.3%至 24.5%,在遵循傳統 ZSL 設置下有 0.2%至 16.2%的提高。

相關文章
相關標籤/搜索