小样本点云深度学习库_小样本学习综述报告
文章內(nèi)容整理:Enneng Yang,?Xiaoqing Cao
本文僅作為學(xué)習(xí)交流使用,如有問題,請聯(lián)系ennengyang@qq.com。
1.小樣本問題的研究意義?●○
深度學(xué)習(xí)已經(jīng)在各個領(lǐng)域取得了非常優(yōu)異的表現(xiàn),但傳統(tǒng)的深度學(xué)習(xí)需要大量有標(biāo)簽的樣本來進(jìn)行訓(xùn)練,當(dāng)樣本不充分時,模型性能將嚴(yán)重下降。然而現(xiàn)實情況下不是所有任務(wù)下都能獲得大量有標(biāo)簽的樣本。例如醫(yī)療保健和城市計算領(lǐng)域,我們僅有少量(標(biāo)記)數(shù)據(jù),因此面臨的挑戰(zhàn)是如何使機(jī)器學(xué)習(xí)算法在處理小數(shù)據(jù)時仍能很好地工作?
細(xì)想一下,一般哪些場景會需要解決這種多分類少樣本的情況呢?
圖像:字符識別、極多類的圖像分類、圖像檢索、目標(biāo)跟蹤、視覺問答等
NLP: 問答、翻譯、語言模型等
推薦&廣告:冷啟動、低頻長尾分布等
然而,我們?nèi)祟悈s能通過少量的樣本學(xué)習(xí)去識別出那些新出現(xiàn)的類別,比如人類一開始只是認(rèn)識貓,不認(rèn)識老虎,但他只在圖書室看了一眼老虎的圖片,當(dāng)某天去到動物園的時候,人是很容易就認(rèn)出老虎的,而不會把它當(dāng)作貓。因此,學(xué)習(xí)使用有限數(shù)量的帶標(biāo)簽的樣本來推廣到新類別是非常有趣的。
所以小樣本研究的意義就在于:現(xiàn)實中有很多任務(wù)無法拿到足夠的樣本去學(xué)習(xí),通過小量樣本進(jìn)行學(xué)習(xí),降低樣本數(shù)量和成本,進(jìn)而解決實際的問題是一個迫切的需求。而所有解決小樣本問題的方法,歸結(jié)下來都是:挖掘事物高層的語義表示,得到先驗知識(從任務(wù)集合中提取和傳播可遷移的知識),使訓(xùn)練出的模型具有可遷移性(能遷移到小樣本)。
2.小樣本的核心問題?●○以上是一些小樣本問題的直觀說明,如何從理論上更形式化的來解釋小樣本問題的困難呢?
我們回顧一下機(jī)器學(xué)習(xí)問題:我們有一個訓(xùn)練數(shù)據(jù)I={X, Y}, 假設(shè)I中的所有X都滿足一個隱含的、未知的分布P, 也就是說I中所有的樣本都是從P中獨立同分布(i.i.d)采樣出來的。假設(shè)h是算法L學(xué)習(xí)到的從X到Y(jié)的映射,并且有 $ h \in H $, H是算法L的假設(shè)空間。我們可以定義h的期望風(fēng)險(expected risk)為:
(1)
但顯然我們無法觀察到整個分布P,觀察到的僅僅是采樣后的訓(xùn)練集I,也就是p(x,y)是未知的,因此我們需要定義經(jīng)驗風(fēng)險(empirical risk):
(2)
機(jī)器學(xué)習(xí)是通過經(jīng)驗風(fēng)險最小化來完成的。我們定義下列三個符號:
對于訓(xùn)練集的隨機(jī)選擇,學(xué)習(xí)的總誤差可以分解為:
(3)
approximation error是度量H中的算法L有多接近最優(yōu)假設(shè)空間H;estimation error測量在H范圍內(nèi)最小化經(jīng)驗風(fēng)險RI(H)而不是期望風(fēng)險R(H)的效果。由公式(3)可以看出總誤差受H(假設(shè)空間)和I(訓(xùn)練集中的樣本數(shù))的影響。在假設(shè)空間一樣的情況下,我們知道:
(4)
從這里其實就可以進(jìn)一步明確小樣本學(xué)習(xí)的問題是:小樣本的情況下,經(jīng)驗風(fēng)險最小化空間hI不再可靠。因此,小樣本學(xué)習(xí)比一般的機(jī)器學(xué)習(xí)問題要困難得多。
小樣本問題的解決方法?●○明白了小樣本問題的所在后,該從哪些方面來解決小樣本問題呢?小樣本問題其實主要分為從:數(shù)據(jù)增強(qiáng)、模型約束空間、搜索算法三個層面來提供先驗知識。
數(shù)據(jù)增強(qiáng)就是說那我就想辦法給小樣本的任務(wù)更多的數(shù)據(jù);約束模型空間是指既然我樣本少,沒法在復(fù)雜的模型空間中訓(xùn)練好,那我就想辦法約束我的搜索空間;搜索算法是指,普通的SGD從頭訓(xùn)練我的參數(shù)我可能沒有那么多樣本去修正,那我就找一個更好的優(yōu)化算法或者更容易優(yōu)化的參數(shù)初始值。下面我們一一介紹常見的這些方式。
3.1數(shù)據(jù)增強(qiáng)
這個方法其實是最簡單直接的方式,我們剛剛已經(jīng)說了小樣本的核心問題在于數(shù)據(jù)量太少導(dǎo)致經(jīng)驗風(fēng)險不可靠,那么如果能想辦法增加數(shù)據(jù),就會由小樣本學(xué)習(xí)問題變?yōu)閭鹘y(tǒng)的機(jī)器學(xué)習(xí)問題了,那我就用傳統(tǒng)的方式就好了。
增加數(shù)據(jù)有哪些手段呢?
手工規(guī)則:圖像領(lǐng)域包括反轉(zhuǎn)、旋轉(zhuǎn)、變形、縮放、對比等(預(yù)處理),NLP領(lǐng)域包括term順序、同義詞替換(預(yù)處理)。
基于學(xué)習(xí)的規(guī)則:核心就是拿同一個類的樣本去學(xué)習(xí)互相轉(zhuǎn)化的模式,比如用auto-encoder的方式去訓(xùn)練相似類別的圖片,然后給新的圖片加一點噪聲就能產(chǎn)生新的樣本;翻譯算法的來回翻譯(中->英->中)。
弱標(biāo)注或者無標(biāo)注數(shù)據(jù):比如圖像可以進(jìn)行無監(jiān)督的標(biāo)簽傳播, 直接用于標(biāo)記那些未知標(biāo)簽的數(shù)據(jù)來提升信息量。
相似數(shù)據(jù)集:利用普通馬的數(shù)據(jù)輔助斑馬識別,貓輔助老虎(但應(yīng)引入變異度量);生成對抗網(wǎng)絡(luò)生成和真實數(shù)據(jù)相近的數(shù)據(jù)。
3.2預(yù)估模型
解決小樣本問題的另一個出發(fā)點就是:如果我們能挖掘高層次的語義特征,降低模型參數(shù)空間和優(yōu)化難度,就能很好的適應(yīng)小樣本任務(wù)。
3.2.1.多任務(wù)學(xué)習(xí)模型(multi-task learning)
多任務(wù)學(xué)習(xí)模型同時學(xué)習(xí)多個任務(wù), 充分利用跨任務(wù)共享的通用信息和每個任務(wù)的特定信息來增強(qiáng)各個任務(wù)。
多任務(wù)學(xué)習(xí)模型的核心也就在于參數(shù)共享,怎么設(shè)置參數(shù)共享呢? 目前的模型可以分為兩大派別:軟(soft)/硬(hard)參數(shù)共享。
共同點:都是用來自其他任務(wù)的數(shù)據(jù)幫助緩解這種數(shù)據(jù)稀疏問題;共享參數(shù)本身大大降低了過擬合的風(fēng)險;如何確定網(wǎng)絡(luò)共享程度和共享部分是一個關(guān)鍵。
差異點:hard結(jié)構(gòu)是固定的,前提是比較相關(guān)的任務(wù),應(yīng)用方便,但當(dāng)任務(wù)相關(guān)度下降或者需要不同程度的推理時,硬共享就不合適了。軟共享一般是使用loss函數(shù)進(jìn)行限制(即盡量鼓勵不同任務(wù)的部分參數(shù)相似),理論上更robust,但他參數(shù)多,而且依賴人工設(shè)計。主流的思想是將兩種結(jié)合:典型的代表比如十字繡網(wǎng)絡(luò)(Cross-stitch)。
多任務(wù)的學(xué)習(xí)模式可以為學(xué)習(xí)者提供一個良好的參數(shù)空間H,并對不同的任務(wù)進(jìn)行快速概括。然而,如何在不引入負(fù)遷移(negative transfer)的情況下對一個新的但不相關(guān)的任務(wù)進(jìn)行泛化尚不確定。
3.2.2. 嵌入學(xué)習(xí)(embedding learning)
這里降低參數(shù)空間復(fù)雜度的思想是:通過學(xué)習(xí)區(qū)分相似度和不相似度的樣本方式來構(gòu)建一個規(guī)模更少的嵌入空間來降低參數(shù)空間。比如單獨看百度百科描述老虎和貓,我們不可能把所有貓的特征和老虎的特征都去直接單獨描述,但其實只要三句話可能就能描述出兩者的區(qū)別,進(jìn)而可以分類。所以主要思想是:由學(xué)習(xí)表示樣本的全部信息變化到學(xué)習(xí)樣本的差異性。因此要注意的是,嵌入學(xué)習(xí)(embedding learning)主要使用在分類任務(wù)上。
嵌入學(xué)習(xí)主要是基于度量學(xué)習(xí)來區(qū)分相似或者不相似。這種基于距離度量學(xué)習(xí)的方式效果很顯著:文獻(xiàn)[2]的結(jié)果表明,一個帶有基于距離分類器的簡單基線方法(不像元學(xué)習(xí)那樣對任務(wù)/事件集進(jìn)行訓(xùn)練)就取得了與其他復(fù)雜算法相似的性能。
3.2.3. 記憶模型(learning with external memory)
這種方式通過引入額外的memory network來存儲其他任務(wù)的先驗信息。
原理:嵌入函數(shù)f是從外部先驗知識學(xué)習(xí)的。當(dāng)有一個新樣本時,從memory空間中提取出與該樣本的相似度最高的鍵值對。然后將鍵值輸入到預(yù)測模型中。當(dāng)memory空間不滿時,新的樣本都會寫入空的記憶中;空間已滿時,須設(shè)定新的規(guī)則以決定新的樣本取代或者更新現(xiàn)有鍵值對。
3.2.4.生成模型(generative modeling)
這里的生成建模方法是指涉及p(x,y)的這一類方法。他們利用先驗知識和訓(xùn)練集來得到估計分布。生成建模方法更新訓(xùn)練集上的概率分布進(jìn)行預(yù)測。
為什么用生成模型:從統(tǒng)計的角度表示數(shù)據(jù)的分布情況,能夠反映同類數(shù)據(jù)本身的相似度;生成方法當(dāng)樣本量增加的時候,學(xué)習(xí)到的模型可以更快的收斂于真實模型。
生產(chǎn)模型核心還是挖掘出高階的、高層次的語義特征去輔助新任務(wù)學(xué)習(xí)。一些典型的方法包括基于VAE的,基于GAN的,基于推理網(wǎng)絡(luò)的。
3.2.5.從模型遷移知識的方式總結(jié)
多任務(wù)學(xué)習(xí)方法通過一組共同學(xué)習(xí)的任務(wù)來約束小樣本任務(wù)的學(xué)習(xí)時間。他們可以在不同的任務(wù)之間進(jìn)行溝通,并在優(yōu)化過程中改進(jìn)這些任務(wù)。它們還隱式地增加數(shù)據(jù),因為一些參數(shù)是由多個任務(wù)共同學(xué)習(xí)的。但是,進(jìn)行聯(lián)合訓(xùn)練的目標(biāo)任務(wù)(這里指的就是小樣本的那個任務(wù))一開始訓(xùn)練就必須是參與訓(xùn)練的多個任務(wù)之一。因此,對于每個新的任務(wù),都必須從頭開始學(xué)習(xí),這可能代價高昂且速度緩慢。它不適合只有一次機(jī)會的任務(wù)或喜歡快速推理的任務(wù)。
嵌入學(xué)習(xí)方法學(xué)習(xí)的是在較小的嵌入空間內(nèi)嵌入樣本,在較小的嵌入空間內(nèi)可以很容易地識別出相似對和不相似對。因此空間H是有約束的。大部分方法從大規(guī)模數(shù)據(jù)集中學(xué)習(xí)任務(wù)不變性信息,并吸收新任務(wù)的任務(wù)特性。一旦學(xué)會,大多數(shù)方法可以通過前向傳遞很容易地從新任務(wù)中歸納出來。然而,如何將任務(wù)的不變性量和特定信息有原則地混合在任務(wù)中尚不清楚。
外部存儲學(xué)習(xí)方法通過存儲在內(nèi)存中的訓(xùn)練集對每個樣本進(jìn)行細(xì)化和重新解釋,從而重塑空間H。將訓(xùn)練樣本顯式存儲在內(nèi)存中,避免了為適應(yīng)訓(xùn)練樣本而進(jìn)行艱苦的再訓(xùn)練。特定于任務(wù)的信息被有效地使用并且不會輕易地被忘記。然而,使用外部存儲器進(jìn)行學(xué)習(xí)會帶來額外的空間和計算開銷。
生成式建模方法從先驗知識中學(xué)習(xí)先驗概率,形成H的形態(tài),具有良好的解釋能力、因果關(guān)系和組合性。通過學(xué)習(xí)聯(lián)合分布p(x,y),他們可以處理更廣泛的任務(wù),如生成和重建。通過學(xué)習(xí)生成模型,可以生成大量樣本進(jìn)行數(shù)據(jù)擴(kuò)充。然而,與其他模型相比,生成式建模方法通常具有較高的計算成本和推導(dǎo)難度。為了計算的可行性,它們需要對結(jié)構(gòu)進(jìn)行嚴(yán)格的簡化,從而導(dǎo)致不準(zhǔn)確的近似。
3.3.訓(xùn)練算法
小樣本問題下,樣本量變少了,怎么訓(xùn)練,才能避免過擬合,并更快找到最好的參數(shù)模型呢?我們知道,大部分深度學(xué)習(xí)模型的參數(shù)都是使用SGD或者其變種(Adam, Adagrad...)來進(jìn)行更新:
當(dāng)樣本豐富時,可以通過足夠的訓(xùn)練樣本把θ更新到足夠的精度。然而在Few-shot中沒有足夠的樣本,因此獲得的經(jīng)驗風(fēng)險是不可靠的。本節(jié)利用先驗知識來改變對參數(shù)化h*的變量θ的搜索,從而解決小樣本問題。
3.3.1完善現(xiàn)有參數(shù)(Refine existing parameters)
這種方式是假設(shè)θ通過從大規(guī)模數(shù)據(jù)中學(xué)習(xí)獲取一般的結(jié)構(gòu),因此可以使用幾次迭代對其進(jìn)行調(diào)整,使其在few-shot數(shù)據(jù)集上工作得很好。
微調(diào)參數(shù)(Fine-tune):在這種方式中,最核心的問題就是如何避免over-fitting. 一般使用以下策略:early-stop(只做有限度的更新); 選擇只更新一部分參數(shù)(只選擇部分參數(shù)進(jìn)行更新,例如最后一層)等
聚合參數(shù)(Aggregate):在一些情況下,我們無法的得到可以微調(diào)的參數(shù),比如我要做人臉識別任務(wù),但我只有一些眼睛識別,耳朵識別,嘴巴識別的數(shù)據(jù)訓(xùn)練好的參數(shù),這時候我們可以選擇把這些參數(shù)聚合起來:
3.3.2完善meta參數(shù)(Refine meta-learned)
元學(xué)習(xí)者(meta-learner)從一組任務(wù)中學(xué)習(xí),這些任務(wù)與few-shot任務(wù)的任務(wù)分布相同,然后輸出一個general的學(xué)θ,然后每個學(xué)習(xí)者使用自己的訓(xùn)練集對元學(xué)習(xí)者提供的θ進(jìn)行優(yōu)化。
元學(xué)習(xí)的范圍可以很廣,我們在附錄中單獨介紹這一部分。基于元學(xué)習(xí)完善(Refine meta-learned)的方法主要是:
Refine by Gradient Descent.:該策略利用梯度下降法對元學(xué)習(xí)的θ進(jìn)行了改進(jìn)。一個典型的代表是:Model-Agnostic Meta-Learning (MAML)[7], 元學(xué)習(xí)的目的是為所有的任務(wù)都學(xué)一個好的初始化,因此當(dāng)一個few-shot任務(wù)來的時候,可以根據(jù)很少的梯度更新就可以學(xué)習(xí)好。當(dāng)然,MAML為所有任務(wù)提供的都是相同的初始化,這種初始化只適合任務(wù)相似時,當(dāng)任務(wù)不相似就會有極差的性能。因此有一些模型從為每個任務(wù)都提供不同的初始化出發(fā)[8]。
學(xué)習(xí)搜索步驟(Learn search steps): 該策略通過學(xué)習(xí)元學(xué)習(xí)者(meta-learner)輸出搜索步驟或更新規(guī)則來直接指導(dǎo)每個學(xué)習(xí)者。它改變了搜索步驟,比如方向或步長,而不是學(xué)習(xí)更好的初始化。
總結(jié)一下,基于優(yōu)化算法的方式主要分為兩條主線:第一條主線是去學(xué)習(xí)一個良好的模型初始化(也就是模型參數(shù)),使得通過少量有標(biāo)簽樣本的梯度更新就能識別那些新的類別。另一條主線是去學(xué)習(xí)一個優(yōu)化器,比如學(xué)一個基于LSTM的meta-learner來替代隨機(jī)梯度下降優(yōu)化器(SGD optimizer)。雖然這些基于初始化的方法能夠在有限的訓(xùn)練實例數(shù)量下快速適應(yīng)新類,但實驗表明,這些方法在處理基類和新類之間的領(lǐng)域轉(zhuǎn)換方面(比如在mini-ImageNet數(shù)據(jù)集上訓(xùn)練后遷移到CUB數(shù)據(jù)集使用)存在困難[2]。
參考文獻(xiàn)
[1]?Generalizing from a Few Examples: A Survey on Few-Shot Learning. Arxiv, 2019.
[2]?A Closer Look at Few-shot Classification. ICLR, 2019.
[3] Meta-learning with memory-augmented neural networks. ICML, 2016.
[4] Neural turing machines. Arxiv, 2014.
[5] Few-Shot Object Recognition from Machine-Labeled Web Images. CVPR, 2017.
[6] Memory Matching Networks for One-Shot Image Recognition. CVPR, 2018.
[7] Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. ICML, 2017.
[8] Gradient-Based Meta-Learning with Learned Layerwise Metric and Subspace. ICML, 2018.
[9]?此處僅用于學(xué)習(xí),引用文獻(xiàn)未完整列出。
總結(jié)
以上是生活随笔為你收集整理的小样本点云深度学习库_小样本学习综述报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子信息工程班徽设计_蜻蜓AI说专业:与
- 下一篇: sv编程语言_SV及UVM高级话题篇之一