search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

CCAI 2017 演講實錄丨Masashi Sugiyama: 弱監督機器學習的研究進展

7 月 22 - 23 日,在科學技術協會、科學院的指導下,由人工智慧學會、阿里巴巴集團 & 螞蟻金服主辦,CSDN、科學院自動化研究所承辦的 2017 人工智慧大會(CCAI 2017)在杭州國際會議中心盛大召開。

記者 | CSDN JayZhang

在本次大會上,日本人工智慧和機器學習領域新一代的代表性人物——日本理化學研究所先進智能研究中心主任Masashi Sugiyama(中文名:杉山將)為參會者帶來了《弱監督機器學習的研究進展》的演講。杉山將在機器學習領域發表過很多重要的理論,是這個領域最知名的學者之一,出版了機器學習相關書籍《圖說機器學習》(中文版)。

大家早上好,我叫杉山將,非常高興能夠參加今天的大會,也很高興和這麼多的研究人員見面,我也特別喜歡杭州的文化和當地的美食。

在過去的4-5年中,AI在日本發展地非常快,這也讓我能有機會出相關的教科書,其中有一本翻譯成了中文——《圖說機器學習》。其實我看得懂中文,所以我覺得今天演講的中文標題的翻譯是很準確的。

下面我所要講的東西和今天大會的主題非常契合。

昨天漆遠談到了金融領域的機器學習,從大數據的角度來看,它是機器學習很重要的研究領域,並且目前還是非常的成功,我也一直對基於大數據來做機器學習這件事情非常感興趣。然而,現在對於很多的應用領域而言是無法獲取大規模的標註數據的,比如醫藥、製造業、防災等領域。當數據量不夠時,我們需要相應的機器學習方法來應對。

今天我會講一些關於小數據的研究進展,我的演講和其他的演講者相比會更沒有那麼的技術性,希望大家可以了解一下小數據分類的研究狀況,其中還是有一些讓人欣喜的研究進展的。

回到我們所討論的話題,首先還是要去關注一個最簡單的問題,就是二元分類的問題。

我們會有一些訓練數據(如下圖),其中藍色圈點代表正例,而紅色叉點代表負例。這樣的二分類問題,其實已經被研究很多年了,由於我們已經有了大量的標註數據,所以能夠得到非常好的分類結果,我們都知道現在最優的分類結果是這樣的。

然而,想要獲取大量的標註數據是非常耗時耗力的,我們希望也能夠對無標註數據進行分類,這就是無監督分類的由來。

其實無監督分類和聚類是一樣的,比如下面這張圖中的數據點聚成了兩簇,每一個簇代表一個類別,這樣才是非常好的分類結果。然而很遺憾現在我們這個假設(即聚類的結果表示一個類別)並未得到相應的驗證,所以從這個層面上來看,還沒有非常合理的辦法來做無監督分類。

我非常喜歡11年前提出另一種方法的論文:由於我們有大量的無標註數據和少量的標註數據,那麼基於少量的標註數據就能在一定程度上找到邊界,然後結合所找到的邊界和大量無標註數據的聚類結果,從而找出更多的邊界。這就是半監督分類。

然而,半監督分類和無監督分類面臨同樣的問題,也就是簇要能夠跟類別對應起來。如果一個簇總能對應著一個類別,這樣就完美了。但事實並非如此,這就是我們今天所要討論的內容。

接下來我先總結一下前面說過的內容。

對於不同類型的分類方法,標註的成本有高有低,所取得的分類準確率也有高有低。對於監督分類,能夠取得很高的分類準確率但同時標註的成本非常高;而對於半監督和非監督分類,標註的成本都比較低(甚至沒有),但取得的分類準確率並不高。

如何讓左下角的這兩種方法(即半監督和非監督分類)能夠取得較高的分類準確率,同時保持比較低的標註成本?

這是我們所面臨和需要解決的難題。

現在深度學習技術非常熱門,但我今天講的東西不是深度學習,這並不是說要忽視深度學習,其實這個話題跟深度學習也是有關係的。

模型方面,從簡單到複雜,我們有線性模型、增量模型、基於核函數的模型和深度學習模型等;機器學習方法方面,有監督學習、無監督學習、半監督學習和增強學習等。

