小樣本學習,路在何方?

深度學習大講堂發表於2020-01-10

議題1

小樣本 vs 大樣本,多“小”才算小,多“大”才算大?什麼樣的情況下,需要專門設計“小樣本”學習演算法?小樣本學習在智慧體學習過程中如何和不同大小樣本的資料融合?如何在資料積累中過渡到大樣本學習?

付彥偉:這個問題很基礎也很有意思,我們其實做小樣本,一般都考慮每個類只有一個三個五個、或者十來個樣本,這種one-shot 、three-shot、five-shot情況。此外在深度學習之前,從partical learning這個角度來看其實有些問題可以借鑑,在統計學,小樣本學習不叫one-shot learning,而叫做smoothing probability,也就是小樣本可能還和特徵維度有關係。假設你的特徵維度是D的話,當樣本量小於logD,就算一個比較小的樣本。當然現在有深度學習了,我們可能並不會從這個角度去看。

至於什麼樣的情況需要專門設計小 樣本學習演算法,其實這是一個很實際或者很工業的問題,比如在醫療影像處理中解決很罕見的病變,樣本量確實不夠,我們想去學一個分類器就只能根據這個資料去設計小樣本學習演算法。

小樣本學習在智慧體學習過程如何和不同大小樣本的資料融合,這其實有很多角度。比如李飛飛老師在 ICCV2003年的一篇文章,透過貝葉斯這條思路去融合;我們也可以和專家系統,或者透過一些專家知識融合,甚至可以和不同的領域,比如vocabulary inference learning領域,透過NLP去學習一些語義字典幫助小樣本學習;如何在資料積累中過渡到大樣本學習,這有一個很典型的增量學習問題。 

何旭明:從視覺概念的認知角度來看,小樣本的“大小”也體現在它與其他類別之間區分度的大小。即使有些類別樣本數量比較小,如果它和其他類別相似度較高,可以用很多先驗知識來幫助學習這些小樣本,因此也可以不算“小樣本”。如果碰到一個和其他類區別很大的類別,可能通常的學習就會變得非常困難,需要當作小樣本看待。

如果利用一些先驗知識能夠幫助學習小樣本類別,我覺得這種情況是可以設計相關演算法的。但如果很難得到先驗知識,那無論什麼設計也學不到有用資訊。

針對如何從不同大小樣本中的資料融合問題,我認為可以從大樣本入手開始學習,然後擴充套件到小樣本。即使類別不同,如果有相關性的話,依然可以去借鑑大樣本統計上的一些規律來幫助小樣本學習。

最後,借鑑人類的學習過程來說,一開始可能是小樣本,然後不斷在資料積累和反饋機制下,可以獲得更新的資料。這樣可以把視覺概念的表徵不斷地細化,最後能夠自然而然地就能過渡到大樣本。

馬佔宇:關於如何與不同規模大小樣本的資料融合,我覺得還有一個不平衡的學習問題。即首先分清哪些類別樣本是小的,哪些類別是大的。這種情況下,不是簡簡單單真地把小樣本變大,或者是說把大樣本增強,理想的狀況是能夠在資料分佈不平衡的情況下,去做一個比較好的分類器。

議題2

引入知識來彌補小樣本的資料不足是一個較為公認的趨勢,到底什麼算是“知識”,有哪些形式?目前真正管用/好用的“知識”是什麼,來自哪裡?

王瑞平:現在模型能夠取得成功,基本上都是依賴資料驅動。在資料不足的情況下,尤其在零樣本學習(極端情況)裡面,一定要利用語義的知識去輔助。到底什麼算是“知識”,現在零樣本里面可能會用一些屬性的標註,包括一些類別在語義層面的相似性關係,都算比較底層的知識。從人類的認知角度來看,相關的知識庫和應用也可稱之為“知識”,這可能是一種更自然的方式。

