編者按:白居易在《憶江南》中曾寫道,
“山寺月中尋桂子,郡亭枕上看潮頭。”
詩人結合“月中桂樹”的傳說,從江南眾多景色中,選擇了靈隱寺的皎月和錢塘江的潮頭,這兩處具有代表性的場景來追憶江南。而這兩處樣本的選擇,也體現了詩人對江南風光的充分理解。
其實,在機器學習任務中,由於資料標註代價高昂,我們也面臨著如何以最少量的樣本,來獲得最有效學習模型的問題。 如果能夠從任務出發,透過對任務的理解來制定標準,挑選最重要的樣本,使其最有助於模型的學習過程,將大大減少監督學習的成本。
因此,學術界衍生出了主動學習這一研究方向。本文中,來自南京航空航天大學的黃聖君副教授,將為大家介紹主動學習領域的年度進展。
文末,大講堂提供文中所提到參考文獻的下載連結。
本次報告的題目是《recent progress on active learning 》,我們知道對於監督學習任務,要訓練好模型,一般有標記的訓練資料越多越好,但很多工裡面有標記的資料非常稀少,而且標註過程往往需要專業的知識,耗時耗力,導致代價昂貴。所以我們希望用更少的標註資料,訓練出更好的模型。
主動學習就是解決這個問題的重要手段。雖然有標記資料很少,但可以廉價獲得非常多未標註的資料。在主動學習裡有一個標註專家,我們可以迭代地從未標註資料裡面挑選出一部分重要資料去標註,從而獲得更多有標記資料。所以主動學習的目標是希望用最小標註代價獲得最好的學習模型。
主動學習裡面最核心的問題就是需要制定標準,使得挑選出來的樣本確實是對模型最有幫助的。
這個問題在過去幾十年間,一直是主動學習這個方向研究最關注的一點。以往的方法大概可分為這兩類:一類方法,傾向於選擇最有資訊的樣本,例如,我去教你最不會的東西應該是對你最有幫助。另外一類方法,是傾向選擇最有代表性的樣本,希望選擇的樣本涵蓋資料整體分佈的資訊。
最近還有很多工作依然在關注選擇標準的制定上,但是我個人感覺這一年來在主動學習方面的進展,開始傾向於考慮更實際的應用場景,而且更系統的考慮整個學習過程中各個環節。這主要體現在三個方面:
第一個是更多的關注oracle不可靠的情況,比如Oracle提供的是含噪聲、弱監督的資訊。
第二個是更多的關注代價敏感性,考慮每次查詢中標註代價的差異,而不僅僅追求減少查詢次數。
第三個方面是更多的關注模型依賴的主動學習方法。比如深度學習等一些更復雜的模型可能會對主動學習產生新的要求。
我分別會從三個方面介紹代表性工作。首先是弱監督方面,這是今年的一個工作,作者考慮的不是一個oracle而是一批oracle,但是每個oracle提供的資訊可能都是含噪聲的。這個方法希望準確評估每個oracle提供的標註質量,並且希望能夠得到對噪聲魯棒的分類器。實驗證明這個效果還是不錯的,對不同程度的噪聲都是魯棒的。
這個工作是考慮到另外一種情況,他有兩個oracle,一個oracle是去提供樣本標記,另一個oracle是針對兩個樣本,告訴你這兩個樣本里哪個更可能是正樣本。他提供這樣一種比較的資訊,所以也是一種弱監督的資訊。這個工作的主要貢獻是在不同噪聲條件下提供關於查詢複雜度的理論保證。
這個工作是從另外一個角度考慮的,用一個模型去預測一個樣本,如果置信度很低,那就向oracle去查詢這個樣本的標記資訊,如果置信度很高,就直接把當前模型的預測作為標記來用。所以他是結合模型自身的預測資訊和oracle的資訊來幫助提高學習效果。結果表明,這個方法效果明顯,只要查詢40%的樣本就可以達到傳統方法用所有資料達到的效果。
這個工作考慮的是極端情況,某些任務裡面連oracle都沒有,比如涉及到敏感資訊或者安全資訊,或者任務要求領域知識非常強,這時候沒有Oracle能夠提供更多標註。所以我們希望從相關任務裡去查詢新的樣本,把這個樣本遷移過來學習,從而幫助目標任務的學習。這個工作的挑戰在於,如果把主動學習和遷移學習兩個任務獨立考慮,有可能挑出來的樣本對source domain有幫助,但遷移過來之後對target domain並沒有幫助,這就是挑戰所在,這工作是基於2016年IJCAI的一個類似工作擴充套件來的,只是把source domain由一個擴充套件到多個的情況。
第二方面,考慮代價敏感性的主動學習也有不少工作。首先考慮的是標註者(Oracle)本身是代價敏感的,例如有很多標註者,但是每個標註者要價是不一樣的。像有一個成年專家和小孩,一般來說成年專家要價更高一些。但如果考慮標註這樣一個圖片,如果要看圖片裡面動畫人物是誰,小孩可能標註更準一些。所以在這樣場景下可以獲得價效比更高的標註,可以用更低的價格獲得更準確的標註。這個工作就是在挑選樣本的同時去挑選最適合標註該樣本的標註者。
另外一個是標記本身也是有代價敏感的。比如在多標記任務裡,多個標記可能形成這樣層次化的結構,越底層的標記描述資訊越具體。但是oracle在標註的時候需要花費更多的時間,所以需要有一種方法平衡資訊量和標註代價之間的矛盾。這個工作採取的是多目標最佳化方法來平衡,而且取得很好效果。
此外,學習任務本身也是代價敏感的,這個敏感體現在把某一類樣本錯分到另外一類上,所付出的代價可能是不一樣的。所以這個工作考慮的是這種情況,它每次查詢不再是某一個樣本的標記,而是去查詢這個樣本如果被分成某一個類別所付出的代價會是多少。這個工作除了在實驗上取得好的效果之外,在理論上也證明如果噪聲條件不是很強的情況下,可以顯著降低標記複雜度。
最後一方面,隨著學習模型變得越來越複雜,會不會對主動學習提出新的要求?這個工作是我們最近提出來的工作,它所考慮的是,雖然深度神經網路在很多方面都取得了成功,但是當去解決新的任務的時候,需要豐富的經驗去設計網路結構,調引數,需要很多的訓練資料去訓練它。我們希望用一些已經預訓練好的模型,在這個模型上用很少的訓練資料,把它從預訓練的任務上遷移過來,在新的任務上也取得很好的效果。以往的主動學習往往關注的是挑出來的樣本是對於提升分類效果最有幫助的,但是深度學習大家都知道它的非常強大能力在於學習出好的特徵表示。所以我們定義了一個新的指標distinctiveness,這個指標衡量的是一個樣本,在提升深度神經網路特徵學習能力方面的作用大小,這是跟以往主動學習所不一樣的。從實驗結果中可以看到,透過基於distinctiveness的主動選擇,在很多模型上用很少資料就可以將預訓練好的深度神經網路模型遷移到一個新的任務上並得到很好的效果。
最後一個工作是基於生成模型。原來的主動學習方法都是從未標記資料中挑出來部分樣本去標註,這裡不再是從一堆資料裡去挑選,而是生成一批這樣的樣本。首先,在decision boundary上面產生很多等分點,每個點對應一個樣本,這就是生成的一系列樣本。然後讓oracle去標註的不是每個樣本屬於哪個類別,而是這些樣本里面,例如,這是鞋子這是包,oracle會標註這些樣本里區分這兩個類別的臨界點在哪裡。所以這種方法跟以往所有的主動學習方法思路完全不一樣,他讓oracle標註的是直接提供一個分類器應該所處的位置,所以具有更強的資訊,因此也取得不錯的效果。
除此以外還有很多用主動學習解決不同應用問題的研究,這裡不再一一介紹。以上就是對過去一年主動學習方面新出現的三個趨勢的簡單介紹和總結,謝謝大家。
參考文獻連結:
連結: https://pan.baidu.com/s/1pY4rDMSPzbJjliz1iYqW0A
密碼: aa5g