主要來源:周志華《A Brief Introduction to Weakly Supervised Learning》(2018.1)
原鏈接:
Lori-淺談弱監(jiān)督學(xué)習
弱監(jiān)督學(xué)習綜述
在機器學(xué)習領(lǐng)域,學(xué)習任務(wù)可大致劃分為兩類,一種是監(jiān)督學(xué)習,另一種是非監(jiān)督學(xué)習。通常,兩者都需要從包含大量訓(xùn)練樣本的訓(xùn)練數(shù)據(jù)集中學(xué)習預(yù)測模型,每個訓(xùn)練樣本對應(yīng)于事件/對象。
監(jiān)督學(xué)習的訓(xùn)練數(shù)據(jù)由兩部分組成:描述事件/對象的特征向量(x),以及 groud-truth 的標簽(y)。
而非監(jiān)督學(xué)習的訓(xùn)練數(shù)據(jù)只有一個部分:描述事件/對象的特征向量(x),但是沒有標簽(y)。
分類問題和回歸問題是監(jiān)督學(xué)習的代表,聚類學(xué)習是非監(jiān)督學(xué)習的代表。在分類中,標簽對應(yīng)于訓(xùn)練樣本屬于哪一類。在回歸中,標簽對應(yīng)于該示例的真實值響應(yīng)。
對于分類問題來說,x是一些西瓜,y是屬于的類別,好的西瓜或者壞的西瓜。現(xiàn)在我們已經(jīng)知道每一個西瓜是好的或壞的,如果我們有一個新的西瓜,我們需要根據(jù)之前的經(jīng)驗判斷它是好的或者壞的。
對于回歸問題來說,x是西瓜,y是真實值響應(yīng)。我們知道這個西瓜是3000日元,這個西瓜是4000日元,這個西瓜是3500日元,如果我們有一個新的西瓜,我們需要根據(jù)之前的經(jīng)驗去預(yù)測這個西瓜多少錢。
對于聚類問題來說,我們只知道我們有這些西瓜,x是西瓜,也許他們有一些不同之處,也許是更好吃或不好吃,也許是更便宜或不便宜,我們需要計算機自己去找到一些特征,將這些相似的西瓜聚成一類,如果我們有一個新的西瓜,需要判斷它屬于哪一類。

盡管當前監(jiān)督學(xué)習技術(shù)已經(jīng)取得了巨大的成功,但是值得注意的是,由于數(shù)據(jù)標注過程的成本太高,很多任務(wù)很難獲得如全部真值標簽這樣的強監(jiān)督信息。而無監(jiān)督學(xué)習由于學(xué)習過程太過困難,它的發(fā)展緩慢。因此,希望機器學(xué)習技術(shù)能夠在弱監(jiān)督狀態(tài)下工作。
弱監(jiān)督學(xué)習
弱監(jiān)督學(xué)習可以分為三種典型的類型,不完全監(jiān)督(Incomplete supervision),不確切監(jiān)督(Inexact supervision),不精確監(jiān)督(Inaccurate supervision)。
不完全監(jiān)督是指,訓(xùn)練數(shù)據(jù)中只有一部分數(shù)據(jù)被給了標簽,有一些數(shù)據(jù)是沒有標簽的。
不確切監(jiān)督是指,訓(xùn)練數(shù)據(jù)只給出了粗粒度標簽。我們可以把輸入想象成一個包,這個包里面有一些示例,我們只知道這個包的標簽,Y或N,但是我們不知道每個示例的標簽。
不精確監(jiān)督是指,給出的標簽不總是正確的,比如本來應(yīng)該是Y的標簽被錯誤標記成了N。

