【筆記】小樣本學習(Few-shot Learning)(1)


小樣本學習

小樣本學習旨在解決在數據有限的機器學習任務。

小樣本學習的核心問題是經驗風險最小化是不可靠的。

什么是小樣本學習

Machine Learning : A computer program is said to learn from 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.

Few-Shot Learning (FSL) : A type of machine learning problems (specified by E,T and P), where E contains only a limited number of examples with supervised information for the target T.

​ 概括為 機器學習就是從數據中學習,從而使任務的表現越來越好。小樣本學習是具有有限監督數據的機器學習。類似的,其他的機器學習定義也都是在機器學習定義的基礎上加上不同的限制條件衍生出來。例如,弱監督學習是強調在不完整、不准確、有噪聲、數據少的數據上學習,半監督學習是強調在少量標注數據和大量非標注數據上學習,遷移學習是把充足數據上學習的知識遷移到數據匱乏的任務上。

小樣本學習的方法有哪些?

​ 如果把小樣本學習比作一個黑盒子,給這個黑盒子喂少量的數據,憑什么能讓它表現的好呢》顯然我們需要外力來幫助,這個外力就是先驗知識。

​ 小樣本學習的先驗知識來自三方面:數據、模型、算法,小樣本學習的研究都是從這三方面着手。因此,小樣本學習方法大致可分為基於數據增強的方法、基於模型改進的方法、基於算法優化的方法。

基於數據增強的方法

主要思路就是數據增強,通俗地講就是擴充樣本。想到數據增強,我們通常會想到平移、裁剪、翻轉、加噪聲等操作,但這些操作方法可能在特定數據集上表現得很好,不具有普適性。而且設計這些操作需要對所處理領域具有足夠的了解。小樣本學習所使用的數據增強方法主要有三個思路:

  1. 小樣本數據集:可以訓練一個transformer學習樣本之間的變化,然后使用該transformer對小樣本數據集進行擴充;
  2. 小樣本數據集+弱標記數據集:可以訓練transformer從弱標記數據集中“挑選”樣本來擴充小樣本數據集;
  3. 小樣本數據集+相似的數據集:訓練一個GAN網絡,通過學習給小樣本數據集加上擾動來生成新樣本。

image-20210730104128034

數據的三種來源

基於對數據的方法比較容易理解,但是存在的問題是:很多工作都不具備普適性,難以遷移到別的數據集。

基於模型改進的方法

每個模型經過迭代都會得到近似解,而當樣本有限時,在假設空間搜索解就變得困難。這類方法為了縮小假設空間。

  1. 多任務學習(Multitask Learning):這種模型可以處理多個任務,因此也具備了模型的普適性和一般性。在處理多個任務時,模型的參數可以是共享的,也可以是關聯的;

    image-20210730103942912

    image-20210730104103543

  2. 嵌入學習(Embedding Learning):將樣本映射到一個低維度空間,從而達到了縮小假設空間的效果,然后就可以通過少量的樣本求出模型在該假設空間下的近似解。根據映射到低維空間的方法又分為三類:任務特定型(結合任務的具體特點進行映射)、通用型、結合型(結合任務和通用);

    image-20210730104804421

  3. 基於外部記憶的學習(Learning with External Memory):通過對小樣本數據集學習得到知識,然后存儲到外部,對於新樣本,都使用存儲在外部的知識進行表示,並根據表示來完成匹配。這種方法大大降低的假設空間;

    image-20210730105649696

  4. 生成模型(Generative Modeling):生成模型學習小樣本數據集的數據分布,並可將其用於各種任務;

    image-20210730110835860

基於算法優化的方法

這類方法的核心是通過改進優化算法來更快地搜索到合適解。主要方法有三種:

  1. 改善已有參數:這種方法從參數初始化的角度着手,主要思路是借助已經訓練好的模型參數來調整小樣本模型的參數,例如:在大數據集訓練好模型來初始化小樣本模型;聚合其他已經訓練好的模型到一個模型;給已訓練好的模型加一些特用於小樣本任務的參數;等等。

    image-20210730113910377

  2. 改善元學習參數:元學習(meta-learning)是當下很火的一個研究方向,他的思想是學習如何學習。他的結構一般由一個底層模型和一個頂層模型組成,底層模型是model的主體,頂層模型是meta-learner。更新參數時,他除了要更新底層model,還要更新mata參數。

    改善策略大致有三類:

    1> 結合不同特定任務模型參數來對新任務的參數進行初始化;

    2> 對模型不確定性建模,以備后續提升;

    3> 改進參數調整流程

    image-20210730114438001

  3. 學習優化器:如下圖所示,optimizer每次都會迭代更新上一次的模型參數,現在通過小樣本數據集中每個迭代的更新值,從而應用在新的測試數據上。

    image-20210730114856203

結語

小樣本學習是機器學習領域未來很有前景的一個發展方向,他要解決的問題很有挑戰性、也很有意義。小樣本學習中最重要的一點就是先驗知識的利用,如果我們妥善解決好先驗知識的利益,能夠做到更好的遷移性,想必就離通用AI不遠了。

references

(7條消息) 小樣本學習概述_DwD-的博客-CSDN博客_小樣本學習

Y. Wang, J. Kwok, L. M. Ni and Q. Yao, "Generalizing from a few examples: A survey on few-shot learning", arXiv:1904.05046, 2019


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM