
偏標記學習是一個典型的弱監督學習問題,每個訓練示例都與一組候選標記相關聯,其中只有一個標記為真。
大多數現有的方法,都假設每個訓練示例的候選標記是由真實標記和隨機選取的不正確的標記組成的。然而,這種假設是不切實際的,因為候選標記總是依賴示例的。
本期 AI Drive,東南大學計算機科學與工程學院碩士生-喬聰玉,解讀其團隊發表於 NeurIPS 2021 的最新工作:示例依賴的偏標記學習。
在這項研究中,他們考慮了示例依賴的偏標記學習,並假設每個示例都與每個標記的潛在標記分布相關聯,其中標記分布代表了每個標記描述特徵的程度。描述程度越高的不正確標記更有可能被注釋為候選標記。因此,潛在標記分布是部分標記示例中必不可少的標記信息,值得用於預測模型訓練。
本文將主要分為以下 5 個部分進行介紹:
·Introduction
·Related work
·Proposed Method
·Experiment
·Conclusion
其中,第一部分(Introduction)介紹偏標記學習定義、研究示例依賴的偏標記學習的理由,以及其中運用到的其他技巧。
第二部分(Related work),簡要介紹目前在偏標記領域所用到的主流方法(包括五種傳統演算法、近兩年興起的基於深度學習演算法在偏標記領域內的應用)。
第三部分(Proposed Method)部分,是我們提出演算法的部分,此處會詳細介紹有關的演算法細節。
最後兩部分(Experiments 以及 Conclusion)介紹實驗結果和結論。
1 偏標記學習
傳統監督學習框架在建模時採用強監督的假設。即對象的類別標記信息是單一、明確的。傳統監督學習框架已經取得了巨大成功。
值得注意的是,強監督假設雖然為學習建模的過程提供了便利,但卻是對真實世界問題的一種簡化處理的方式,在許多情況下,並不成立。
實際上會受外部環境問題特性、物理資源等各方面因素的制約,學習系統往往只能從訓練樣本中獲取有限的標記信息及弱監督信息。如何在弱監督信息條件下有效進行學習建模,已經成為機器學習領域研究的熱點問題。
在偏標記學習的框架下,每個對象可同時獲得多個語義標記,但其中僅有一個標記反映對象的真實語義,該形式的學習場景在現實問題中廣泛存在。
例如,在醫療診斷中,醫生雖然可以排除病人患有某些疾病的可能性,卻難以從若干癥狀相似的疾病中給予確診。在互聯網應用中,用戶可以自由為各種在線對象提供標註,但在對象獲得的多個標註中,可能僅有一個是正確的。
再舉個例子,人們可以從圖像附屬標題文本內,獲取圖像中各個人物名稱作為語義標記,但對於圖像中特定人物、人臉而言,他與各個語義標記以及具體人物的名稱對應關係卻並未確定。以上兩個例子都是偏標記的應用的場景。
簡而言之,在互聯網應用中,用戶可以自由為各種在線對象提供標註,但在對象獲得的多個標註中,可能僅有一個是正確的。
以下是其形式化表達之一。如下圖,在偏標記訓練集內,每個事例 x 對應一個候選集合 s,真實標記隱藏在候選集合中。最終的學習目標是得到,能將示例x映射到真實標記 y 分類器(用 f 表示)。
在我們團隊工作之前,演算法偏標記的生成過程都是這樣產生:除真實標記外,其他候選標記都是經過隨機抽取出來的。
這是一種非常樸素的假設,這種假設常用來從非偏標記的數據集手動生成偏標記數據集。比如說手寫數字數據集 MNIST,對於手寫數字 1,通過演算法隨機取 2 和 5 作為偏標記數據的假陽性標記,和 1 共同作為候選標記集合。
再舉個例子,CIFAR10 數據集中的一張飛機圖片,如果手動取貓、路,和飛機三者組成的圖片作為候選標記集合。那麼這種假設顯然不合理。
例如考慮三個正常人標記數據集,對於瘦長數字1而言,標註時在兩眼發昏的情況下,是更容易把圖片中瘦長的數字標註成它的候選標註成1的候選集,而不是寬大的數字。因為1的特徵之一就是瘦長,所以也有可能把寫的瘦長的 6、7 標註成候選集,不太可能把寫得寬大的 6、7 標註為 1。
對於飛機而言,更可能把背景看上去像藍天或圖像中長得像翅膀的目標標註成飛機,而不太可能把公路上運輸的卡車標註為飛機,這是常識。
這也說明真在真實場景下,偏標記集合以視力依賴型為特徵,而不是隨機選出來的。視力依賴型的偏標記,也更加符合實際偏標記的生成過程,因而針對其設計的演算法也更加實用。
所以本文介紹的工作就是,提出示例依賴性的偏標記學習,並為其設計相應演算法。最後在 benchmark 數據集(還有 minist、fashion minist Kuzushiji minist, CIFAR10 數據集)、UCI 數據集、真實場景的偏標記數據集,這三大數據集上驗證本文提出演算法的有效性。
此處引入一個概念——標記分布 Label Distribution。近兩年,軟標記的方法比較流行。比如說 label smoothing、蒸餾等方法。較早提出軟標記學習的是我的導師耿新老師提出的標記分布 Label Distribution。
標註是標記多義性問題,是機器學習領域的熱門方向之一。
在現有的機器學習範式中,主要存在兩種數據標註方式:一是一個示例分配一個標記,二是一個示例分配多個標記。單標記學習(Single Label Learning),假設訓練集內所有示例都是用第一種方式標記。多標記學習(Multiple Label Learning),允許訓練示例用第二種方式標記,所以多標記學習可以處理的示例屬於多個類別的多義性情況。但總而言之,無論是單標記學習還是多標記學習,都只在回答一個最本質的問題——哪些標記可以描述具體事例?但卻都沒有直接回答另外更深層的問題——每個標記如何描述該示例?或每個標記對該示例的相對重要性程度如何?對於真實世界中的許多問題,不同標記的重要程度往往不一致。
例如,一幅自然場景圖像被標註了天空、水、森林和雲等多個標記,而這些標記具體描述該圖像的程度卻有所不同。
再例如,在人臉情感分析中,人的面部表情常常是多種基礎情感,例如快樂、悲傷、驚訝、憤怒、厭惡、恐懼等基礎感情。而這些基礎情感會在具體的表情中表達出不同強度。從而呈現出紛繁複雜的情感。類似的例子還有很多。
一般情況下,一旦一個事例與多個標記同時相關,這些標記對該事例不會恰好都一樣重要,會有主次先後之分。
對於類似上述例子的應用,有一種很自然的方法。對於一個示例x,將實數 d_xy(如圖)賦予每一個可能的標記,y 描述 x 的程度。這就是一個標記分布。
然而實踐中,一般標註都是以 0、1 邏輯符號數據去標註。其表達是或否的邏輯關係,所以對一個示例而言,所有標記邏輯值,構成的邏輯向量被稱為邏輯標記。例如常見的 one-hot 向量,這也是對問題的簡化方式之一。
儘管如此,數據中的監督信息,本質上是遵循某種標記分布的。例如鳥是有翅膀的,所以能飛。那顯然它可能會被標註為 bird 或 airplane,而不太可能被標註為 frog。所以對於兩者而言,對鳥圖片的描述程度是不一樣的。
但是目前的工作就是需要從邏輯標記(例如 one-hot),轉化為置信度、描述度問題。這個過程就屬於標記增強過程,簡而言之,標記增強就是將訓練樣本中的原始邏輯標記轉化為標記分布的過程。
對於示例依賴的偏標記學習而言,如何描述偏標記集合中,元素之間的關係?其實就是利用標記分布,通過標記增強的方法,恢復其中潛在的標記分布。還是剛剛的例子,對於數字 1,它的候選集合可能是 3 或 6,但這兩者中,是3對1的描述度高?還是 6 對 1 的描述度高?1 對 3 和 1 對 6 哪個相關度更高?對飛機而言,到底是鳥標記對飛機的描述度更高,還是卡車的描述度更高?飛機跟鳥更相關,還是跟卡車更相關?
例如以上這類信息的挖掘,需要藉助標記增強,增強邏輯標記的描述度和相關性,這就是標記分布。
2 偏標記學習領域相關工作
偏標記演算法從直覺上來說,可以把不正確的標記找出來,學習、使用演算法時將其排除,這個過程被稱為消歧。
對於消歧的策略,分為兩種,一是基於辨識的消歧,二是平均消歧。
在辨識消歧中,真實標記被當成隱變數,並以迭代的方式逐漸被識別出來。在平均消歧策略中,所有候選標記都是被同等對待的,最終的預測,取自於模型最後輸出的平均值。
現有大多數演算法,都通過結合廣泛使用機器學習技術與偏標記數據相匹配,完成學習任務。例如觀察每個部分標記訓練示例的可能性,定義在其候選標記集上,而不是未知的 ground -truth 標記。K 近鄰技術也可以解決偏標記問題,其通過在相似示例的候選標記中投票來確定不可見示例的類別。
對於最大邊界的技術,通過區分後驗標記和非後驗標記的建模輸出,定義了偏標記示例的權重及候選標記的置信度。傳統機器學習演算法中也有標記增強技術運用。每個偏標記的訓練示例的權重,以及後驗標記的置信度,在每輪增強後都會更新。
接下來介紹深度學習方法在偏標記領域中的應用。
首先最開始的是 D2CNN,D2CNN 是通過為圖像數據設計兩個特定的網路,再不斷學習偏標記。這之後有一篇文章介為偏標記學習設計了廣泛適用的演算法框架。這也是我們實驗室一位師姐的文章,她提出了具有一致性的風險估計和漸進的識別演算法,其演算法可以兼容任意深度模型和隨機優化器。
這篇文章正式開啟了深度學習在偏標記領域的應用。隨後重慶大學的馮磊教授,提出了 RC、CC 這兩種演算法。分別是風險一致和分類器一致的方法。但是他們所提出的這些演算法,都是假設偏標記是隨機生成,例如 RC 和 CC,都是假設生成 uniform 的過程,最終的演算法也是基於推導出來的。
PRODEN 演算法在實驗時,除了真實標記,其他每個偏標記都賦予一個伯努利概率 p,對於非真實標記,也有一定的概率被翻轉成真實標記。
3 本次研究的新方法
接下來介紹我們的演算法,整個演算法流程並不複雜。下圖形式化的表達之一。
以下是演算法模型結構圖,便於更好的理解整個演算法流程。模型分為上、下兩層。上層是輔助性網路。最後需要用到估計出的標記分布,去監督下層網路,下面網路是分類器,也就是目標網路。
例如,一張圖片,首先會進入 low level 層,推斷標記分布。其中需要用到很多信息,例如被抽取的特徵、鄰接矩陣等。benchmark 數據集內是沒有這個鄰接矩陣的,所以需要首先要抽取特徵。因為 cifar10 是原始圖像數據,直接做建模,就是鄰接矩陣直接生成的話,肯定是不準確的。
例如,卷積神經網路效果為什麼這麼好,因為其有一定的頻率不變性。那麼對於 cifar10,就需要做特徵抽取,然後用 resnet32 網路收取,抽取出來後,利用編碼器和解碼器,就是一個 VGAE 編碼器。與以前的方法不一樣的在於我們通過編碼器參數化的 Dirichlet,從 Dirichlet 分布中取到值 D。我們認為這就是一個標記分布。
下層的網路也不難,例如 high level,可以採用 MLP、感知機,作為聚合然後輸出,得出最終的結果。上面增強出來的 Label Distribution 標記分布,就用作下層網路的監督信息,使最終得出的結果更好。
上層網路,可以認為是不斷挖掘潛在標記分布的過程。
以上所提出的演算法是端到端的學習過程。
模型訓練分為幾個階段:
第一階段,是模型的預熱階段,在提到要抽取特徵,此前就需要預熱一下。這時用的是 minimal loss。直覺上講損失函數值最小的標記,可能就是真實標記。對於抽取出來的特徵,用 KNN 做鄰接矩陣。K 的值是超參。
第二階段,是標記增強的階段。VALEN 演算法在標語增強階段,目標是推斷出已知邏輯標記鄰接矩陣特徵的條件後驗— p(D)。但是如果想直接精確計算p(D)是不太現實的,所以此時需要用到一些技巧。例如我們用 q(D) 去估算 p(D), q(D) 是用 Dirichlet 作為建模。
對於前面模型編碼器輸出的 α,就作為 Dirichlet 的參數。採樣後,采出來的就是需要的標記分布。
為了更好聚合拓撲關係,可以採用圖卷積神經網路。
以下是貝葉斯變分推斷技巧,具體的可以參考我們論文的補充材料。與論文結合起來,了解詳細的推導過程。
在本文就不展開介紹了,但也是從那邊推算演化過來的。
除此之外,對於標記分布 D,則需要給其加上限制條件。對於以下的網路輸出,可以認為是一種置信度。上文的實驗(例如 PRODEN),也相應證明了網路輸出對真實標記的置信度可能是最大。所以增強後的標記分布,不能距離置信度太遠。簡而言之,不能偏離置信度。
同時,對於偏標記候選集合之外的標記,我認為其置信度為零。這是一個比較直觀的假設。例如上文提到的,鳥與飛機相關性相對較強。在標註的時候,可能就只標註為飛機和鳥,對於其他(例如 frog)類別的置信度就為零。因為這些類別相關度太低。
最後,會介紹為什麼採用迪利克雷分布。
因為狄利克雷分布從直觀上來看,分布採樣得到的值與標記分布的值很相似。其現實條件也是一樣的。因為標記分布的要求之一就是 ∑ 為 1,通過迪利克雷採樣得出的值就是類似的形式。其次,迪利克雷分布屬於類別分布,類別分布可以作為真實標記分布。所以可以採用 Dirichlet 分布表示,去挖掘潛在的標記分布。
最後在模型的訓練階段,下圖為損失函數,我們採用的是交叉熵 log 值,再加上權重。這個權重就是標記分布,通過以上函數不斷訓練,得出好的效果。
4 實驗結果
實驗部分,首先是對於數據集問題,如何生成示例依賴型的偏標記數據?其實就是用乾淨的標記去訓練網路,對於網路輸出的值,每一個輸出的值我們認為就是這個示例在這個標記上的置信度,每個標記對應的置信度與除了真實標記外最大的置信度相除,再用大部分的式子規劃一下,那麼就可以得出每個標記被翻轉出來的概率。即 one-hot 中的 0 的標記有一定幾率被翻轉成為 1。這樣就可以得出示例依賴的偏標記數據集了。
其背後的思想是把神經網路看成一個打分者,例如我在這個標記上犯錯誤的概率是多少?它就有相應的可能被翻轉過來變為 1。Benchmark datasets 和 UCI datasets 都是經過上述步驟生成。
對於真實場景下的偏標記數據,是來自各方各面的領域,有人臉、目標檢測、甚至還有音頻方面、都有涉及到。
對於下圖的 BirdSong、Soccer Player、Yahoo news,這三個數據的標記訓練集的個數是龐大的。
在示例依賴型的數據集上,我們的方法比其他幾個深度的方法都要高很多。在 uniform 數據。
對於隨機抽取一些隨機生成的偏標記過程中,我們的方法也是可比的,均值基本上都是最高的(除了在 MNIST 上)。
MNIST 數據集稍微有點落後,和 UCI 數據集一樣。
對比於傳統方法,因為大數據集的圖像數據維度較大。所以傳統方法並不太適用。但對於小數據,我們也將傳統數據增加進去了,傳統方法在小數據集上得出的效果也是很好的。一些傳統方法的表現也是很好的,如下圖。在真實場景下,一些傳統方法處理小數據級得出的效果明顯優於我們的演算法。
上文提出的演算法可能更適合處理大規模數據集,但是我們演算法與深度方法相比,還是優於深度方法。
5 總結
我們最主要的貢獻,在於首次提出示例依賴的偏標記的學習框架。
關鍵技巧,就是分為兩個網路,一個是輔助網路,另一個是主要的目標網路。輔助網路通過迭代的方式,去恢復潛在的標記分布。然後利用這個標記分布,在每個階段訓練預測模型。對於未來的工作,我們會去繼續探究其他更好的方法去學習示例依賴的偏標記學習。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/207968.html
微信掃一掃
支付寶掃一掃