論文筆記(1) — 弱監督式學習(概論/incomplete supervision處理對策)

Martin Huang
機器學習系列
Published in
15 min readMay 7, 2022

原文出自[1]。本篇將概述弱監督的狀況、弱監督式學習的簡介,以及對於第一種弱監督狀況--incomplete supervision--的處理方式。我覺得比較像是一種簡介,其內的個別方法都還有許多可以延伸和應用之處。

監督式學習

在機器學習和深度學習領域,監督式學習已經展現出相當的效益。就像考試前的練習,將有標準答案的題目集給學生,讓學生先回答,而後揭曉答案,對比錯誤,學生修正錯誤之後,再練習一遍。在機器學習,則是具有標註的資料集讓模型訓練,模型針對資料進行預測之後,和標註的答案對照,根據差異更新權重,再進行下一次訓練。

標註的類型及資料的型態我們先姑且不論,雖然這裡面也有一些故事,但不是這篇文章的重點。既然監督式學習做得還不錯,那為什麼要開發其他學習方法?原因很簡單,因為

標註資料不足

有很多原因造成資料不足,最常見的原因就是,資料難以取得。這在某些領域甚至是普遍的現象,例如醫學。您可能會想說:沒有呀!現在醫學相關的資料集也越來越多了。但比起其他領域或任務,資料量其實仍不成比例。

其他原因還包括:領域專家不易找到或尋求合作,因此有標註的資料不足;或者根本不確定標註。在這些情況下,監督式學習受到侷限,因為資料不足以完善任務要求所需的能力。因此,必須使用其他方法來完成訓練目標。

弱監督的狀況

首先,要更清楚的定義無法有效使用傳統監督式學習的狀況。這些狀況被統稱為弱監督(weak supervision),大致可以分成三種類型:

  1. 不完整(incomplete supervision):資料集中只有一小部分有標註,大部分沒有。有點像上述提到的情境。
  2. 不精確(inexact supervision):資料集中的標記不夠精確到任務所需。例如物件偵測任務,其標註應該包含物件所在的位置,然而資料集中僅給出影像層級的標註,即只提供該影像是否含有物件。此時有標註,但不足以滿足任務所需。
  3. 不正確(inaccurate supervision):資料集中含有錯誤標註。可能是標註者未注意,或者不知如何標註所造成。

弱監督式學習

其實是一個類別的總稱,就是針對弱監督的情況所發展的學習方法。在本篇文章中會以上述提到的三種狀況討論一些處理方案。但有一點要注意的是,上述的狀況在現實中往往合併出現。因此,對應的處理方法也可能並不單純,而效果也因應資料集、處理方法的細節,以及任務種類有所差異。為了更好的解釋這些處理方法,本文先設定一個二元分類任務作為案例。

在這個二元分類任務中,其分類標籤為Y和N,而資料集

其中x屬於X,是資料特徵所構成的空間,y屬於Y,是一個二元分類標籤,即Y和N擇一。每筆資料獨立且同分布。模型經由學習之後,能由X映射到Y--換言之,從特徵判斷分類。

不完整(incomplete supervision)

根據上述,在這個狀況,資料標記是正確的,而且也符合任務需求,但有標記的資料不夠。對應這個狀況,以二元分類任務來說就是資料集

其中l筆資料是有標註的,剩下的(m-l)筆沒有。

針對這個狀況,有兩種主要的處理方式:主動學習(active learning)和半監督式學習(semi-supervised learning)。主動式學習有一個「諮詢對象」(oracle),例如人類專家,可以提供部分未標註資料的正確標註(ground truth)。相對的,半監督式學習沒有任何諮詢對象,模型必須自己解決未標註資料的問題以改善表現。在半監督式學習中有一種特殊的方法稱為直接推導式學習(transductive learning)[2],其和一般半監督式學習的主要差異是對於「測試資料」的看法。