最左邊是不完全監(jiān)督,即我們可以看到有一些西瓜有標簽,而有一些西瓜沒有標簽,標注并不完全。
中間的是不確切監(jiān)督。對于這種情況,我們可以把這個想象成一個包,只知道這里面有西瓜,但是不知道西瓜在哪個位置,也不知道有幾個,這種情況叫不確切監(jiān)督。
最右邊的是不精確監(jiān)督。即假設(shè)我們有一些西瓜,但是有一些被錯誤標注為菠蘿,那我們稱之為不精確監(jiān)督。
我們將分別對待這些類型的弱監(jiān)督學(xué)習,但值得一提的是,在實際操作中,它們經(jīng)常同時發(fā)生。
比如,在圖像分類任務(wù)中,訓(xùn)練數(shù)據(jù)的Groud-Truth標簽由人類注釋者給出; 雖然很容易從互聯(lián)網(wǎng)上獲取大量圖像,而由于人工成本,只能注釋一小部分圖像。(不完全監(jiān)督)
在重要目標檢測中,我們常常僅有圖片級標簽,而沒有對象級標簽。(不確切監(jiān)督)
在眾包數(shù)據(jù)分析中,當圖像標記者粗心或者疲倦時,或者有些圖片很難去分類時,這將會導(dǎo)致一些標簽被標記錯誤。(不精確監(jiān)督)
針對這三種典型的弱監(jiān)督學(xué)習,我們可以考慮使用不同的技術(shù)去進行改善和解決。
為了解決不完全監(jiān)督,我們可以考慮兩種主要技術(shù),主動學(xué)習和半監(jiān)督學(xué)習。一種是有人類干預(yù)的,一種是沒有人類干預(yù)的。
為了解決不確切監(jiān)督,我們可以考慮多示例學(xué)習。
為了解決不精確監(jiān)督,我們考慮帶噪學(xué)習。
主動學(xué)習(active learning)
主動學(xué)習假設(shè)存在一個oracle,主動學(xué)習假設(shè)可以從oracle查詢選定的未標注實例的真值標簽。
簡單起見,假設(shè)模型的損失依賴于詢問的數(shù)目,主動學(xué)習的目標就是最小化詢問的數(shù)目,以此來最小化訓(xùn)練模型的損失
對于給定的一部分數(shù)目較少的標注樣本和大量的無標注樣本,主動學(xué)習試圖尋找最有價值的無標注樣本及逆行詢問(query),有兩種廣泛使用的選擇策略:信息性與代表性。信息性衡量一個無標注樣本降低統(tǒng)計模型不確定性的程度;代表性衡量無標注樣本對于表達輸入范式的有用程度。
不確定性采樣與基于委員會查詢的方法是信息性的代表方法,不確定性采樣是訓(xùn)練一個學(xué)習器,然后選擇在這個學(xué)習器上有最低置信度的樣本,進行查詢。后者就是訓(xùn)練多個學(xué)習器,然后選擇這些學(xué)習器最不贊同的無標注樣本就行查詢。而基于表達的方法主要是利用無標注樣本的聚類結(jié)果,通常采用聚類的方式實現(xiàn)。
基于信息性的方法的主要缺點就是這種方法嚴格依賴于已標注的樣本來選擇query樣本,當標注樣本非常少的時候,這種方法的效果比較差。而基于表達性的方法則主要依賴于無標注樣本的聚類結(jié)果,特別是當有標注樣本非常少的時候,依賴性更加嚴重。因此近些年的一些方法試圖平衡信息性與表達性。
近些年有很多關(guān)于主動學(xué)習的理論研究,例如:對于可實現(xiàn)的情況(realizable case)(在假設(shè)類中存在數(shù)據(jù)可完全分離假設(shè)),利用主動學(xué)習的方法,樣本的復(fù)雜度可以獲得指數(shù)提升。對于不可實現(xiàn)的情況(unrealizable case)(在假設(shè)類中不存在任何假設(shè)可以將數(shù)據(jù)完全分離),已經(jīng)被證明,沒有關(guān)于噪聲模型的假設(shè),主動學(xué)習的上界與下界相匹配,也就是主動學(xué)習沒有什么用。已經(jīng)證明,假設(shè)Tsybakov噪聲模型,對于有界噪聲,主動學(xué)習可獲得指數(shù)級的提升。如果能夠開發(fā)一些特殊的數(shù)據(jù)特征,例如多視圖,主動學(xué)習對于無界的噪聲依然可用獲得指數(shù)級的提升??傊?,即使對于很困難的情況,通過精妙的設(shè)計主動學(xué)習依然能獲得提升
半監(jiān)督學(xué)習(semi-supervised learning)
半監(jiān)督學(xué)習無需人工的參與,自動開發(fā)無標注的數(shù)據(jù),來提升模型的性能。
存在一種特殊的半監(jiān)督學(xué)習,稱為直推式學(xué)習(transductive learning);直推式學(xué)習和(純)半監(jiān)督學(xué)習的主要區(qū)別在于,它們對測試數(shù)據(jù),即訓(xùn)練過的模型需要進行預(yù)測的數(shù)據(jù),假設(shè)有所不同。直推式學(xué)習持有「封閉世界」假設(shè),即,測試數(shù)據(jù)是事先給出的、目標是優(yōu)化測試數(shù)據(jù)的性能;換言之,未標注數(shù)據(jù)正是測試數(shù)據(jù)。純半監(jiān)督式學(xué)習則持有「開放世界」假設(shè),即,測試數(shù)據(jù)是未知的,未標注數(shù)據(jù)不一定是測試數(shù)據(jù)
在半監(jiān)督學(xué)習中有兩個主要的假設(shè)就是:聚類假設(shè)和流形假設(shè),二者都是關(guān)于數(shù)據(jù)分布的假設(shè)。前者假設(shè)數(shù)據(jù)具有連續(xù)的聚類結(jié)構(gòu),因此在相同聚類簇中的結(jié)果有相同的類別。后者假設(shè)數(shù)據(jù)依賴于流形,因此相近的實例具有相同的類別。這兩種假設(shè)都依賴于相似的數(shù)據(jù)點有相似的輸出,因此無標注的數(shù)據(jù)對相似點的發(fā)現(xiàn)有幫助。
半監(jiān)督學(xué)習有四種主要的方法:生成式方法,基于圖的方法,低密度分離方法,基于不一致的方法
生成式方法假設(shè)有標注與無標注的樣本由同一個連續(xù)模型生成。因此無標注樣本的label作為生成式模型的丟失值,采用EM算法評估。這些模型的不同點在于使用不同的生成式模型來擬合數(shù)據(jù),為了能夠得到更好的效果通常需要domain的知識來獲得充足的生成式模型,也有很多人嘗試去混合生成式模型與判別式模型。
基于圖的方法構(gòu)建一張圖,節(jié)點表示訓(xùn)練實例,邊表示節(jié)點之間的關(guān)系(相似度或者距離),然后利用某種準則在圖中傳遞label信息。這種方法空間以及時間復(fù)雜度高,限制擴展性。
低密度分離的方法強迫使邊界線穿過密度較低的區(qū)域,代表性的方法就是半監(jiān)督SVM。
基于不一致的方法式使用不同的學(xué)習器聯(lián)合開發(fā)無標注數(shù)據(jù),在這期間,各個學(xué)習器之間的不一致性是訓(xùn)練過程繼續(xù)的重要因素。以兩個學(xué)習器為例,在每次迭代中,每個學(xué)習器都選擇自身置信度最大的label作為這個實例的偽標簽去訓(xùn)練前一個分類器。通過ensemble的方法往往可以獲得更好的效果。這種基于不一致方法提供了一種將主動學(xué)習與半監(jiān)督學(xué)習相互聯(lián)合的方法,除了聯(lián)合訓(xùn)練之外,對于幾個分類器置信度均較低或者雖然大家的預(yù)測置信度都較高,但是label不一樣的實例可以選擇作為query。
對于無標注樣本的使用有時候會讓模型的表現(xiàn)力變得更差,由于無標注樣本的使用通常會導(dǎo)致多偶遇一個模型選擇,因此不充分的選擇可能導(dǎo)致更差的表現(xiàn),為了使半監(jiān)督學(xué)習更加safer,通常聯(lián)合多個模型來優(yōu)化。參看文章:Towards making unlabeled data never hurt
基于不一致的方法參考:Theoretical foundation of co-training and disagreement-based algorithms
多示例學(xué)習(Multi-instance learning)

