論文閱讀:《An Overview of Deep Learning Architectures in Few-Shot Learning Domain》

  • 2020 年 9 月 27 日
  • AI

好久沒有更新論文閱讀這個系列了…上一次更新還是在家…極度拖延我本人(真怕哪天寫著寫著就不更了hh)其實論文都有看 但是看得太雜就也沒有想記錄一下。
今天更新一篇小樣本的綜述論文的閱讀筆記。


論文名稱:《An Overview of Deep Learning Architectures inFew-Shot Learning Domain》
論文地址://cn.arxiv.org/abs/2008.06365

本文提供的資源鏈接:
Our code is available at Github:
//github.com/shruti-jadon/Hands-on-One-Shot-Learning
本篇文章只記錄個人閱讀論文的筆記,具體翻譯、程式碼等不展開。

Background

Humans learn new things with a very small set of examplese.g. a child can generalize the concept of a Dog from a single picture but a machine learning system needs a lot of examplesto learn its features。
人類只需要從較少的例子中就可以學習到新事物。舉個例子,孩子可以從一張圖片中概括出狗的概念,但是機器學習系統卻需要很多例子來學習它的特徵。
Machine learning as a field has been highly successful at a variety of tasks such as classification, web search, image and speech recognition. Often times however, these models do not do very well in the regime of low data.
機器學習在分類、網路搜索、影像和語音識別等多種任務中取得了高度成功。 然而,當數據較少時候,這些模型往往就表現得沒那麼好,會受到小樣本數據的限制
這也是小樣本學習的一個動機: 用較少的例子訓練一個模型,但在沒有廣泛再訓練的情況下推廣新的類別(泛化能力好)。
Different techniques such as regularization reduces over-fitting in low data regimes, but do not solve the inherent problem that comes with fewer training examples. Furthermore, the large size of datasets leads to slow learning, requiring many weight updates using stochastic gradient descent.
正則化等其他方法可以減少少量數據狀態下的過擬合,但不能解決訓練樣本少的固有問題。數據集太小會導致學習緩慢,需要使用隨機梯度下降對許多參數進行更新。
關於小樣本學習的定義可參考上一篇部落格初探zero-shot/one-shot learning

本文的主要內容:
(i) Give a brief introduction to deep learning architectures for few-shot learning
(ii) Indicate how deep learning has been applied to the low-data regime
(iii) Provide a starting point for people interested in experimenting and perhaps contributing to the field of few-shot learning by pointing out some useful resources and open-source code

Data-sets

Most commonly used data-sets for few shots learning are Mini-ImageNet, and Omniglot data-set. Omniglot is a dataset is specially designed to compare and contrast the learning abilities of humans and machines. The data-set contains handwritten characters of 50 languages (alphabets) with 1623 total characters.Mini-Imagenet as the name suggests if the small version of Image-Net data-set, specifically designed for Few-Shots Learning Image Classification Task
數據集如上圖所示:
Omniglot是手寫字元符號數據集,包含 50 個大類,共 1623個類別符號,每個類別只有 20 個樣本影像。miniImagenet是影像領域公共數據集 ImageNet的一部分,包含 100 個類別,每個類別包含 600個影像樣本,在小樣本學習中具體劃分為 64 類

TYPES OF FEW-SHOT LEARNING APPROACHES(小樣本學習的類型)

A.DATA AUGMENTATION METHODS
1.simple geometric transformations, color space augmentations 2. neural style transfer methods
3.Based on GANs
早期傳統的數據增強的方法:簡單的幾何變換、顏色空間增強
現在的方法:神經風格的傳遞方法,基於對抗生成網路(GAN)
存在的缺陷:如果當前的數據分布是傾斜的,這將導致增強的數據分布也是傾斜的。 也有很高的機會過度擬合數據增強。

B.Metrics Based Methods
Metrics Based Methods, as the name suggests is based upon metrics.we convey our data and
objective to machines through the mathematical representation of data, but this representation can have many forms especially if we go in higher dimensions, or if we wish to learn these representations based on our different objectives.
基於度量的方法,我們希望進入更高的維度,根據我們的不同目標學習數據的數學表示。例如,為了計算兩幅影像之間的相似性,我們可以計算歐氏距離或餘弦相似度。例如,為了計算兩幅影像之間的相似性,我們可以計算歐氏距 離或餘弦相似度。這邊有兩個代表性網路。孿生網路和匹配網路。

