弱監督綜述文章總結

主要參考周志華老師的綜述文章:A brief introduction to weakly supervised learning

強烈建議大家讀一下這篇文章,讀這一篇文章收穫很多,這裡總結一下

論文摘要

監督學習通過訊息大量的訓練樣本來構建預測模型,其中每個訓練樣本都有一個標籤來知名其真值(ground-truth),儘管現在監督學習技術已經獲得了很大的成功,但是值得注意的是,在許多任務中,由於數據標註過程的成本過高,很難獲得像全部真值這樣的強標註信息。因此採用弱監督的機器學習技術是可取的。本文綜述一些弱監督學習的一些研究進展,主要集中關注集中典型的弱監督類型:不完全監督:只有部分訓練數據含有標籤,不確切監督:訓練數據僅僅具有粗粒度的標註信息,不精確監督:標註信息不總是真值。

為何要應用弱監督學習的技術

機器學習,深度學習在很多任務中獲得很大的成功,尤其是在監督學習中,深度學習,機器學習取得了突破性的進展。
例如分類和回歸的監督任務中,預測模型需要從大量有標註訓練樣本中學習,訓練樣本包含兩部分:第一部分是對象的特徵向量,第二部分是真值標籤。在分類任務中,label表示訓練樣本的類別,在回歸任務中,標籤是一個與樣本相對應的實數值。這些模型依賴強監督信息,例如深度學習模型依賴大量的標註數據,在實際生產中,數據的標註成本很高,獲取大量的有標註樣本難度大。
因此利用弱監督學習,利用大量無標註或者粗糙標註的樣本來進行模型的學習,這樣能夠有效的利用數據,提升模型的性能

弱監督學習的三種類型

不完全監督(incomplete supervision): 只有一部分的訓練數據含有標註信息,其他數據則沒有標籤

不確切監督(inexact supervision): 訓練數據僅僅具有粗粒度的標註信息,例如在圖像領域中的實例分割任務,僅僅含有bbox標註

不精確監督(inaccurate supervision): 訓練數據的標註信息有誤並不完全正確

不完全監督(incomplete supervision)

不完全監督主要應對只有訓練集的一個很小的子集含有標籤,而大量的樣本為無標註的樣本。如果僅僅採用有標註的信息訓練模型,往往不能得到一個泛化能力強,
非常魯棒的模型。

應對此不完全監督任務的兩種解決方案是:主動學習和半監督學習

主動學習(active learning)

主動學習假設存在一個oracle(我也不知道怎麼翻譯,神諭???),主動學習假設可以從oracle查詢選定的未標註實例的真值標籤。

簡單起見,假設模型的損失依賴於詢問的數目,主動學習的目標就是最小化詢問的數目,以此來最小化訓練模型的損失

對於給定的一部分數目較少的標註樣本和大量的無標註樣本,主動學習試圖尋找最有價值的無標註樣本及逆行詢問(query),有兩種廣泛使用的選擇策略:信息性與代表性。信息性衡量一個無標註樣本降低統計模型不確定性的程度;代表性衡量無標註樣本對於表達輸入範式的有用程度。

不確定性採樣與基於委員會查詢的方法是信息性的代表方法,不確定性採樣是訓練一個學習器,然後選擇在這個學習器上有最低置信度的樣本,進行查詢。後者就是訓練多個學習器,然後選擇這些學習器最不贊同的無標註樣本就行查詢。而基於表達的方法主要是利用無標註樣本的聚類結果,通常採用聚類的方式實現。

基於信息性的方法的主要缺點就是這種方法嚴格依賴於已標註的樣本來選擇query樣本,當標註樣本非常少的時候,這種方法的效果比較差。而基於表達性的方法則主要依賴於無標註樣本的聚類結果,特別是當有標註樣本非常少的時候,依賴性更加嚴重。因此近些年的一些方法試圖平衡信息性與表達性。

近些年有很多關於主動學習的理論研究,例如:對於可實現的情況(realizable case)(在假設類中存在數據可完全分離假設),利用主動學習的方法,樣本的複雜度可以獲得指數提升。對於不可實現的情況(unrealizable case)(在假設類中不存在任何假設可以將數據完全分離),已經被證明,沒有關於噪聲模型的假設,主動學習的上界與下界相匹配,也就是主動學習沒有什麼用。已經證明,假設Tsybakov噪聲模型,對於有界噪聲,主動學習可獲得指數級的提升。如果能夠開發一些特殊的數據特徵,例如多視圖,主動學習對於無界的噪聲依然可用獲得指數級的提升。總之,即使對於很困難的情況,通過精妙的設計主動學習依然能獲得提升

半監督學習(semi-supervised learning)

半監督學習無需人工的參與,自動開發無標註的數據,來提升模型的性能。

存在一種特殊的半監督學習,稱為直推式學習(transductive learning);直推式學習和(純)半監督學習的主要區別在於,它們對測試數據,即訓練過的模型需要進行預測的數據,假設有所不同。直推式學習持有「封閉世界」假設,即,測試數據是事先給出的、目標是優化測試數據的性能;換言之,未標註數據正是測試數據。純半監督式學習則持有「開放世界」假設,即,測試數據是未知的,未標註數據不一定是測試數據