任意的學習方法和模型都是可以相結合的,不過我今天要講的東西是關於學習方法的,它可以使用任何的模型,包括深度學習模型。當然我更傾向於使用線性模型,因為這更簡單,如果你想使用更加複雜的模型也是完全可以的。

下面是今天演講的議程,接下來會給大家介紹四種不同的分類方法,後面如果有機會我會介紹一下理化學研究所AIP研究中心。

弱監督學習的研究進展

UU數據分類

首先看一下UU (Unlabeled, Unlabeled) 分類,U代表的無標註的數據(Unlabeled data)。

那麼我們是怎樣對無標註的數據進行分類的呢?假設我們有兩個未標註的數據集,它們唯一的不同在於類先驗(class-priors,即所屬的類別)的不同。它們的函數分佈如圖中的左右下角,數量上各佔50%左右,其實我們並不需要知道具體的比例。基於這種假設,我們需要訓練一個分類器,而基於無標註數據的訓練是極具挑戰的。

那麼怎麼訓練分類器呢?

首先來看一下類先驗的區別是什麼,在正類和負類之間,我們只看p(x)和p』(x)之間的差異,這就是我們劃分正負類的標準。

假設通過某些技術方法,我們能夠獲取這些數據的正負類分佈的先驗信息,正負類的分佈比例是對等的,也就是說一半數據是正類,一半是負類。x代表非標註的數據,C是一個常數,由於沒有相應的標註數據,所以我們對C的值難以有個合理的估計。儘管如果C沒有具體的值,我們不知道哪一側是正類,哪一側是負類,但這並不要緊,因為類別之間的差異性往往很明顯,最終表現在符號為正或負,所以我們有時可以將常數C忽略掉。我們只看最終符號的正負,這樣可以讓我們得到最優的分類結果。

接下來的做法都是很直觀的。因為我們要處理的是一些未標註數據,第一種方法是做核密度的估計,我們對兩類數據點對應的p(x)和p』(x)進行估計,從而計算它們之間的差值,這樣能夠很自然地解決分類問題。然而,遺憾的是這種方法雖然簡單,但有可能對p(x)-p』(x)的差值產生了低估,這是因為對p(x)和p』(x)的估計函數過於平滑所導致的。

第二種方法是直接對密度的差值進行估計,利用Kim等人所提出的模型,儘可能把密度差異的估計偏差達到最小,這種方法用一個線性的模型就能夠得到相應的解決方案。

第三種方法是對密度差的第一項進行直接的估計,這是最為直接的方法。對於我們這個問題來說,第三種方法遵循了Vapnik原則。我們要解決的問題不能太過泛化,在這個場景中,我們想要估計密度的差值,這將涉及到非凸優化方面的問題(例如可使用CCCP方法來解)。

下面是我們做的一些實驗結果,比較的指標是誤分類率的類均值。

表格的左側一欄是表示不同的數據集,對比的方法中有聚類的方法,可以看出聚類的方法並不是很有用。表格中間的是一些普通方法,其中第二種是估計p(x)-p』(x)的差值,可以看出越靠近左側的方法取得的效果越好,這是因為對應解決問題的方式更加直接,因此直接的估計密度差值或者是密度差值的符號函數的值會更加有效。

在實際的應用中,我們通常選擇左側的兩種方法。

PU數據分類

下一個話題要談的是如何處理PU (Positive, Unlabeled)的數據,也就是只有正例數據和未標註的數據。

我們有兩類數據樣本,一種是屬於正類的,另外一類是未標註的。當然未標註的數據里包含了正類和負類兩種數據,但是我們並不知道其中哪些是正類,哪些是負類。對應這種數據類型的一個例子是,比如有一些你點擊和未點擊的網站,對於那些未點擊的網站中,你既有未來可能會點擊的,也會有你不會點擊的(或者有想點擊的,但可能由於忙而沒有真正點擊的),對這些網站點擊數據,我們可以應用PU的分類方法。