在機器學習/深度學習裡,資料集通常會拆分成訓練及測試用,以便更客觀的評估模型的表現。如果直接拿一部分訓練的資料做測試,則在模型已經看過該部分資料的情況下,通常模型的表現會比較好,這是一種資料汙染。如果把測試資料獨立於訓練資料,至少在評估模型表現當下,這些資料並沒有被看過,得到的結果可能會比較貼近實際在外面世界使用(推論,inference)的狀況。

所以這邊指的測試資料,就是指獨立於訓練資料之外,用於評估模型表現的資料。不過有一點不同的是,因為弱監督狀況,部分訓練資料一開始就沒有標註;反過來說,在監督式學習,即使是測試的資料也有正確標註(只是模型看不到)。因此出現一個有趣的狀況:對於模型而言,有些訓練資料沒有標準答案,但測試資料也沒有標準答案。那該把測試資料和沒標註的訓練資料分開看待呢?還是把沒標註的訓練資料也當作測試資料?

這個問題的答案牽涉到後面的機轉。如果把沒標註的訓練資料也當作測試資料,那就是只基於目前以標記的訓練資料的結果,來判斷這些沒有標註的資料(含測試資料)的答案。這就是直接推導式學習的想法。而測試資料和未標註資料分開看待,則是一般半監督式學習,以及監督式學習的想法。

想法歸想法,操作上怎麼做呢?直接推導式學習就是把測試資料也混進訓練資料集裡--沒錯,看起來好像要資料汙染了--但這些測試資料沒有標註可以參考。所以它會像那些未標註訓練資料一樣,模型訓練的時候看過這些資料的特徵,但不知道正確答案是什麼。測試時,只能從這些混合未標註和測試資料裡面選取資料。如果有新的資料進來怎麼辦?那就必須融合進這個資料庫裡面,讓模型再重新訓練一次。也因為如此,重新訓練的模型,對於原本的未標註資料和測試資料的判斷,有可能和之前的模型不同。至於一般的半監督式學習或監督式學習,則遵守測試資料絕不混入訓練資料的原則,因此,其模型只能根據過往的訓練資料,對測試資料,甚至是新的資料進行判斷。[3]

人為介入--主動學習(active learning)

承上所述,這種學習方法設定有一個諮詢者可提供部分未標註資料的正確答案。諮詢無論是假設或限時都是需要成本的,所以模型的目標就是盡量降低成本,也就是諮詢次數。要這樣做,模型就得好好選擇作為提出諮詢使用的資料了。目前有兩種較被廣泛使用的原則:

  1. 資訊原則(informativeness):所挑選的資料可以降低多少模型的不確定性(uncertainty)。
  2. 代表原則(representativeness):所挑選的資料可以代表多少程度的輸入分布結構(structure of input patterns,應該是指訓練資料的結構分布)

資訊原則有兩個主要的方法:不確定採樣(uncertainty sampling)和聯合提問(query by committee)。不確定採樣的概念很簡單,訓練一個模型,然後根據他對於未標註資料的答案的不確定性進行排序,最高的,也就是它最沒有信心的,就拿出來問。聯合提問則是訓練多個模型,然後選擇未標註資料中答案歧異度最大的來問。代表原則通常會對未標註資料進行分群(cluster),利用分群的方法。

資訊原則的弱點是,需要先建立模型。而要建立一個有效的模型,對於標註資料量還是有要求的。如果資料量過低,建立的模型可能會不穩定。而代表原則仰賴分群結構的穩定性,但要建立這個分群結構也同樣需要一定量的標註資料。有些研究有嘗試要混合兩者。

有一些過往的文章做過相關的研究,評估主動學習對於資料數目的要求。在理想狀況下(realizable cases),假定可以找到演算法完成對於所有資料的完美二元分割,此時主動式學習所需要的提問就可以有效減少,甚至是以指數形式。如果是考慮有雜訊(noise)的unrealizable cases,主動式學習的效益有可能被降低[4]。儘管如此,如果能建立關於資料的一些性質作為輔助,例如multi-view structure(類似資料構造的節點),那主動式學習的成效還是有可能顯現。