在半監督學習中有兩個主要的假設就是:聚類假設和流形假設,二者都是關於數據分佈的假設。前者假設數據具有連續的聚類結構,因此在相同聚類簇中的結果有相同的類別。後者假設數據依賴於流形,因此相近的實例具有相同的類別。這兩種假設都依賴於相似的數據點有相似的輸出,因此無標註的數據對相似點的發現有幫助。

半監督學習有四種主要的方法:生成式方法,基於圖的方法,低密度分離方法,基於不一致的方法

生成式方法假設有標註與無標註的樣本由同一個連續模型生成。因此無標註樣本的label作為生成式模型的丟失值,採用EM算法評估。這些模型的不同點在於使用不同的生成式模型來擬合數據,為了能夠得到更好的效果通常需要domain的知識來獲得充足的生成式模型,也有很多人嘗試去混合生成式模型與判別式模型。

基於圖的方法構建一張圖,節點表示訓練實例,邊表示節點之間的關係(相似度或者距離),然後利用某種準則在圖中傳遞label信息。這種方法空間以及時間複雜度高,限制擴展性。

低密度分離的方法強迫使邊界線穿過密度較低的區域,代表性的方法就是半監督SVM。

基於不一致的方法式使用不同的學習器聯合開發無標註數據,在這期間,各個學習器之間的不一致性是訓練過程繼續的重要因素。以兩個學習器為例,在每次迭代中,每個學習器都選擇自身置信度最大的label作為這個實例的偽標籤去訓練前一個分類器。通過ensemble的方法往往可以獲得更好的效果。這種基於不一致方法提供了一種將主動學習與半監督學習相互聯合的方法,除了聯合訓練之外,對於幾個分類器置信度均較低或者雖然大家的預測置信度都較高,但是label不一樣的實例可以選擇作為query。

對於無標註樣本的使用有時候會讓模型的表現力變得更差,由於無標註樣本的使用通常會導致多偶遇一個模型選擇,因此不充分的選擇可能導致更差的表現,為了使半監督學習更加safer,通常聯合多個模型來優化。參看文章:Towards making unlabeled data never hurt

基於不一致的方法參考:Theoretical foundation of co-training and disagreement-based algorithms

不確切監督(inexact supervision)

不確切監督關注給定了監督信息,但是監督信息不夠準確,僅僅右粗粒度的標籤可用,例如在instence segmentation中僅僅含有bbox標註,而沒有像素級別的標註。

例如,在藥物活性預測的問題中,其目標是建立一個模型學習已知分子的知識,來預測一個新的分子是否適合製造一種特定藥物。一個分子可以有很多的低能量形狀,而這些分子是否能用於製藥取決於這些分子是否具有某些特殊的形狀。然而即使對於已知的分子,人類專家也僅知道該分子是否適合製藥,而不知道其中決定性的分子形狀是什麼。

形式化表達為,該任務是從訓練數據集中學習,其中每個分子被稱為一個包。每個分子的每個形狀,是一個示例。

如果一個對應的分子是一個 positive 包,如果存在x的某一個形狀是正的,同時是未知的。其目標是為未見過的包預測標籤。該方法被稱為多示例學習。

已經有許多有效的算法被開發出來並應用於多示例學習。實際上,幾乎所有的有監督學習算法都有對等的多示例算法。大多數算法試圖調整單示例監督學習算法,使其適配多示例表示,主要是將其關注點從對示例的識別轉移到對包的識別;一些其他算法試圖通過表示變換,調整多示例表示使其適配單示例算法。還有一種類型,將算法分為三類:一個整合了示例級響應的示例空間範式,一個把 包 視作一個整體的 包 空間範式,以及一個在嵌入特徵空間中進行學習的嵌入空間範式中。請注意,這些示例通常被視為 i.i.d. 樣本,然而,一些文獻表明,多示例學習中的示例不應該被認為是獨立的,儘管這些包可以被視為 i.i.d. 樣本,並且已經有一些有效的算法是基於此見解進行開發的。

多示例學習已成功應用於各種任務,如圖像分類/檢索/注釋,文本分類,垃圾郵件檢測,醫學診斷,面部/對象檢測,對象類別發現,對象跟蹤等。在這些任務中,將真實對象(例如一幅圖像或一個文本文檔)視為一個包是很自然的。然而,不同於藥物活性預測這類包中包含天然示例(分子的各種形狀)的例子,需要為每個包生成示例。包生成器制定如何生成示例來構成包。通常情況下,可以從圖像中提取許多小的圖像塊作為其示例,而章節/段落甚至句子可以用作文本文檔的示例。儘管包生成器對學習效果有重要影響,但最近才出現關於圖像包生成器的全面研究,研究揭示了一些簡單的密集取樣包生成器比一些複雜的生成器性能更好。