那麼目前真正管用或者是好用的“知識”有哪些?在零樣本和小樣本學習裡面,大部分還是屬性、詞向量這種人類手工標註的語義描述,其實這種知識可擴充套件性比較差。我們不可能對所有類別標註它所需要的全部知識,將來更有實踐意義的,應該是從大量原始文字資料中進行類別相關的語義挖掘和提純,然後結合手工標註的屬性。這方面目前很大程度上仍受限於自然語言處理技術的發展,所以真正地用知識去彌補資料不足應該是可努力的方向。

何旭明:在一些特定專業領域裡面標註是很困難的,比如醫學影像分析。但是很多醫學學科已經建立了比較完整的知識體系,因此充分利用這些專業的知識體系,可以幫助彌補資料匱乏的弱點。

付彥偉:從貝葉斯的角度,我們可以把知識當做一個先驗資訊,把小樣本或者這些知識建模成一個分佈,來幫助小樣本學習。甚至可能從圖形學模型的角度去思考,比如把一些領域的知識建模成一個ontology或者是一個圖形學模型。目前這方面還沒有探索得特別清楚,掌握知識其實是一個很基礎的問題。

議題3

在小樣本學習的實際場景中,資料量缺乏會帶來domain gap(域漂移)問題,怎麼看待域漂移給小樣本學習帶來的挑戰?

馬佔宇:我覺得域漂移和知識遷移都屬於跨域問題,從不同域之間這個層面上來定義比較好。所以說域漂移給小樣本學習帶來了挑戰,也帶來了一些好處和機會,比如我們前面提到的跨模態、多模態,可以把不同域之間的知識融合起來,最終進行小樣本學習。

議題4

什麼樣的小樣本訓練資料集能夠產生較好的模型?

付彥偉:源資料和目標資料比較相近或者相似的時候,源資料上訓練的模型用於目標資料的小樣本學習,效果還是比較好的,如果差得比較大的話,其實還是有很大影響的,這個其實直接就和域漂移有很大關係。我們在做一些缺陷檢測時也會遇到很多類似的問題。

何旭明:在實用場景裡面可以依據情況來考慮樣本選擇,依據問題賦予的靈活性分兩種情況:第一類問題,如果類別是可以選的,那就選擇和源資料比較近的樣本;第二類,如果類別是預規定好的,可以在每個類別透過資料選擇產生一些比較好的資料幫助訓練。

議題5

one-shot learning要解決的是僅有少量訓練資料時模型的過擬合問題麼?那傳統解決過擬合的方法(如特徵選取,正則化,提高訓練樣本多樣性等)如何體現在現有的one-shot方法中呢?

付彥偉:之前基本就是以上的傳統策略。但是有了深度學習之後,我們如果不用遷移學習,每個類5個訓練樣本來訓練一個學習器,可能就要考慮特徵選擇、正則化這些問題。用深度學習的話,這個問題應該還是存在的,可能只是形式變了,我們採用batch normalization 或者instance normalization來進行正則化,特徵選取可能也能對應得上。因為我們在深度學習中會隱含去做這些事情,比如說注意力機制本身也是一種特徵選取。

何旭明:注意力機制實際上其實是在動態地特徵選取。正則化的作用,除了BN,其實你的網路模型設計就體現了對模型的約束;還有模型訓練的損失函式設計也體現了這點,比如新增額外的約束項。提高訓練樣本的多樣性的話,現在很多的趨勢,就是做feature augmentation(特徵增廣)。

議題6

機器學習(深度學習)如今依賴海量資料,樣本量過小容易過擬合,模型表達能力不足。但某些實際場景下樣本很難收集,應該如何處理這些問題,如何防止過擬合?

王瑞平:這應該就是小樣本學習的背景,小樣本和資料不平衡問題其實是共生的,實際生活當中這兩個問題是普遍存在的。從企業界的專案經驗來看,透過資料增廣、相似類別之間的知識遷移、資料合成和domain adaptation(域自適應學習)。針對樣本類別之間的不平衡問題,可以做資料的合成或者分類器的合成。

馬佔宇:樣本量過小導致的過擬合不僅是小樣本學習中面臨的問題。傳統機器學習裡也同樣面臨這個問題,需要結合不同場景具體分析。