無人為介入 — 半監督式學習/直接推導式學習

為什麼半監督式學習可能成功?

半監督式學習並沒有專家可以提供關於無標註資料的答案,也就是不存在詢問機制。既然如此,那這些沒有標註的資料是如何幫助建立模型的?作者在這邊舉了一個簡化的例子,想用數學方式證明,不過牽涉到機率分布、條件機率,以及後驗分布(關於這個可以看這篇),我想應該是不好懂,但我試著說明一下(如果看不懂可以直接跳過這段,下一段會有概念性的說明):

本段請衡量自己的數學能力再看

假設一種資料其y的分布由n個高斯分布函數組成,如下:

α是加權係數,θ則是模型內參數。此時標註y(為一二元分布,binary class)的機率分布由這個組合函數g和輸入的特徵x決定,為

根據後驗機率分布公式,我們的hypothesis h(x)判斷的數學式為

用白話文來說,就是「在給定x的情況下,g根據x產生j值,使y屬於某個分類的機率,並取其較大者作為分類的判斷」。其中

故可得知,整個式子中只有第一個機率分布P需要標註y以確認其機率分布。因為現在有一部分訓練資料是沒有標註的,因此在這些訓練資料,無法完成第一個機率分布的估算。然而還是可以估算第二個,藉由這個方式促進模型的表現。

跳過的人可以從這邊再接下去

作者另外提供一個直觀的示意圖來加強說明,其實我覺得這個圖就夠了。如下:

圖片來源:參考資料[1]

看懂了嗎?如果今天要讓模型判斷某點測試資料屬於哪個分類,如果讓它看到其他未標註資料的資料分布(因為其特徵可能具有分布性),仍然可以幫助它判斷這筆測試資料的分類。這就說明兩件事:1. 非監督式學習(unsupervised learning)蠻常使用這種方法的。它可是全部都沒有標註啊。 2. 如果資料要做測試使用,就絕對不要把它放到訓練集裡面,即使是沒標註的資料也一樣。資料會汙染。

在半監督式學習,有兩個基礎假設,兩者都與資料分布有關:

  1. 叢集假設(cluster assumption):物以類聚,人以群分。假定資料都內建分群性,相同分群的資料擁有相同的標籤。
  2. 流形假設(manifold assumption):相對位置不受絕對位置改變。比起資料是完全隨機生成,能被學習的資料通常有其架構性,換言之,是有秩序或有意義的被產生。因此,如果能掌握這些架構,就能讓機器學習變得可能。而這個架構之所以當下不一定能看出來,有可能是資料所在的維度偏高;相對的,架構所在的維度可能比較低。

兩個假設的本質都是認為資料的分布會影響標註分類,因此,即使是沒有標註的資料,只要知道特徵分布,也可以幫助模型訓練。

半監督式學習的分類

目前有四種主流:生成法(generative method)、圖像法(graphic method)、低密度分離法(low density method),以及分岐導向法(disagreement-based method)。

生成法前提假設訓練資料無論有無標註,均來自同一個系統所產生,因此把這些沒有標註的資料視為數據缺失(missing value),會用他們的方法去「產生」標註,大體上還是根據那些有標註的資料。這類的模型選擇需要領域知識(domain knowledge)的配合,表現會比較好。也有一些會嘗試生成對抗(generative and discriminative)的方式進行。關於生成對抗,在大約兩年前曾經在深度學習領域風行一時,即大名鼎鼎的GAN,為了篇幅及集中焦點,本文就此帶過。

圖像法就是畫出類似流程圖的結構,將資料化為點,其關聯性化為邊,並把標註相關的資訊利用這些邊傳遞。

一個利用圖像法辨識手寫文字的概念示意。圖片來源:參考資料[5]

這種學習法最大的關鍵,當然就是怎麼建立圖了。另一方面,也很吃運算資源:一般來說,m筆的資料需要O(m²)的儲存空間,卻有O(m³)的計算複雜度。最後一點是,這個方法本質上內含直接推導的概念,因為每一筆新的資料加入,都會需要重新構圖才能有效學習,這就像是把無標註資料也視為測試集。