另外,我相信在社交媒體上面也會有這樣的分類場景,判斷一個用戶是不是你的好友。對於已經認識的朋友,朋友之間有著很好的聯繫,所以我們能夠得到相應的數據樣本;然而,對於非朋友關係的用戶們,我們並不知道他們相互討厭對方所以沒有成為朋友,還是如果有機會是能夠成為朋友的,所以他們之間沒有鏈接並不代表它就是負類的(不能成為朋友)。

在這個PU分類中,我們還需要獲取一個PN的分類器,因為儘管我們有了正例數據和未標註數據(對應圖中的藍色和黑色的符號數據),我們還是要知道未標註數據(黑色的符號數據)中哪些是負的哪些是正的,這裡也將涉及到很多的公式,我們接下來看一下分類器的風險函數。

我們用到了損失函數,用了l表示; y是用f(x)表示;我們用R(f)表示風險函數,代表數據分類的風險,可以看到風險函數包括正類數據的分類風險以及負類數據的分類風險。在今天的演講當中我們為了把它講的簡單,這裡實際是要通過這些數據來進行估計的。

我們現在有正類數據和負類數據的分類風險,已經分成兩類。因為我們在PU分類任務中缺少對負類數據的標註,因而我們不能對負類數據的分類風險進行直接的估計,這也是我們技術上所面臨的挑戰。然而,這個問題可以很簡單的來解決,由於未標註數據是由正類數據和負類數據組成的,所以我們可以從PU數據中來對負類數據的分類風險進行一個預估。

具體的公式轉換如下圖所示,它背後的理論是正負數據分類風險滿足一定的邊界條件,具體的細節在這裡就不細說了。這是最優的方法,我們可以通過PU的學習,從PU的數據中得出PN的信息。

在左邊PU的邊界可以比PN的邊界要小,我們一開始是用PU的結果而沒有PN的,這是我們的起點。但如果滿足了這個條件,PU數據的學習要比PN數據的學習更好,但前提是我們要有大量PU數據;因為如果說有大量的PU的數據的話,我們左側邊界值就會變的小一些。所以說,PU的學習有時候可以比PN更好一些,這讓我們研究出下一種方法,我後面會給大家看另外一種方法。

我們會發現,儘管PU方法已經能夠取得很好的結果,但是還是存在一些問題。

我們再來看一下之前的PN的風險函數公式,就是基於P數據和N數據的風險對U數據的分類風險進行估計。根據這個定義,N數據的風險是非負類的,但是它是PU的樣本,在現實當中我們要對樣本進行估計。所以說PU可能是會為負的,因為這個是會有一個負號,通常是應該是負號的,但有可能這個差會是負的,特別是對於可擴展性較高的模型來說,比如說像深度網路是會出現這個情況。

我們看到,對於非負類的PU分類,先從虛線的藍線開始看起,是PN的測試數據上的誤差結果(藍色的實線),這表示模型是收斂的。

再看一下紅色的虛線,是PN的訓練數據上的誤差結果,在到某個點的時候會變成負,這表示模型的訓練已經出現了過擬合。因為當在訓練數據的誤差值變成負了之後,PU測試數據上的誤差值開始增長了。一個簡單的解決過擬合的方法是,限制這些誤差值為非負。

這樣做的話,就可以讓我們的數值維持非負性。

但這裡的一個問題是在於,這樣的模型對於現在的風險預估而言效果還是可以的,但是並沒有解決全部的問題。

首先我們先看一下風險的偏差值還是有一致性的,如果你輸入的樣本太多,它會產生真正的風險,而且它的偏差的下降是指數級的。從應用的角度,我們可以去忽略R(f)的偏執項,這樣均方誤差其實並不比原來的那個均方誤差要大,而R(f)的值也會變得更加的可靠。

最後我們看一下實驗結果:在線性模型當中,可以在測試數據上收斂,當然現在這樣的方法只能用於線性模型。雖然沒有辦法獲得一個更通用的經驗,但是我們可以能夠對於這樣的偏差預估性的方法來進行改良,興許將來有更好的應用。所以,我們在CIFAR10當中創建了很多的正類的數據,藍色線代表PN測試。在這裡可以看到,如果np等於1000錯誤率下降非常快;如果說是對於非負的測試數據,比如說就是這條黃色線和藍色虛線的話,它的錯誤率下降就並不是那麼的明顯;如果說我們使用一些ReLU方法,PU做的比PN要好的多。