議題7

在小樣本學習中如何考慮任務之間的相關程度?如何在新領域的任務中應用小樣本學習方法?

何旭明:現在的很多假設任務是獨立同分布的,也就是從一個分佈中取樣出獨立的任務。在這個假設下,很難去探索任務之間的相關度。在實際應用中,這個假設是比較強的,很多時候任務之間的確是有相關度的。那麼或許最後會變成一個類似於多工學習的問題設定。

議題8

零樣本學習中,輔助資訊(屬性,詞向量,文字描述等)未來的發展趨勢是怎樣的?

付彥偉:無論影像識別、自然語言處理還是其他領域,都可能會存在零樣本學習的問題。屬性和詞向量也有很多缺點,比如多義性,你說apple是apple公司還水果apple,這本身就有歧義性。

何旭明:如果利用這些輔助資訊其中的內在關聯建立起資訊之間的聯絡,就可能是一種有結構的知識圖譜。換個角度,因為這些屬性詞向量,就是知識表達的一個具體體現,而背後的應該是整個的一個知識體系。

議題9

可解釋性學習能否促進零樣本學習的發展?

馬佔宇:我先打一個比方,可能不太恰當。在訊號處理領域裡,我們接受到的是訊號,然後從中獲取資訊,最後又把資訊提煉成知識,這個是不同層次,不同內涵的事情。當然對於我們做視覺任務來說,也許就是影像中尋找一些顯著區域,然後在該區域蒐集某些特徵、目標。因此,從這個角度講,可解釋性學習對零樣本的發展是有幫助的,但是目前如何促進以及結合知識,我覺得還是一個比較有挑戰或者開放的問題。

王瑞平:模型的可解釋性肯定能促進零樣本學習的發展,零樣本學習之所以能做,就是因為能夠去建立類別之間的關聯,把所謂的已知類的語義資訊遷移到未知類別上面。

類別透過什麼關聯的呢?其實類別背後的根本是一些概念的組合,比如有沒有四條腿、皮毛、何種顏色等概念。那麼如果能夠從已有分類模型中學習出來樣本和類別間的因果關係,並知道類別之間的差異何在,以及模型與概念的對應關係,試圖去解決零樣本和小樣本之間的問題,就能追溯到可遷移的根本所在。

付彥偉:深度學習的可解釋性可能更側重於特徵的描述,零樣本學習最開始的一些工作,其實一直都是以可解釋性這個思路去做,就是把X對映到一個Y,Y是H的空間,後來我們又透過這種語義的可解釋性來做零樣本學習。如果單純地只是深度學習特徵的可解釋性,就相當於怎麼去更好地提取X,由X去構造零樣本學習.。

小結

正所謂“巧婦難為無米之炊”,在使用深度學習這一工具解決實際問題時,難免會遇到樣本不足的情況。而受人類快速學習能力的啟發,研究人員希望機器學習模型能夠在習得一定類別資料後,只需少量樣本就可以學習新的類別,這就是小樣本學習(Few-shot Learning)要解決的問題。

“樣本量與特徵維度的大小關係“、”樣本與其他類別的區分度”等因素,可能和大小樣本的界定有緊密關聯。小樣本學習可以同專家系統、自然語言處理等領域融合,並藉助大樣本上的資料積累和一些反饋機制自然過渡到大樣本學習。雖然小樣本學習是人類學習的一個特長,但即便是人類,其本質上的學習也是基於大樣本的,它包括漫長的進化過程和多模態共生資訊的影響,人類的“舉一反三”依舊是基於大資料和知識的轉化問題。因此,透過引入知識來彌補小樣本的資料不足是一個較為公認的趨勢。人類手工標註或者提取自大資料的語義描述、特定領域的知識體系都是可利用的“知識”。在實際應用中,小樣本和資料不平衡往往是共生的,透過資料增廣、相似類別之間的知識遷移、資料合成、結構化的知識圖譜、域自適應學習、藉助模型的可解性等策略可提升小樣本學習效能。

相關文章