低密度分離法,簡單來說就是只看資料的特徵分布,其對資料的分割點會放在資料分布密度低的地方,因為他假定這個區域是資料分群裡面較明顯的分水嶺。這裡面最有名的就是S3VM(semi-supervised support vector machines)。

SVM和S3VM對於資料分割的想法不同。圖片來源:參考資料[1]

由上圖可以看到,傳統的SVM將焦點放在把標註資料分群;而S3VM則會參考未標註資料(灰點),選擇灰點較不密集,同時原本標註資料仍可分開的位置作為其分界。這樣的方式需要多次調整未標註資料的「標註」,也就是用一些方法分配標註給一部分未標註資料,而這些資料的分布將會再影響模型的分界。目前關於低密度分離法的研究著重在如何最佳化其邊界的設置。

最後一類是分歧導向法。這個方法就是弄狗相咬。訓練好幾個模型,讓他們共同對未標註資料進行判斷,在判斷過程中一定會有結果的差異,而這個差異可以幫助模型進步。這個方法最有名的是co-training,根據資料的兩個特徵(或同一特徵但不同角度去看)分別訓練模型。在每一輪的訓練,一個模型對於未標註資料的預測,會做為另一個模型訓練同一筆資料時的標註。如果把模型數量增加,也可以達到類似集叢(ensemble)學習的效果。

因為在訓練中有些資料會得到未標註資料的「標註」,雖然這個標註來源並不是專家而是另一個模型,但某種程度上可以把他視為主動式學習和半監督式學習的結合,或者是用類似主動學習中聯合提問的模式,把某些所有模型都不太肯定,或者是模型肯定但標註很分歧的資料,交由專家覆核。

監督式學習的兩面刃

作者特別花一個段落提到一件事:那就是半監督式學習面對這些未標註資料的表現,並不總是好的,也有可能變差。這是因為大部分透過半監督式學習的過程,都會自然而然產生模型的分歧。隨著未標註資料的增加,這些不同模型該如何挑選很重要,好的挑選帶你上天堂發paper出新商品賺錢,不好的挑選讓你延畢賠錢住套房。無論如何,目前這個挑選機制並不是非常紮實,所以很難有個明確的方向或結論;但叢集學習有機會可靠一點(往往消耗的資源也最多,資源就是經費,就是錢)。

順帶一提,半監督式學習的研究最早甚至早於這個名詞被發明出來。累積至今已經有不少研究了。

總結

這篇文章主要介紹弱監督的狀況,以及先介紹應對第一種 — 不完整標註 — 的方法。提到了主動式學習、半監督式學習,以及其中的特例,直接推導式學習。

半監督式學習相當吃資料分布,因此如果資料分布不夠明顯,有可能訓練不起來。

下一篇我將會繼續整理這篇論文的後半部分,歡迎提出有問題或錯誤的地方,謝謝!

資料來源

[1] Zhi-Hua Zhou, A brief introduction to weakly supervised learning. National Science Review 5: 44–53, 2018. DOI: 10.1093/nsr/nwx106
[2] 也有人翻轉導推理,中國網友翻直推式學習。參考國家教育研究院https://terms.naer.edu.tw/detail/1306681/,tranductive reasoning翻為直接推導,因此折衷翻為直接推導式學習
[3] https://www.zhihu.com/question/68275921
[4] Matti K¨a¨ari¨ainen, Active Learning in the Non-realizable Case. In 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics, Sydney, Australia, 2006; 63–77.
[5] Xiaojin Zhu et al., Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions. In 20thInternational Conference on Machine Learning, Washington, DC, 2003; 912–9.

--

--

Martin Huang
機器學習系列

崎嶇的發展 目前主攻CV,但正在往NLP的路上。 歡迎合作或聯絡:martin12345m@gmail.com