一疏之、基本信息
??題目:Small Sample Learning in Big Data Era
??期刊/會議:arXiv
??發(fā)表時間:2018年
??引用次數(shù):1
二秉馏、論文總結(jié)
2.1 研究方向
??小樣本學(xué)習(xí)綜述
2.2 主要內(nèi)容
??小樣本學(xué)習(xí)主要包括兩個方向:concept learning和experience learning箭启。其中馏慨,concept learning目的是利用concept system替劈,計算樣本特征和concept的相似度赔硫,使得在新類別的樣本量特別特別少的情況下岩调,可以把模型訓(xùn)練好巷燥。experience learning目的在于處理樣本量比較小的情況,與大數(shù)據(jù)情形相對立号枕。
?? concept learning是指學(xué)習(xí)到匹配規(guī)則缰揪,使得將樣本和concept system中的concept相匹配。通常說的新類別葱淳,是指在訓(xùn)練集中沒有出現(xiàn)過钝腺,但是在concept system中存在的類別。如果連concept system中也沒有這種類別赞厕,則需要考慮一些方法讓模型自定義一個新類別艳狐,這是一個研究難點。concept system 中的concept包括兩類:intensional representation(概念皿桑、屬性特征毫目,多是文本數(shù)據(jù))和extensional representation(實例、原型诲侮,多是圖像數(shù)據(jù))镀虐。
?? experience learning的方式主要有四類做法:數(shù)據(jù)增強、模型調(diào)整沟绪、減少模型對數(shù)據(jù)量的依賴和元學(xué)習(xí)刮便。
2.2.1 concept learning
?? concept learning目的是識別訓(xùn)練集中未出現(xiàn)過的類別,當然模型并不具備自動從訓(xùn)練集中識別出新類別的能力近零,只能借助外部信息去識別新類別诺核,外部信息包括concept system、knowledge system等等久信。該方法是將樣本特征與concept system中的concept(類別)進行相似度計算,然后將concept(類別)賦予樣本漓摩。concept system中有intensional representation也有圖像數(shù)據(jù)extensional representation裙士,樣本可能是文本或圖像數(shù)據(jù),因此需要文本數(shù)據(jù)和圖像數(shù)據(jù)統(tǒng)一到同一個空間里面管毙,通過計算向量相似度進行匹配(matching)腿椎,然后賦予樣本新類別(新concept)桌硫。根據(jù)concept system中元素的類別,匹配方式包括三類:intensional matching啃炸、extensional matching和mixed matching铆隘。對此,綜述里提到了很多論文南用,因為綜述只是對各個論文進行了簡潔的描述膀钠,所以很多地方?jīng)]有看懂作者在說什么,如果后續(xù)需要再仔細研讀綜述中提到的相關(guān)論文裹虫。
2.2.2 experience learning
?? 目的是處理樣本量小的情況,不涉及到訓(xùn)練集中未出現(xiàn)的類別筑公,主要分為四類做法:數(shù)據(jù)增強雳窟、模型調(diào)整、減少模型對數(shù)據(jù)量的依賴和元學(xué)習(xí)封救。
??數(shù)據(jù)增強的目的是為了增大數(shù)據(jù)量,然后用傳統(tǒng)機器學(xué)習(xí)方法進行訓(xùn)練捣作,方法主要包括:數(shù)據(jù)形式轉(zhuǎn)換(對稱平移等)兴泥、使用生成模型(SimGAN、DAGAN虾宇、VAE搓彻、SCAN等)生成新數(shù)據(jù)、利用偽標簽思想(curriculum learning嘱朽、self-paced learning旭贬、dual learning、data programming)搪泳、跨領(lǐng)域合成和領(lǐng)域自適應(yīng)稀轨。
??模型調(diào)整是指利用已經(jīng)在大數(shù)據(jù)上訓(xùn)練好的模型,在小數(shù)據(jù)集上做調(diào)整岸军,主要方法包括fine-tuning奋刽、知識蒸餾(knowledge distillation)和模型自適應(yīng)。
??減少模型對數(shù)據(jù)量依賴的方法是指融合外部信息(領(lǐng)域知識艰赞、常識等)讓模型在小樣本上能生效佣谐,方法主要包括:model-driven(white box model、memory neural networks方妖、neural module networks)狭魂、 metric-driven(siamese neural networks、matching networks、prototypical networks雌澄、relation networks)斋泄、knowledge-driven(先驗知識、領(lǐng)域知識镐牺、常識:causality and compositionality炫掐、attention、curiosity)睬涧、.
?? 元學(xué)習(xí)是為了學(xué)習(xí)出模型是如何學(xué)習(xí)的募胃,掌握方法論,使得模型在小樣本上可以迅速學(xué)習(xí)到有用信息宙地,方向主要包括:learning to learn摔认、learning to reinforcement learn、learning to transfer宅粥、learning to optimize参袱。
2.3 展望
??concept learning還有兩點需要繼續(xù)研究:如何更好的將圖像和文本統(tǒng)一到同一個空間里面;如何解決concept system中沒有的類別秽梅。
??experience learning還有三點需要繼續(xù)研究:對于一個特定的問題如何去選擇合適的模型抹蚀;如何更好地將知識加入到模型中;如何在小樣本學(xué)習(xí)中設(shè)計更好的相似度度量標準企垦。
三环壤、論文中提到的一些網(wǎng)絡(luò)
3.1 Generative Adversarial Network
??對抗生成網(wǎng)絡(luò),簡稱GAN钞诡,可以用來生成新樣本郑现。GAN由兩個部分組成:生成模型和判別模型,生成模型負責(zé)由噪聲(正態(tài)分布荧降、均勻分布等)生成樣本接箫,判別模型負責(zé)判斷樣本是否是真實樣本。當判別模型無法判斷樣本是真實樣本還是生成樣本時朵诫,訓(xùn)練結(jié)束辛友。將隨機數(shù)輸入到生成模型即可生成新樣本。
??GAN目前已經(jīng)發(fā)展出了各式各樣的變形剪返,目前有人做了個集合放在GitHub上:GAN代碼合集废累,各種GAN和VAE的tensorflow代碼:GAN、VAE代碼
3.2 Variational Auto-encoder
??變分自編碼脱盲,簡稱VAE邑滨,可以用于生成新樣本。VAE假設(shè)樣本的隱表示都可以從正態(tài)分布中采樣出來宾毒,VAE中的編碼器為每個樣本計算出高斯分布的均值和方差驼修,然后從這個高斯分布中采樣出來隱表示向量殿遂,解碼器將此隱表示還原成樣本本身诈铛。
3.3 Siamese Neural Networks
??孿生神經(jīng)網(wǎng)絡(luò)用語判斷兩個樣本是否屬于同一個類別(計算兩者的相似度)乙各,該模型將樣本映射成向量后,沒有用softmax損失幢竹,通常采用對比損失(Contrastive Loss)耳峦、三重損失(Triple Loss)等』篮粒“孿生”的意思是下圖中兩個網(wǎng)絡(luò)是共享權(quán)重的蹲坷,代碼實現(xiàn)時可以只寫一個網(wǎng)絡(luò)。所以個人感覺孿生神經(jīng)網(wǎng)絡(luò)并沒有特別之處邑飒,僅僅是換了個損失函數(shù)循签。
3.4 Prototypical Networks
??原型網(wǎng)絡(luò)通過神經(jīng)網(wǎng)絡(luò)學(xué)會一個映射,將各個樣本投影到同一空間中疙咸,對于每種類型的樣本提取他們的中心點(mean)作為原型(prototype)县匠。使用基于布雷格曼散度的歐幾里得距離作為距離度量,訓(xùn)練使得測試樣本到自己類別原型的距離越近越好撒轮,到其他類別原型的距離越遠越好乞旦。測試時,通過對到每類原型的距離做sofmax獲得測試樣本類別
3.5 Self-paced Learning
??自步學(xué)習(xí)题山,模仿人類從簡單到復(fù)雜的學(xué)習(xí)過程兰粉,調(diào)整樣本的輸入順序,先輸入容易訓(xùn)練的樣本(loss比較卸ネ)玖姑,后輸入不容易訓(xùn)練的樣本(loss比較大)。一個寫的很清晰的科普博客:
??自步學(xué)習(xí)
3.6 Dual Learning
??對偶學(xué)習(xí)慨菱,主要是處理標簽特別少的對偶數(shù)據(jù)焰络。比如機器翻譯的中英互譯,首先用帶標簽的少量數(shù)據(jù)訓(xùn)練中譯英model-1和英譯中model-2抡柿,然后對于大量無標簽數(shù)據(jù)舔琅,用model-1將中文翻譯成英文,然后用model-2將此英文翻譯成中文洲劣,通過計算兩個版本的中文的損失备蚓,采用策略梯度下降的方式進行參數(shù)更新,直至模型收斂囱稽。
3.7 Knowledge Distillation
??知識蒸餾郊尝,通過引入教師網(wǎng)絡(luò)對學(xué)生網(wǎng)絡(luò)進行指導(dǎo),使得學(xué)生網(wǎng)絡(luò)可以更快收斂战惊,其中教師網(wǎng)絡(luò)是在大數(shù)據(jù)集上訓(xùn)練好的網(wǎng)絡(luò)流昏,指導(dǎo)的方式是,將教師網(wǎng)絡(luò)在小數(shù)據(jù)上的預(yù)測作為學(xué)生網(wǎng)絡(luò)學(xué)習(xí)目標之一。由于分類任務(wù)中標簽是one-hot類型况凉,非0即1谚鄙,比較極端,模型不容易學(xué)習(xí)刁绒,因此需要對教師網(wǎng)絡(luò)的預(yù)測輸出進行“軟化”闷营,方式是在softmax歸一化之前除以溫度參數(shù)T,表示蒸餾的程度知市。T越大傻盟,預(yù)測輸出越均勻平滑。在模型訓(xùn)練初期教師指導(dǎo)的權(quán)重設(shè)置大一些嫂丙,訓(xùn)練后期設(shè)置小一些娘赴。知識蒸餾的類型有很多種,有篇博客做了總結(jié)
知識蒸餾