多示例學習的初始目標是為未見過的包預測標籤;然而,已有研究嘗試識別那些之所以讓正包變正的關鍵示例(key instance)[31,60]。這在諸如沒有細粒度標記訓練數據的感興趣區域定位的任務中特別有用。值得注意的是,標準的多示例學習假定每一個正包必須包含一個關鍵示例,而還有其它研究假定不存在關鍵示例,每一個示例都對包標籤有貢獻;甚至假定存在多個概念,而僅當一個包包含滿足所有概念的示例時,該包才是正的。

早期的理論結果表明多示例學習對於包中每個示例都由不同的規則分類的異質(heterogeneous)案例來說,是很難的,對於以相同的規則分類所有示例的同質性(homogeneous)案例就是可學習的。幸運的是,幾乎所有的實際多示例任務都屬於同質性案例。這些分析假定 bag 中的示例是獨立的。而不假定示例的獨立性的分析更具挑戰性,這類研究也出現得較晚,其揭示了在同質性類中,至少存在某些可以用包間的任意分佈來學習的案例。儘管如此,與其在算法和應用上的繁榮發展相反,多示例學習的理論研究成果非常少,因為分析的難度太大。

不精確監督(inaccurate supervision)

不精確監督關注的問題是對於給定的監督信息,有一些是錯誤的,也就是監督信息不總是ground-truth的情況。

一個相對典型的場景就是在有標籤噪聲的情況下進行學習。目前很多理論研究相關問題,其中大多數均假設存在隨機的分類噪聲,即標籤受隨機噪聲的影響。基本的思想就是識別潛在的誤分類樣本,然後嘗試對其進行修正。

數據編輯(data-editing)方法構建了相對鄰域圖(relative neighborhood graph),其中每一個節點對應一個訓練樣本,而連接兩個不同標籤的節點的邊被稱為切邊(cut edge)。然後,測量 一個切邊的權重統計量,直覺上,如果一個示例連接了太多的切邊,則該示例是可疑的。可疑的示例要麼被刪除,要麼被重新標記。值得注意的是,這種方法通常依賴於諮詢鄰域信息;由於當數據很稀疏時,鄰域識別將變得更不可靠,因此,在高維特徵空間中該方法的可靠性將變弱。

近期出現的有趣的不準確監督的場景是眾包模式(crowdsourcing),這是一種流行的將工作外包給個人的範式。對於機器學習來說,用眾包模式為訓練數據收集標籤是一種經濟的方式。具體來說,未標記的數據被外包給大量的工人來標記。在著名的眾包系統 Amazon Mechanical Turk 上,用戶可以提交一項任務,例如將圖片標註為「樹」或「非樹」,然後職工完成工作以獲取少量報酬。通常這些工人來自世界各地,每個人都可以執行多個任務。這些職工通常互相獨立,報酬不高,並通過自己的判斷標記數據。這些職工的標記質量參差不齊,但標記質量信息對於用戶來說是不可見的,因為工人的身份是保密的。在這些職工中可能存在「垃圾製造者」,幾乎用隨機的標籤來標記數據(例如,用機器替代人類賺取報酬),或「反抗者」,故意給出錯誤的標籤。此外,某些任務可能對一些人來說太難而無法完成。使用眾包返回的不準確監督信息來保證學習性能是非常困難的。

很多研究嘗試用眾包標籤推斷真值標籤。多數人投票策略得到了集成方法的理論支持,在實踐中得到了廣泛使用並有很好的表現,因此通常作為基線標準。如果預期可以對工人質量和任務難度建模,那麼通過為不同的工人在不同的任務上設置權重,則可以獲得更好的效果。為此,一些方法嘗試構建概率模型然後使用 EM 算法進行評估 [77,78]。人們也使用了極小極大熵方法。概率模型可以用於移除垃圾製造者。近期人們給出了移除低質量工人的一般理論條件。

在機器學習中,眾包通常用於收集標籤,在實踐中,模型的最終性能,而不是這些標籤的質量,才是更重要的。目前已有很多關於從低能老師和眾包標籤學習的研究,這和用帶噪聲標籤學習是很接近的。但其中的區別在於,對於眾包設定而言,人們可以方便地、重複地對某個示例提取眾包標籤。因此,在眾包數據學習中,考慮經濟性和最小化眾包標籤的充分數量是很重要的,即有效眾包學習的最小代價。很多研究專註於任務分配和預算分配,嘗試在準確率和標註開銷之間取得平衡。為此,非適應性的任務分配機制(離線分配任務)和適應性機制(在線分配任務)都得到了在理論支持下的研究。需要注意的是,多數研究採用了 Dawid–Skene 模型,其假設不同任務的潛在成本是相同的,而沒有探索更複雜的成本設置。

設計一個有效的眾包協議也是很重要的。一些文獻中提供了「不確定」選項,從而使工人在不確定的時候不被迫使給出確定的標籤。該選項可以幫助標記的可靠性獲得有理論支持的提升。一些文獻中提出了一種「double or nothing」的激勵兼容機制,以確保工人能提供基於其自己的信心的標註,誠實地工作。在假定每位工人都希望最大化他們的報酬的前提下,該協議被證實可以避免垃圾製造者的出現。

參看鏈接://academic.oup.com/nsr/article/5/1/44/4093912

更多技術文章請點擊查看