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