基於少量樣本的快速學習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步之前的筆畫或子筆畫。所以只需要訓練一個轉移矩陣就好。
訓練的時候,先給例子字符,以及這個字符怎麼拆成筆畫和子筆畫。這些部件,以及筆畫間的轉移概率會被學到。然後生成的時候,就按照上述過程隨機生成大概率的筆畫組合,看起來就像同一風格的文字。
先隨機生成一個字的筆畫數,然後生成每個筆畫的子筆畫數。然後隨機從一個庫裏選每個子筆畫的類型,比如豎線、左撇等。
優化算法
研究展望
證明是→ 證明否 —— 反正(證僞)學習
借鑑邏輯主義學派思想(如:貝葉斯模型)提高樣本的利用率
參考文獻
- 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.
- Miconi T, Clune J, Stanley K O. Differentiable plasticity: training plastic neural networks with backpropagation[J]. arXiv preprint arXiv:1804.02464, 2018.
- Lake B M , Salakhutdinov R , Tenenbaum J B . Human-level concept learning through probabilistic program induction[J]. Science, 350.
特別鳴謝
感謝本篇博文的內容提供者:奉湧泉 · HPCL