接下來做一個簡單的總結:PU數據分類是怎麼做的?我們做的非常簡單,就是把P和U數據,就是黑色跟藍色符號數據進行分開(黑色符號數據中其實還含有藍方符號的數據),最簡單的方式就是做偏置。如果使用線性模式能夠實現這樣的一個二次方差的方法,那麼能夠保證在P跟U當中的損耗是一樣的,所以在實驗當中我們也證明了這樣的方法是很有作用的。

PNU數據

接下來我們介紹一下PNU (Positive, Negative, Unlabeled)分類,就是正類、負類和無標籤數據的分類。PNU分類其實就是一個半監督的學習方法。

現在我們對於PU分類學習有了解決方案,對NU分類學習也有自己的解決方案,所以PU跟NU基本上一樣的。PN是一個標準的方法,我們也有相應的解決方法,對於PU、PN和NU分類學習中能不能使用半監督的方法,我們是希望能把其中的兩者結合起來,就是藍點或黑框或者紅叉和黑框結合起來。

根據理論上的風險均值來看,如果在損失風險上PU比NU做的好的話,如果PN放在中間的話,會不會做的更好?或者另外一個方向,如果NU比PU做的好,那PN就放在第二位;或者說是PU放在第一位,或者PN放在第一位。

最簡單就是PU和NU要把它結合起來,我們要把這兩者整合起來。所以原理就是,第一步把PN和PU結合起來,第二步把PN和NU結合起來,這樣的話我們總是能獲得最優的方法,這是我們現在做的一個研究工作。

所以,我們的方法就是把它們結合起來,進行一個組合,根據我們自己假設性的數據進行切換,如果 是零,那就是變成一個PN分類學習,如果是 是負,那就加上PU學習,如果 變成正數我們就加上NU學習。後續繼續選擇,基本上在三者之間自由組合,添加一個不同PN、PU和NU的組合來實現自由分類。

我們再來看一下泛化誤差邊界:所有的數據和類型其實已經看到了,最後NU一個錯誤率這邊還是存在的。換句話說,如果我們能夠使用未標註的數據,哪怕沒有簇假設(一個聚類簇對應一個標註類別)也能夠控制泛化誤差在一定合理的範圍之內。一開始我們無標註的數據只是對它進行一個傳播,但是這樣的一些無標註數據,更多只是用於這樣的損失和評估,而並不適用於正則化。

我們現在應該可以做一些類似平滑的正則化,這邊其實並不好解釋,也就是說可能在無標註數據當中獲得標註數據。如果我們和其他的一些標準方法做一個比較的話,這樣的一個PU加NU,PN加PU的方法所取得結果是非常好的。

互補型標準類別

最後我們來看一下相互補充型標註類別 (Complementary Labels) 的分類方法。

先來看一下類別更多的問題,也就是說現在可能是有1000多或更多類的分類問題。因為如果在1000個不同的標籤當中來選擇一個正確的標註類別描述這個類的話,其實這是很耗時的,這時候需要互補的標註類別。

我們選擇其中的一類,就是錯誤的一類。這個做起來就簡單了,1000類個候選當中,我們只需要把它隨機抽選,如果說這個是錯的話,那麼我們就選,如果是正確我們就不選,我們選下一個,換句話說我們只選擇錯誤的,幫助我們更快的選擇最後正確的那一類,這個演算法對於我們來也非常具有借鑒意義。

換句話說,其實就是使用類別的互補性,更容易選擇大樣本正確的類。我們現在假設是這樣的,正常的標籤,都是來自於p(x, y),但是是互補標籤。所以,從這樣的假設來看的話,我們沒有辦法確定它這樣的一個一般性的標籤和我們互補標籤到底應該是以什麼樣的方法選擇,但是如果說我們定好了這樣的一個公式的話,我們就可以從互補標籤的分類當中進行學習。

