本文首先介紹了用小樣本訓(xùn)練模型會導(dǎo)致的問題,再介紹了Few-Shot Learning的基本原理即三大思路下的方法:增多訓(xùn)練數(shù)據(jù),縮小模型需要搜索的空間,優(yōu)化搜索最優(yōu)模型的過程。
1. 樣本量極少可以訓(xùn)練機器學(xué)習(xí)模型嗎?
在訓(xùn)練樣本極少的情況下(幾百個、幾十個甚至幾個樣本),現(xiàn)有的機器學(xué)習(xí)和深度學(xué)習(xí)模型普遍無法取得良好的樣本外表現(xiàn),用小樣本訓(xùn)練的模型很容易陷入對小樣本的過擬合以及對目標任務(wù)的欠擬合。但基于小樣本的模型訓(xùn)練又在工業(yè)界有著廣泛的需求(單用戶人臉和聲紋識別、藥物研發(fā)、推薦冷啟動、欺詐識別等樣本規(guī)模小或數(shù)據(jù)收集成本高的場景),F(xiàn)ew-Shot Learning(小樣本學(xué)習(xí))通過將有限的監(jiān)督信息(小樣本)與先驗知識(無標記或弱標記樣本、其他數(shù)據(jù)集和標簽、其他模型等)結(jié)合,使得模型可以有效的學(xué)習(xí)小樣本中的信息。
在介紹Few-Shot Learning的基本原理之前,首先需要知道用小樣本訓(xùn)練模型究竟會導(dǎo)致什么問題。機器學(xué)習(xí)的目標就是盡可能降低模型結(jié)果與真實結(jié)果的誤差,而這個誤差可以進一步分解成兩部分:
approximation error:基于現(xiàn)有的特征和算法能訓(xùn)練的最優(yōu)模型h*能達到的表現(xiàn),跟理論上最優(yōu)模型h^的表現(xiàn)的差距
estimation error:實際訓(xùn)練的模型h_I的表現(xiàn)與基于現(xiàn)有的特征和算法能訓(xùn)練的最優(yōu)模型h*能達到的表現(xiàn)的差距;
在小樣本任務(wù)中,用小樣本訓(xùn)練的模型很容易陷入對小樣本的過擬合以及對目標任務(wù)的欠擬合,導(dǎo)致實際訓(xùn)練的模型h_I的表現(xiàn)與基于現(xiàn)有的特征和算法能訓(xùn)練的最優(yōu)模型h*能達到的表現(xiàn)的差距無法通過訓(xùn)練和超參數(shù)調(diào)整有效的縮小,使模型的整體表現(xiàn)較差。
根據(jù)機器學(xué)習(xí)模型在小樣本上難以學(xué)習(xí)的原因,F(xiàn)ew-Shot Learning從三個角度解決問題,(1)通過增多訓(xùn)練數(shù)據(jù)提升h_I(Data)、(2)縮小模型需要搜索的空間(Model)、以及(3)優(yōu)化搜索最優(yōu)模型的過程(Algorithm)。
2. Few-Shot Learning概述
下面將逐個介紹第一部分提到的Few-Shot Learning的三大思路下的方法。
2.1 增多訓(xùn)練數(shù)據(jù)
通過prior knowledge增多訓(xùn)練數(shù)據(jù) (Experience),方法主要分為3類:
(1)數(shù)據(jù)增強(Data Augmentation)類方法。較初級的數(shù)據(jù)增強方法是人工制定規(guī)則,包括對圖片樣本進行旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、增加噪音等操作,但此類方法不足以有效提升模型的泛化能力,規(guī)則的制定也依賴領(lǐng)域知識,通常難以做到在多個數(shù)據(jù)集之間通用;高階的數(shù)據(jù)增強方法利用其他數(shù)據(jù)集的信息生成更多目標class的樣本,通過模型(多為encoder-decoder結(jié)構(gòu))學(xué)習(xí)樣本內(nèi)和樣本外的變化分布并生成新樣本,基于樣本外信息(有監(jiān)督)的模型可以將圖片映射為的不同的天氣、景深、角度等,基于樣本內(nèi)變化(無監(jiān)督)的模型則學(xué)習(xí)其他class的樣本內(nèi)部變化(如圖片的不同視角)并應(yīng)用于目標的小樣本class上。數(shù)據(jù)增強類方法可與其他Few-Shot Learning方法同時使用,普遍用于計算機視覺場景,但部分高階方法有應(yīng)用于其他場景的潛力。關(guān)于數(shù)據(jù)增強類方法的更多介紹和reference見2020年清華和滴滴的paper"Learning from Very Few Samples: A Survey"。
(2)基于弱標記樣本或無標記樣本得到更多目標class樣本,主要包括半監(jiān)督學(xué)習(xí)和主動學(xué)習(xí)兩類。半監(jiān)督學(xué)習(xí)的典型例子是Positive-Unlabeled Learning,很多Two-step算法通過正樣本和無標記樣本訓(xùn)練分類器,直接擴大正樣本規(guī)模、或利用分類器權(quán)重讓無標記樣本參與到正樣本的學(xué)習(xí)中;而主動學(xué)習(xí)選擇對模型訓(xùn)練最“有用”的樣本進行標注。半監(jiān)督學(xué)習(xí)和主動學(xué)習(xí)適合有大量無標記數(shù)據(jù)、但樣本標注成本較高的場景。
(3)基于目標Class的小樣本數(shù)據(jù)訓(xùn)練GAN,直接生成目標class的更多樣本。適用于僅有小樣本、無標記樣本很難收集的場景。
2.2 縮小模型需要搜索的空間
通過prior knowledge縮小模型需要搜索的空間(hypothesis space),多為meta-learning類方法。
(1)Multi-task learning:
用神經(jīng)網(wǎng)絡(luò)同時學(xué)習(xí)多個任務(wù),使一部分隱藏層關(guān)注跨任務(wù)的通用信息、一部分隱藏層關(guān)注特定任務(wù)的信息。在學(xué)習(xí)過程中,一個任務(wù)的模型參數(shù)被其他任務(wù)約束,即任務(wù)之間會有類似正則化的效果。分為直接在不同任務(wù)間共享部分隱藏層的參數(shù)的parameter sharing類方法,和懲罰不同任務(wù)的參數(shù)差異的parameter typing類方法。此類方法的缺點也很明顯,用于訓(xùn)練的多個任務(wù)(包括目標的小樣本在內(nèi))若不夠相似(理想狀況下各個任務(wù)都屬于一個多分類任務(wù))則會影響最終學(xué)習(xí)效果,且同時訓(xùn)練多個任務(wù)的計算成本很高、速度很慢。詳細介紹和reference見2020年香港科技大學(xué)和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”。
(2)Embedding learning:
將樣本投影到更易區(qū)分不同class的低維空間,維度更低、特征表示更容易區(qū)分不同class意味著模型需要搜索的空間更小。用于投影的embedding function通常從prior knowledge中學(xué)習(xí),也可以利用目標class的小樣本的信息。Metric Learning和Meta-Learning中的Learn-to-Measure類算法均屬于這一類別,通過學(xué)習(xí)embedding function (訓(xùn)練數(shù)據(jù)的f(x)和測試數(shù)據(jù)的g(x)),采用訓(xùn)練樣本和測試樣本的embedding的相似度作為測試樣本屬于相應(yīng)訓(xùn)練樣本的class的概率,相似度可以采用相似度指標(Euclidean、Cosine等)或可學(xué)習(xí)的相似度模型(神經(jīng)網(wǎng)絡(luò))。此類算法的詳細介紹見2020年香港科技大學(xué)和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”的4.2和4.3.1。
(3)Learning with external memory
記憶網(wǎng)絡(luò),常用于NLP場景和問答系統(tǒng),從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)key-value pair作為一個個記憶,與embedding learning相似需要學(xué)習(xí)一個embedding function f,但需要計算相似度的是樣本的embedding f(x)和記憶庫里的key,最相似的value作為該樣本的embedding(或取多個最相似的value的加權(quán)平均),隨后輸入一個簡單的分類器(e.g. softmax)。將query樣本的embedding限制為記憶庫里的value極大的縮小了模型需要搜索的空間(hypothesis space),但為了學(xué)習(xí)和存儲記憶,此類方法通常需要較大的空間占用和計算成本。
(4)Generative Modeling
借助prior knowledge估計樣本概率分布p(x|y)和p(y),以latent variable的形式參與到小樣本任務(wù)的訓(xùn)練中,縮小模型需要搜索的空間(hypothesis space)。latent variable可以有三種表現(xiàn)形式,decomposable components(例如人臉識別場景中的鼻子、眼睛、嘴)、group-wise shared prior(小樣本任務(wù)可能與其他任務(wù)相似,那么其他任務(wù)的概率分布就可以作為小樣本任務(wù)的先驗概率)、parameters of inference networks(基于大規(guī)模數(shù)據(jù)集訓(xùn)練推斷網(wǎng)絡(luò)并直接用于小樣本任務(wù),基于VAE和GAN的居多),詳細reference見2020年香港科技大學(xué)和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”的4.4.3。
2.3 優(yōu)化搜索最優(yōu)模型的過程
通過prior knowledge優(yōu)化在hypothesis space中搜索最優(yōu)模型的過程(即模型訓(xùn)練過程)。包括refine existing parameters(遷移學(xué)習(xí))、refine meta-learned parameters(Meta-Learning中的Learn to fine-tune和learn to parameterize均屬于這個類別,借助meta-learner幫助base learner更快的收斂)、learn the optimizer(訓(xùn)練meta-learner指導(dǎo)梯度下降的方向和步長)。此類方法可以極大加快搜索最優(yōu)模型的過程,但存在為了速度犧牲精度的成分、且受元學(xué)習(xí)領(lǐng)域常見的難題的影響較大(例如如何在不同粒度的任務(wù)間元學(xué)習(xí) e.g. 動物物種和狗的種類,以及如何避免元學(xué)習(xí)時不同任務(wù)對參數(shù)的影響的相互中和)。
責任編輯:lq6
-
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8460瀏覽量
133436
原文標題:樣本量極少如何機器學(xué)習(xí)?最新Few-Shot Learning綜述
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
機器學(xué)習(xí)模型市場前景如何
《具身智能機器人系統(tǒng)》第7-9章閱讀心得之具身智能機器人與大模型
AI大模型與傳統(tǒng)機器學(xué)習(xí)的區(qū)別
直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)

評論