什麼是One/zero-shot learning?

最近看到了One/zero-shot learning一些簡述,但是不知道其內部基本原理和其中一些模型的細節,希望各路大神能給出一些詳細的解釋或者有關的綜述性文獻資料均可!


Zero-shot learning 指的是我們之前沒有這個類別的訓練樣本。但是我們可以學習到一個映射X-&>Y。如果這個映射足夠好的話,我們就可以處理沒有看到的類了。 比如,我們在訓練時沒有看見過獅子的圖像,但是我們可以用這個映射得到獅子的特徵。一個好的獅子特徵,可能就和貓,老虎等等比較接近,和汽車,飛機比較遠離。

感性認識的話,雖然我們不知道這東西叫獅子,但是我們可以說出他和誰誰誰像。(生物學家第一次看到鴨嘴獸的感覺。)

One-shot learning 指的是我們在訓練樣本很少,甚至只有一個的情況下,依舊能做預測。

如何做到呢?可以在一個大數據集上學到general knowledge(具體的說,也可以是X-&>Y的映射),然後再到小數據上有技巧的update。

相關的名詞還有 transfer learning , domain adaption。

其實Zero/One-shot learning都屬於transfer learning,要點在於先學到好的X-&>Y的關係,希望能應用到其他問題上。

同意之前的答案,以下可能是這兩個詞第一次出現的paper:

Zero-shot Learning;

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

One-shot Learning:

http://vision.stanford.edu/documents/Fei-FeiFergusPerona2006.pdf

另外,還可以參考 Ian Goodfellow (GAN發明人) , Yoshua Bengio 和 Aaron Courville寫的Deep Learning 第15章 representation learning

http://www.deeplearningbook.org/contents/representation.html


One/zero-shot learning都是用來進行學習分類的演算法。

One-shot learning就是對某一/某些類別只提供一個或者少量的訓練樣本;

http://vision.stanford.edu/documents/Fei-FeiFergusPerona2006.pdf

Zero-shot learning顧名思義就是對某一/某些類別完全不提供訓練樣本。

https://www.cs.cmu.edu/afs/cs/project/theo-73/www/papers/zero-shot-learning.pdf


這個在《deep learning》第538至第540頁或其中文譯本《深度學習》書第458至460頁中是有講述的,當然這個只是在講遷移學習中簡略的講述了,想要詳細了解,可以根據它引用的文獻去仔細看看。

-----------------------------------------------分割線-------------------------------------------------

https://github.com/exacity/deeplearningbook-chinese

這個是中文版譯本的github地址,有興趣的可以去下載和查看。


1、Zero-short learning:

就是用來解決識別我們的訓練樣本中從沒就沒有出現過的樣本。但是,雖然訓練樣本中從來沒有出現過該樣本,但是卻有類似的樣本出現過。比如,你的訓練樣本中包括了很多的貓,而且對貓的描述有比較詳盡的描述,那麼對於新出現的一類貓雖然在訓練樣本中沒有出現過,但是你還是能夠給識別出來。

該類模型主要用於沒有足夠標籤數據的分類問題。

該工作最開始是由 Mark Palatucci(Hinton) 在2009年的NIPS上提出的。

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

關於zero-short learning, Ian Goodfellow在Deep Learning這本書中的15.2節也有相應的介紹。

(嗯,順便安利下這本書,這本書寫得真贊,講清楚了問題,但是又不炫技。高屋建瓴、清晰明了的給你講述Deep Learning。現在還有了中文版本,可以參見:

中文版:

Deep Learning Book Chinese TranslationDeep Learning Book Chinese Translation

英文版:

http://www.deeplearningbook.org/contents/representation.html)

2、One-short learning:

其實就是相對於zero-short learning, one-short learning還是有一些訓練樣本,但是非常少,甚至是只有一個訓練樣本。大家都知道,在圖像識別領域,想要識別準確率高,同一類的訓練樣本需要非常多來訓練才會使得模型擬合較好。

該工作最開始是由FeiFei Li在2006年發表在PAMI上的文章提出的。

http://vision.stanford.edu/documents/Fei-FeiFergusPerona2006.pdf


在Deepmind用LSTM作為controller的Neural Turing Machine解one-shot learning的paper中(https://arxiv.org/pdf/1605.06065.pdf), 用到的一個dataset是Omniglot, 這個dataset有1600個class每個class只有少量數據。

這篇Paper一個好的insight是meta-learning分為一種慢的可以用於許多task並基於gradient descent的學習方式和一種快的學一個specific task學三四遍就學會基於augment memory的學習方式。而此Paper test自己model有多好的方法也很有趣,只測試未在訓練集中出現過的class,並且看這個class在慢的學習過多少個episode之後快的學習新知識有多快。如下圖所示。

如果要一句話總結的話應該是:「他山之石可以攻玉」吧。


搜其他東西,碰巧遇到這個問題了。其他的不多說,其中Attribute learning的idea, 早在1997年,就有日本學者提出過similar idea, 他們的解法也簡單而美麗:Multiple attribute learning with Canonical Correlation Analysis and EM algorithm

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.143.6557amp;rep=rep1amp;type=pdf

Correct me, if I"m wrong?


推薦閱讀:

從人臉識別 到 行人重識別,下一個風口
GAN能合成2k高清圖了!還能手動改細節 | 論文+代碼,英偉達出品
《面經篇》一個深度腦殘的實習面試經歷
Mask R-CNN源代碼終於來了,還有它背後的物體檢測平台Detectron
【小林的OpenCV基礎課 番外】Spyder下配置OpenCV

TAG:人工智慧 | 機器學習 | 模式識別 | 計算機視覺 | 深度學習DeepLearning |