煉丹筆記四:小樣本問題

歡迎大家關(guān)注微信公眾號:baihuaML白話機器學(xué)習(xí)。

碼字不易,如轉(zhuǎn)載請私信我!!原文鏈接:https://zhuanlan.zhihu.com/p/56365256

在這里,我們一起分享AI的故事。

您可以在后臺留言,關(guān)于機器學(xué)習(xí)、深度學(xué)習(xí)的問題,我們會選擇其中的優(yōu)質(zhì)問題進行回答!

本期問題

關(guān)于深度學(xué)習(xí)中的小樣本問題,有哪些研究進展?

正所謂“巧婦難為無米之炊”,在是使用深度學(xué)習(xí)解決各種問題的時候,難免會遇到樣本不充足的情況。那這個時候應(yīng)該怎樣做呢?

什么是小樣本問題?

小樣本問題是指研究如何從少量的樣本中去學(xué)習(xí)。眾所周知,深度學(xué)習(xí)的訓(xùn)練需要大量的數(shù)據(jù),然而,在實際的生產(chǎn)生活中,可能由于數(shù)據(jù)采集困難,樣本標注代價高等問題,使得訓(xùn)練樣本的規(guī)模不大,因此,小樣本問題就成為了機器學(xué)習(xí)領(lǐng)域中重要的研究方向之一。本。

小樣本會對模型訓(xùn)練帶來什么影響?

小樣本訓(xùn)練模型時,容易產(chǎn)生過擬合現(xiàn)象。具體以分類問題為例:

對于classification model,有如下結(jié)論

訓(xùn)練樣本N,h為Vc維數(shù),詳見https://www.cnblogs.com/HappyAngel/p/3633989.html

如果現(xiàn)在訓(xùn)練模型的算法能使得training error很小,而model complexity penalty又很小,就能保證test error也很小的概率是 1-η。所以要使得模型的generalization比較好,要保證training error和model complexity penalty都能比較小。觀察model complexity penalty項,可以看到,h越大,model complexity penalty就會越大。N越大,model complexity penalty則會越小。大致上講,越復(fù)雜的模型有著越大的h(VC dimension),所以為了使得模型有著好的generalization,需要有較大的N來壓低model complexity penalty。 這就是為什么深度學(xué)習(xí)的模型需要大量的數(shù)據(jù)來訓(xùn)練,否則模型的generalization會比較差,也就是過擬合。

目前關(guān)于小樣本問題,有哪些研究進展?

對于小樣本問題的研究主要有:

1. zero-shot learning(零樣本學(xué)習(xí)),即要識別訓(xùn)練集中沒有出現(xiàn)過的類別樣本,雖然類別不存在,但是我們可以學(xué)習(xí)到一個映射X->Y。如果這個映射足夠好的話,我們就可以處理沒有看到的類了。 比如,我們在訓(xùn)練時沒有看見過獅子的圖像,但是我們可以用這個映射得到獅子的特征。一個好的獅子特征,可能就和貓,老虎等等比較接近,和汽車,飛機比較遠離。

最早出現(xiàn)zero-shot的文章:

http://www.cs.cmu.edu/afs/cs/project/theo-73/www/papers/zero-shot-learning.pdf?(zero-shot)

目前關(guān)于zero-shot已經(jīng)出現(xiàn)很多優(yōu)秀的成果,比如:

【1】Zero-Shot Object Detection

【2】Zero-Shot Recognition using Dual Visual-Semantic Mapping Paths

【3】Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs

【4】Xian Y, Lampert C H, Schiele B, et al.?Zero-shot learning-A comprehensive evaluation of the good, the bad and the ugly[J]. IEEE transactions on pattern analysis and machine intelligence, 2018

【4】等等

2. one-shot learning/few shot learning,即在訓(xùn)練集中,每一類都有一張或者幾張樣,主要方法可以關(guān)注遷移學(xué)習(xí)、meta-learning,metric-learning的相關(guān)研究進展。單例學(xué)習(xí)是遷移學(xué)習(xí)/Domain Adaptation的一個特例。模型在source domain訓(xùn)練好之后,遷移到target domain,target domain只用一個標記樣本去訓(xùn)練模型的參數(shù)就可以了。

圖8 平衡車單例識別

比如識別平衡車。訓(xùn)練時,source domain有大量標記樣本,比如自行車、獨行車、摩托車和轎車等類別,模型可以從source domain學(xué)到表示車的有效特征,比如有輪子、輪子尺寸大小、有踏板、方向盤或龍頭等。測試時,在target domian,只需要一個或很少一些target domain的標記樣本,比如只需要在模型可以準確識別車的條件下,給模型一張平衡車的標記圖片就可以了。

更多內(nèi)容推薦閱讀:

【領(lǐng)域報告】小樣本學(xué)習(xí)年度進展|VALSE2018,連接地址:https://blog.csdn.net/XWUkefr2tnh4/article/details/80729940

《few shot learning調(diào)研》鏈接地址:https://zhuanlan.zhihu.com/p/56014325

最早出現(xiàn)one-shot的文章:http://vision.stanford.edu/documents/Fei-FeiFergusPerona2006.pdf?(one-shot)

實際上,Zero/One-shot learning都屬于transfer learning,要點在于先學(xué)到好的X->Y的關(guān)系,希望能應(yīng)用到其他問題上。

3. 從數(shù)據(jù)增強的角度來看,也可以用來解決one-shot,zero-shot的相關(guān)問題

第一,利用流信息學(xué)習(xí)one-shot模型,常見的有半監(jiān)督學(xué)習(xí)和transductive learning,探討的是如何用無標簽數(shù)據(jù)去做one-shot learning。

第二,在有預(yù)訓(xùn)練模型時,用這些預(yù)訓(xùn)練模型進行數(shù)據(jù)增強。

第三,從相近的類別借用數(shù)據(jù),來增強訓(xùn)練數(shù)據(jù)集。

第四,合成新的有標簽訓(xùn)練數(shù)據(jù),用一些遙感里的方法,可以合成一些圖像,或者3d物體。

第五,用GAN來學(xué)習(xí)合成模型,比如最近用GAN來做personal ID和人臉相關(guān)研究。

第六,屬性引導(dǎo)的增強方法。具體大家可以在文章里進行詳細了解。?

幾個小樣本問題的數(shù)據(jù)集

1. 提供幾個最常用的Zero-Shot Learning的數(shù)據(jù)集,均為GoogleNet提取的圖片特征,引用相應(yīng)數(shù)據(jù)時,請注意對應(yīng)作者的引用說明。

AwA:http://pan.baidu.com/s/1nvPzsXb

CUB:http://pan.baidu.com/s/1nv3KCYH

aPaY:http://pan.baidu.com/s/1hseSzVe

SUN:http://pan.baidu.com/s/1gfAc33X

ImageNet2:http://pan.baidu.com/s/1pLfZYQ3

2. one-shot learning 數(shù)據(jù)集

Omniglot

行人Reid數(shù)據(jù)集:Viper/CUHK01

歡迎加入深度學(xué)習(xí)、機器學(xué)習(xí)技術(shù)研討群!

745224003

歡迎關(guān)注我們的微信公眾號:baihuaML,白話機器學(xué)習(xí)

關(guān)注知乎“會寫代碼的好廚師”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容