第一種方法,我們使用部分的標籤來做分類,我們會有這樣的一個多候選類,對於每一個互補標籤的話,都會設置一個極端的情況,也就是c,所有的c我們都會給一個互補標籤,一直把它從c一直到c-1;第二個辦法可能並不是特別正確的辦法,我們可以考慮多標籤的分類的方法去做。在這個設置當中,每一個樣本都會屬於多個不同的類,也就是說對於互補類和正類的話我們都會使用的一個負標籤,這個辦法可能目前來說並不是特別好,但是有可能做的更好,總的來說,我們希望能夠用更簡單的辦法來解決這樣一個問題。

接下來可能就有點複雜了,假設我們做c類的分類,我們把R(f)和gy拿出來,gy就是單個class的分類風險,我們會對這個分類風險進行一個分析,今天我只舉其中的一個風險的分析的公式。我們把兩個分類進行對比,然後去算它的損失,我們會有這樣的一個程度對稱性的損失,就得出它的風險。

但是這個定義來看,在我們的設置當中沒有這個樣本量,所以要實現一個點對式對稱損失函數 (Pairwise Symmetric Loss),我們就需要一定的特定條件。

我們可以用這樣的一個公式表達它的風險函數,重點在於說不要取代P要取代P-,我們要把P-替代掉。所以,只需要把P-進行替代之後就可以對比它的一個損失風險。

但是有這樣一個問題,這樣的一種對稱性損失,它只是用於一些非凸函數,換句話說,從數學層面來說你無法處理凸函數的情況,儘管我們絕大部分研究的場景都是非凸的場景。通過這樣的辦法,我們可以預測錯誤率(從公式當中可以看到),也可以看到,標註類別的互補性其實可以幫助我們實現最優的參數收斂率,這就是一個很好的例子。

隨後我們做了相應的實驗,我們所提出的方法在這裡,部分標籤數據互補數據都在這邊用,我們只會使用1除以(c-1),如果我們有10類,如果你說不是1類,可能正常樣本是第10類,換句話說最起碼有9個互補標籤,不是兩個三個四個,需要C減1,10減1,需要9個互補標籤。我們的方法應該算是最好的,就算是和右手邊最常見、最主流的方法來比,我們做的更加的好,以上就是我們的實驗結果。

最後我們做一個總結,我們最關注的是底下的這欄,也就是高精確性,但同時也希望需要的標註成本能夠盡量的低。我們在UU、PU、PNU和互補性標籤分類上,都希望能夠實現高精度低標註成本的目標。

最後介紹一下我所在的研究所,日本理化研究所先進智能研究中心,也就是AIP。我們所關注的更多是先進的、智能的研究項目。在2016年的時候我們就成立了這個研究中心,我們有5個任務,分別是開發下一代的AI技術、加速科學研究、把AI用於決策日本的社會重大的問題,以及研究AI道德、法律和社會問題的問題,還有希望解決人力資源發展。

研究中心有三大集團,我們只關注基礎的研究,所有的應用都是和合作夥伴付諸實施。目前我們目標的導向型技術研究集團,讓更多的技術人員和產業量化人員在這邊工作。對於我們來說,更多只是關注最基層的基礎的AI的研究,還有一個組是我們AI社會研究組。我們有很多的合作夥伴,像大學、公司等,在也有很多很好的大學進行合作和聯繫,我們希望能有機會邀請諸位去我們日本的智能研究中心去看一看。

計算資源對於我們來說也非常的重要,我們決定購買了24台NVIDIA DGX-1,我們在Green 500列表上排名第4,我們現在能實現10.602個千兆次的計算能力。我們的辦公室在東京,和火車站非常近,東京站走過去就可以看到我們的大樓。我們在大樓的15樓,入口是這樣的,在內部我們有一個非常開放的討論空間,也可以邀請來自學術界、研究機構的客人過來進行討論。

下一次大家如果有機會來東京,可以到東京站,走10分鐘的時間就能夠看到我們的研究中心,希望我們可以有機會探討交流,謝謝大家。

CAAI原創 丨 作者Masashi Sugiyama

未經授權嚴禁轉載及翻譯

CCAI 2017更多精彩內容,歡迎點擊閱讀原文,一次掌握「現場微信群」、「圖文報道」、「視頻直播」、「PPT下載」以及「大會期刊」所有入口!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