關於非監督式學習的簡介與應用
非監督式學習(Unsupervised Learning),是一種對於資料中不包含人類判斷(Label)的機器學習方法,在沒有過多人力判讀資料、或是沒有基礎理論而無法判讀資料時,是當前最有效的方法之一。
舉例來說:
當我們有一袋蘋果,其中有兩個品種。鑒於我們不是農業專家我們也許看不出差別,即使有色相檢測儀也無法透過色相精準判斷不同品種。
但,我們可以用非監督式學習來把袋子裡的蘋果通過色相的相似度分成兩群,這讓我們在不需要專家以及領域知識的情況下完成任務。
非監督式學習的兩種形式
非監督式學習大致有兩種形式:分群(Clustering)以及生成(Generation)
分群的案例,就如剛才的應用所言。能夠把數據根據距離或相似度(其實也是抽象的距離)分開,常見的演算法包括K-means,HAC(Hierarchical Aggolmerative Clustering)、 IEC(immune evasion cluster )
關於 IEC的理論可以參考這篇論文 "Infinite ensemble for image clustering"
而生成,則是能夠透過隨機數據,生成我們想要的圖片或資料。最經典的應用就是GAN(生成式對抗網路)中的生成器的部分。
非監督式學習的應用
在剛才蘋果的例子中,我們是將色相這種數值型數據做分群,而關於非監督式學習應用我們總是一次次學習到所謂數據點的分類,這讓一班人有一個誤解:「非監督式學習沒辦法用在影像分類上。」,但事實上這是一個很大的誤會,他是可以用在影像分類上的。影像也就是以二維或三維形式存在的數據。簡單的非監督式學習在影像分類上處理的不好的原因在於沒有辦法學習到特徵,所以近年有很多論文在非監督式學習的前面串接了一個訓練好的CNN模型,CNN模型是深度學習中能夠萃取並理解特徵的一種架構,藉此,我們就能夠把訓練好的CNN當成一個已經理解何謂特徵的特徵萃取器,用來為我們的非監督式學習模型賦能,這方面可以參考:
CNN features are also great at unsupervised classification
這篇2018年的論文,雖然這篇論文的技術性不高,但卻很容易理解。
而在這篇論文中,非監督式學習被應用在一個超商自動揀料的系統中,CNN的模型負責萃取圖片中物件的特徵(Ex: 螺絲起子、扳手),非監督式學習則根據這些被萃取出的特徵其關係,來將物件分類,並將物件置於正確的盒子中。
實際的應用請看這個影片(連結在此):
圖片來源
<a href="https://www.freepik.com/free-photos-vectors/background">Background vector created by rawpixel.com - www.freepik.com</a>