如上圖所示即為孿生網路,該網路包含兩個子網路,子網路各自接收一個輸入,將其映射至高維特徵空間,並輸出對應的表徵。通過計算兩個表徵的距離,使用者可以比較兩個輸入的相似程度(共享參數)。 在中間層,我們提取了相似的特徵,因為權重和偏差是相同的。 這些網路的最後一層被饋送到損失函數層,該層計算兩個輸入之間的相似性。訓練時,通過組合的方式構造不同的成對樣本,輸入網路進行訓練,在最上層通過樣本對的距離判斷他們是否屬於同一個類,併產生對應的概率分布。在預測階段,孿生網路處理測試樣本和支撐集之間每一個樣本對,最終預測結果為支撐集上概率最高的類別。

上圖為匹配網路,該網路將一個小數據集和一個未標記的示例映射到其標籤上,匹配網路學習適當的嵌入表示,並使用餘弦相似性度量來確保測試數據點是否是從未見過的類別。
關於孿生網路和匹配網路可以參考://zhuanlan.zhihu.com/p/61215293 更詳細一些。

C.MODELS BASED METHODS
1.Neural Turing Machine
2.Memory Augmented Neural Network
3.Meta Networks
Santoro 等人提出使用記憶增強的方法來解決 Few-shot Learning 任務。基於記憶的神經網路方法早在 2001 年被證明可以用於 meta-learning。他們通過權重更新來調節 bias,並且通過學習將表達快速快取到記憶中來調節輸出。然而,利用循環神經網路的內部記憶單元無法擴展到需要對大量新資訊進行編碼的新任務上。因此,需要讓存儲在記憶中的表達既要穩定又要是元素粒度訪問的,前者是說當需要時就能可靠地訪問,後者是說可選擇性地訪問相關的資訊;另外,參數數量不能被記憶體的大小束縛。神經圖靈機(NTMs)和記憶網路就符合這種必要條件。
Meta Network 模型包含一個 meta learner 和一個 base learner,meta learner 用於學習 meta task 之間的泛化資訊,並使用 memory 機制保存這種資訊,base learner 用於快速適應新的 task,並和 meta learner 交互產生預測輸出。

D.OPTIMIZATION BASED METHODS
1.Model Agnostic Meta Learning
2.LSTM Meta Learner
基於優化器學習的方法
LSTM 元學習演算法是在 LSTM 體系結構上專門 設計的,因為 LSTM 中的單元狀態更新類似於反向傳播中基於 梯度的更新,關於梯度歷史的資訊有助於更好地優化模型。具體地,學習基於梯度下降的參數更新演算法,採用 LSTM 表達 meta learner,用其狀態表達目標分類器的參數的更新,最終學會如何在新的分類任務上,對分類器網路(learner)進行初始化和參數更新。這個優化演算法同時考慮一個任務的短時知識和跨多個任務的長時知識。

OTHER APPROACHES FOR FEW-SHOT LEARNING
1.Semi-Supervised Learning2. Imbalanced Learning3.Transfer Learning
半監督學習通過偽標 記技術來增加訓練集,在相同大小的測試數據點上使用它來為它們創建偽標籤。 在獲得偽標籤後,我們將真實標籤與偽標籤和真實特徵與偽特徵連接起來。 在級聯後,我們訓練了一個新的模型,證明它比初始模型更精確.
不平衡學習的數據集可稱為傾斜分布的數據集,常用的處理方法:
1)度量的選擇:有各種形式的度量可以幫助評估模型的準確 性,如混淆矩陣、精度、召回和 F1-Score。 2) 機器學習演算法的選擇:參數演算法通過數據集學習它們的參數,因此如果數據集有偏差,則參數模型也很可能有 偏差。 非參數方法,如 K 近鄰、決策樹等。 隨機森林、 Adaboost、XGBoost 等組合被證明是處理有偏差數據集的最佳方法。 3) 選擇數據抽樣方法:也可以考慮數據抽樣,以確保數據 集不會保持傾斜。
遷移學習,是指將一個領域的知識運用到另一個領域。

Conclusion

To create a perfect few-shot learning approach, we need access to perfect information embeddings, optimized memory storage, and improved optimization algorithms than gradient descent.
為了創建一個好的小樣本學習方法,我們需要訪問完美的資訊嵌入,優化的記憶體存儲,和改進的優化演算法比梯度下降。 在本文中,我們已經通過不同類型的這種演算法,從匹配網路到元網路。 我們還觀察到,某些演算法能夠達到分類任務的最先 進的精度,但對於對象檢測、影像分割等,我們的模型仍然很困難。


ENding~so tired
關關難過關關熬。