實際上,幾乎所有監(jiān)督學(xué)習算法都有其多實例對等體。
訓(xùn)練數(shù)據(jù)集中每一個數(shù)據(jù)看做一個包(Bag),每個包由多個實例(Instance)構(gòu)成,每個包有一個可見的標簽,在上圖例子中,假設(shè)這個包大小為88,如果我們用size為22的圖片包生成器(Image bag generators)去取得實例,那么我們可以得到16個實例(Instance)。
顯而易見,我們這個包是有標簽的(左圖),老虎,包中的每個實例是沒有標簽的(右圖)。
多實例學(xué)習假設(shè)每一個正包必須存在至少一個關(guān)鍵實例。這意味著,假設(shè)這個例子中關(guān)鍵實例是示例9,那么這個包的標簽為正(positive)。多實例學(xué)習的過程就是通過模型對包及其包含的多個實例進行分析預(yù)測得出包的標簽。多實例學(xué)習廣泛存在在真實世界中,并且應(yīng)用場景非常廣泛。
不精確監(jiān)督(inaccurate supervision)
一個相對典型的場景就是在有標簽噪聲的情況下進行學(xué)習。目前很多理論研究相關(guān)問題,其中大多數(shù)均假設(shè)存在隨機的分類噪聲,即標簽受隨機噪聲的影響?;镜乃枷刖褪亲R別潛在的誤分類樣本,然后嘗試對其進行修正。
數(shù)據(jù)編輯(data-editing)方法構(gòu)建了相對鄰域圖(relative neighborhood graph),其中每一個節(jié)點對應(yīng)一個訓(xùn)練樣本,而連接兩個不同標簽的節(jié)點的邊被稱為切邊(cut edge)。然后,測量 一個切邊的權(quán)重統(tǒng)計量,直覺上,如果一個示例連接了太多的切邊,則該示例是可疑的。可疑的示例要么被刪除,要么被重新標記。值得注意的是,這種方法通常依賴于咨詢鄰域信息;由于當數(shù)據(jù)很稀疏時,鄰域識別將變得更不可靠,因此,在高維特征空間中該方法的可靠性將變?nèi)酢?/p>
近期出現(xiàn)的有趣的不準確監(jiān)督的場景是眾包模式(crowdsourcing),這是一種流行的將工作外包給個人的范式。對于機器學(xué)習來說,用眾包模式為訓(xùn)練數(shù)據(jù)收集標簽是一種經(jīng)濟的方式。具體來說,未標記的數(shù)據(jù)被外包給大量的工人來標記。在著名的眾包系統(tǒng) Amazon Mechanical Turk 上,用戶可以提交一項任務(wù),例如將圖片標注為「樹」或「非樹」,然后職工完成工作以獲取少量報酬。通常這些工人來自世界各地,每個人都可以執(zhí)行多個任務(wù)。這些職工通常互相獨立,報酬不高,并通過自己的判斷標記數(shù)據(jù)。這些職工的標記質(zhì)量參差不齊,但標記質(zhì)量信息對于用戶來說是不可見的,因為工人的身份是保密的。在這些職工中可能存在「垃圾制造者」,幾乎用隨機的標簽來標記數(shù)據(jù)(例如,用機器替代人類賺取報酬),或「反抗者」,故意給出錯誤的標簽。此外,某些任務(wù)可能對一些人來說太難而無法完成。使用眾包返回的不準確監(jiān)督信息來保證學(xué)習性能是非常困難的。
很多研究嘗試用眾包標簽推斷真值標簽。多數(shù)人投票策略得到了集成方法的理論支持,在實踐中得到了廣泛使用并有很好的表現(xiàn),因此通常作為基線標準。如果預(yù)期可以對工人質(zhì)量和任務(wù)難度建模,那么通過為不同的工人在不同的任務(wù)上設(shè)置權(quán)重,則可以獲得更好的效果。為此,一些方法嘗試構(gòu)建概率模型然后使用 EM 算法進行評估 [77,78]。人們也使用了極小極大熵方法。概率模型可以用于移除垃圾制造者。近期人們給出了移除低質(zhì)量工人的一般理論條件。
在機器學(xué)習中,眾包通常用于收集標簽,在實踐中,模型的最終性能,而不是這些標簽的質(zhì)量,才是更重要的。目前已有很多關(guān)于從低能老師和眾包標簽學(xué)習的研究,這和用帶噪聲標簽學(xué)習是很接近的。但其中的區(qū)別在于,對于眾包設(shè)定而言,人們可以方便地、重復(fù)地對某個示例提取眾包標簽。因此,在眾包數(shù)據(jù)學(xué)習中,考慮經(jīng)濟性和最小化眾包標簽的充分數(shù)量是很重要的,即有效眾包學(xué)習的最小代價。很多研究專注于任務(wù)分配和預(yù)算分配,嘗試在準確率和標注開銷之間取得平衡。為此,非適應(yīng)性的任務(wù)分配機制(離線分配任務(wù))和適應(yīng)性機制(在線分配任務(wù))都得到了在理論支持下的研究。需要注意的是,多數(shù)研究采用了 Dawid–Skene 模型,其假設(shè)不同任務(wù)的潛在成本是相同的,而沒有探索更復(fù)雜的成本設(shè)置。
設(shè)計一個有效的眾包協(xié)議也是很重要的。一些文獻中提供了「不確定」選項,從而使工人在不確定的時候不被迫使給出確定的標簽。該選項可以幫助標記的可靠性獲得有理論支持的提升。一些文獻中提出了一種「double or nothing」的激勵兼容機制,以確保工人能提供基于其自己的信心的標注,誠實地工作。在假定每位工人都希望最大化他們的報酬的前提下,該協(xié)議被證實可以避免垃圾制造者的出現(xiàn)。
參看鏈接:https://academic.oup.com/nsr/ar
參考連接:
弱監(jiān)督學(xué)習綜述
系統(tǒng)學(xué)習機器學(xué)習之弱監(jiān)督學(xué)習(一)--弱監(jiān)督學(xué)習綜述
淺談弱監(jiān)督學(xué)習(Weakly Supervised Learning)