基於少量樣本的快速學習Few-shot learning

Reference[原文]: Joselynzhao.top & 夏木青 | 基於少量樣本的快速學習Few-shot learning

背景

人工智能

連接主義:核心是神經元網絡和深度學習,仿造人的神經系統,以此仿造智能(John Hopfield)
邏輯主義(符號主義):核心是符號推理與機器推理,用符號的方式來研究智能、推理(Marvin Minsky)

神經網絡的三次浪潮

在這裏插入圖片描述

深度學習

模型規模與日俱增

  • 錯誤率越來越低
  • 應用範圍越來越廣:圖像識別、語音識別,機器翻譯…

依賴大量的帶標籤訓練數據——Data Hungry

人工智能困境

特定任務需要專門的模型從零開始訓練

  • 訓練時間
  • 計算資源

模型訓練需要大量的帶標籤數據

  • 打標籤需要耗費大量的人工成本
  • 所需訓練數據本身難以獲得

人工智能 → 人類智能

基於少數樣本快速識別目標的能力——學習能力

  • 對貓、狗等生物體的識別
  • 根據一張照片快速識別目標的能力

結合已有知識快速學習新知識的能力——泛化能力

  • 學會C++後繼續學習Java
  • 學習詞彙後對英語等外語的學習過程

定義及數值原理

機器學習定義

A computer program is said to learn form experience E with respect to some classes of task T and performance measure P if its performance can improve with E on T measured by P
在這裏插入圖片描述
優化目標
在這裏插入圖片描述

數值原理

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

數據增強

數據預處理

翻轉,剪切,縮放,反射,裁剪,旋轉…

基於已有的豐富標籤數據訓練轉化器,以此對小樣本數據集進行處理,所得數據與原始數據構成新的數據集

在這裏插入圖片描述

在這裏插入圖片描述

綜合運用其他已有數據

無標籤數據集——半監督學習

  • 通過在標籤數據中引入無標籤數據,增強監督分類效果
  • 通過在無標籤數據中引入標籤數據,增強無監督聚類效果

相似數據集

  • 關鍵:相似性的衡量
  • 2018年,Gao1等人通過GAN實現了對數據集類與類之間的衡量,從而實現相似數據集的確定

網絡模型

和相關任務共同訓練——多任務學習模型

定義:基於共享表示,把多個相關的任務放在一起學習的機器學習方法
參數硬(Hard)共享

  • 所有任務共享隱藏層
  • 不同任務使用不同輸出層

在這裏插入圖片描述
這種模型能夠極大降低模型過擬合的風險

參數軟(Soft)共享

  • 所有任務擁有單獨模型
  • 使用正則項保證不同模型參數儘可能相似

在這裏插入圖片描述

生成模型

在這裏插入圖片描述

嵌入學習模型(Embedding Learning)

通過映射,將數據從高維空間映射到低維空間
分類

  • 任務專用(Task Specific)
  • 多任務共享(Task Invariant)
  • 兩者結合——元學習
    以任務訓練數據,對多任務共享得到的embedding函數進行調整
    在這裏插入圖片描述

元學習: 學會學習(Learning to Learn)

  • 組件:基礎學習器,元學習器,外部存儲器-
  • 學習發生在兩個層面
  • 基礎學習器在輸入任務空間執行,元學習器在任務不可知的元空間中運行(負責學習學習能力)
    在這裏插入圖片描述

帶外部存儲的學習模型

利用外部存儲對已經訓練後的信息進行存儲
存儲器記憶更新策略:

  • 最近最少使用
  • 記憶年齡
  • 記憶Loss值

    在這裏插入圖片描述

塑性網絡模型

核心思想——突觸可塑性

  • 赫布規則
  • 如果一個神經元反覆參與另一個神經元的活動,它們之間的聯繫就會加強

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

模式分類

  • 數據集:Omniglot
    50種文字
    1623類手寫字符
    每類字符僅有20個樣本
    在這裏插入圖片描述

  • 訓練過程
    1、隨機選擇5類字符,每類字符1個樣本
    2、從上述5類字符中隨機選擇一個樣本進行預測分類
    3、利用預測分類與真實分類誤差進行反向傳播

在這裏插入圖片描述

在這裏插入圖片描述

  • 對miniImageNet可見光圖像分類
    正確率達到75%
    非塑性神經網絡方法的最好性能爲58%

在這裏插入圖片描述

貝葉斯程序學習(BPL)模型

  • 每一個“概念”均由多個簡單的“基元”組成,基元之間存在位置、時間、因果上的關係,這些基元按照上述關係進行組合,就得到相應“概念”的實例
  • 貝葉斯模型可以將各種“關係”參數化,通過計算機自動學習這些參數
  • 文章將BPL用於手寫字符的單樣本概念學習,並實現了模擬手寫字符、歸類手寫字符、創造並書寫新字符
    在這裏插入圖片描述
    在這裏插入圖片描述

BPL參數解析過程

  • 對圖片進行處理,得到符號的細“骨架”
  • 使用隨機遊走方法解析所得符號的書寫方式及BPL參數

然而,解析需要的先驗概率分佈信息由預訓練得到,論文中並沒有提到預訓練(由元學習訓練)的過程,並且在所給出的代碼也是直接給出了已經訓練好的預訓練模型

每一套過程相當於一個字符的program。雖然看起來比較複雜,但是其實是個馬爾可夫過程,即並不考慮n>1步之前的筆畫或子筆畫。所以只需要訓練一個轉移矩陣就好。

訓練的時候,先給例子字符,以及這個字符怎麼拆成筆畫和子筆畫。這些部件,以及筆畫間的轉移概率會被學到。然後生成的時候,就按照上述過程隨機生成大概率的筆畫組合,看起來就像同一風格的文字。

先隨機生成一個字的筆畫數,然後生成每個筆畫的子筆畫數。然後隨機從一個庫裏選每個子筆畫的類型,比如豎線、左撇等。

優化算法

在這裏插入圖片描述

研究展望

證明是→ 證明否 —— 反正(證僞)學習

借鑑邏輯主義學派思想(如:貝葉斯模型)提高樣本的利用率

參考文獻

  1. H. Gao, Z. Shou, A. Zareian, H. Zhang, and S. Chang. 2018. Low-shot Learning via Covariance-Preserving Adversarial Augmentation Networks. In Advances in Neural Information Processing Systems. 983–993.
  2. Miconi T, Clune J, Stanley K O. Differentiable plasticity: training plastic neural networks with backpropagation[J]. arXiv preprint arXiv:1804.02464, 2018.
  3. Lake B M , Salakhutdinov R , Tenenbaum J B . Human-level concept learning through probabilistic program induction[J]. Science, 350.

特別鳴謝

感謝本篇博文的內容提供者:奉湧泉 · HPCL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章