1. 程式人生 > >從0單排:學風侏儒——小樣本學習11-18年

從0單排:學風侏儒——小樣本學習11-18年

語法 gin 設置 觀測 eight 評估 structure 狀態 卷積神經網絡

好久沒更博客。。。主要是被安排了新的track——小樣本學習,所以都在看論文和學習,note也寫了很多內容,就一次性更了。匯報完工作估計又得開始研究異常檢測和視頻分類相關的了。估計小樣本學習這邊的論文還是不能停,但是不會重點看了(畢竟看了一堆了,可能接下來就是把18年一些論文大概領略一下。。所以以後就叫從0單排好了,這樣也不用改了

Class Imbalance Problem

It is the problem in machine learning where the total number of a class of data (positive) is far less than the total number of another class of data (negative).

better metrics than just counting the number of mistakes made:

  • True Positive (TP) – An example that is positive and is classified correctly as positive
  • True Negative (TN) – An example that is negative and is classified correctly as negative
  • False Positive (FP) – An example that is negative but is classified wrongly as positive
  • False Negative (FN) – An example that is positive but is classified wrongly as negative

roughly classify the approaches into two major categories:

  • cost function based approaches: count that one false negative as, e.g., 100 false negatives instead. For example, in the case of SVM, the generic formula is:\(\frac{\left\|w\right\|^2}{2}+C\sum^n_{i=1}\epsilon_i\)
    . And we can modify the formula to as follows:\(\frac{\left\|w\right\|^2}{2} + C^+\sum^{n_+}_{i|yi=+1}\epsilon_i+C^-\sum^{n_-}_{j|yj=-1}\epsilon_j\)
  • algorithmic Ensemble based approches: Modifying existing classification algorithms to make them appropriate for imbalanced data sets
    1. bagging based: Bagging is used for reducing Overfitting in order to create strong learners for generating accurate predictions. generating ‘n‘ different bootstrap training samples with replacement.
    2. boosting based: combine weak learners to create a strong learner that can make accurate predictions
  • sampling based approaches:
    1. Oversampling, by adding more of the minority class so it has more effect on the machine learning algorithm, e.g, Random Over-Sampling, Cluster-Based Over Sampling
    2. Undersampling, by removing some of the majority class so it has less effect on the machine learning algorithm, e.g, Random Under-Sampling,
    3. Hybrid, a mix of oversampling and undersampling
  • e.g. SMOTE (Synthetic Minority Over-Sampling Technique), RUSBoost, SMOTEBagging and Underbagging

Zero-shot learning

假設小暗(純粹因為不想用小明)和爸爸,到了動物園,看到了馬,然後爸爸告訴他,這就是馬;之後,又看到了老虎,告訴他:“看,這種身上有條紋的動物就是老虎。”;最後,又帶他去看了熊貓,對他說:“你看這熊貓是黑白色的。”然後,爸爸給小暗安排了一個任務,讓他在動物園裏找一種他從沒見過的動物,叫斑馬,並告訴了小暗有關於斑馬的信息:“斑馬有著馬的輪廓,身上有像老虎一樣的條紋,而且它像熊貓一樣是黑白色的。”最後,小暗根據爸爸的提示,在動物園裏找到了斑馬(意料之中的結局。。。)。

  1. 訓練集數據\(X_{tr}\) 及其標簽 \(Y_{tr}\) ,包含了模型需要學習的類別(馬、老虎和熊貓),這裏和傳統的監督學習中的定義一致;
  2. 測試集數據\(X_{te}\) 及其標簽 \(Y_{te}\) ,包含了模型需要辨識的類別(斑馬),這裏和傳統的監督學習中也定義一直;
  3. 訓練集類別的描述\(A_{tr}\) ,以及測試集類別的描述 \(A_{te}\) ;我們將每一個類別 \(y_{i}\in Y\) ,都表示成一個語義向量\(a_{i}\in A\) 的形式,而這個語義向量的每一個維度都表示一種高級的屬性,比如“黑白色”、“有尾巴”、“有羽毛”等等,當這個類別包含這種屬性時,那在其維度上被設置為非零值。對於一個數據集來說,語義向量的維度是固定的,它包含了能夠較充分描述數據集中類別的屬性。

在ZSL中,我們希望利用 \(X_{tr}\)\(Y_{tr}\) 來訓練模型,而模型能夠具有識別 \(X_{te}\) 的能力,因此模型需要知道所有類別的描述 \(A_{tr}\)\(A_{te}\) 。ZSL這樣的設置其實就是上文中小暗識別斑馬的過程中,爸爸為他提供的條件。

One-shot learning & Few-shot learning

我們已經通過些許動物(狗除外)的樣本訓練出來了模型,我們想讓模型識別新的類-----狗。顯然,這就是要把源知識(source)遷移到包含狗的知識領域來(target).為了完成識別新類(狗)的問題,於是需要新來一張標好 label 的樣本(如 :有 label,樣本是田園土狗, 稱作 sample set 或 support set)用來泛化模型,那麽再來 test 樣本時候(如:無 label,樣本是哈士奇,稱作 query set 或者 test set),我們就可以把這個 哈士奇的樣本 label 標出來,達到分類的目的。這種學習叫做 one-shot learning,即單樣本學習。同樣的,如果剛才來的是一堆標好 label 的樣本(除了田園土狗,可能還有京巴、吉娃娃、泰迪等做 support set),這種學習叫做 few-shot learning,即小樣本學習,一般 few 不會大於 20。
Our model is given a tiny labelled training set \(S\), which has \(N\) examples, each vectors of the same dimension with a distinct label \(y\) : \(S=\{(x_1,y_1),..,(x_N,y_N)\}\). It is also given \(\hat{x}\), the test example it has to classify. Since exactly one example in the support set has the right class, the aim is to correctly predict which \(y\in S\) is the same as \(\hat{x}\)‘s label, \(\hat{y}\).

few-shot 的訓練集中包含了很多的類別,每個類別中有多個樣本。在訓練階段,會在訓練集中隨機抽取 C 個類別,每個類別 K 個樣本(總共 CK 個數據),構建?個 meta-task,作為模型的?撐集(support set)輸?;再從這 C 個類中剩余的數據中抽取?批(batch)樣本作為模型的預測對象(batch set)。即要求模型從 C*K 個數據中學會如何區分這 C 個類別,這樣的任務被稱為 C-way K-shot 問題。
元學習meta learning: 希望AI系統能獲得多種技能並能適應各種環境,但針對每種技能都從0開始訓練是無法承受的。因此,我們希望它能夠從之前的經驗快速地學習新的技能,而不是把新的任務孤立地考慮。這個方法,我們稱為元學習。如果指代技術的話,meta learning 就是對優化器進行優化學習,從而使得能快速的學習後來的數據
遷移學習transfer learning: 利用一個場景中已經學到的內容(分布p1)去改善另一個情景(分布p2)中的泛化情況。我們假設能夠解釋p1變化的許多因素和學習p2需要抓住的變化相關。學習表示的網絡架構越深,在新場景的新類別上學習到的曲線就越好,對於深度表示而言,遷移任務只需要少量標註樣本就能顯著地提升泛化性能。
元學習是希望利用之前的經驗從而使得自己快速的學習新的技能,遷移學習是希望能在之前學習到的經驗改善之後學習的效果。這兩者的定義如此相近,但是又有一點微妙的區別,這兩者可能是包含的關系,也可能是有所重疊的關系?

Mode Based: 通過模型結構的設計快速在少量樣本上更新參數,直接建?輸? x 和預測值 P 的映射函數,

Metric Based: 通過度量 batch 集中的樣本和 support 集中樣本的距離,借助最近鄰的思想完成分類

  • metric: 對樣本間距離分布進行建模,使得屬於同類樣本靠近,異類樣本遠離
  • 匹配網絡matching net: 在不改變網絡模型的前提下能對未知類別生成標簽,其主要創新體現在建模過程和訓練過程上。對於建模過程的創新,文章提出了基於memory和attantion的matching nets,使得可以快速學習
  • 孿生網絡(Siamese Neural Networks): 通過一個有監督的基於孿生網絡的度量學習來訓練,然後重用那個網絡所提取的特征進行one/few-shot學習。雙路的神經網絡,訓練時,通過組合不同類的樣本成對,同時輸入網絡進行訓練,在最上層通過一個距離的交叉熵進行loss的計算
  • 原型網絡 (Prototypical Networks): 通過計算和每個類別的原型表達的距離來進行分類。文章基於這樣的想法:每個類別都存在一個聚在某單個原型表達周圍的embedding,該類的原型是support set在embedding空間中的均值。

Meta Based:

Optimization Based: 普通的梯度下降?法難以在 fewshot 場景下擬合,因此通過調整優化?法來完成?樣本分類的任務

  • finetune: 獲得一定量的標註數據,然後基於一個基礎網絡進行微調。

1. 06.One-shot Learning of object categories

最早的one shot learning 論文,采用貝葉斯、概率模型(最大似然、最大後驗概率)的辦法實現
圖像分類,沒有大量的圖片數據信息,從先前學習的分類獲得一般化知識在參數空間運用其構建先驗概率密度函數,利用新分類更新後驗概率密度。
貝葉斯模型:如果圖像包含一個目標實體的概率高於純背景的概率,則認為圖像包含目標實體。
特征表示方法:對於給定的一系列圖像,尋找N個感興趣的區域獲得相應的區域位置和區域形態信息(外觀APP和形狀SHAPE),極大似然估計的辦法估計相應的先驗概率。

2. 16.Matching Network for One shot learning

在少量數據上快速學習新的概念。
基於度量學習Metric learning和具有外部記憶能力的神經網絡,也具有meta-learning的形式
將帶有標簽的支撐集(訓練集)和無標簽樣本映射到其所對應的標簽,避免了為適應新類型而對網絡采取fine-tuning。參數化模型會因為模型對於訓練樣本到參數的訓練過程而學習新樣本緩慢,而非參數模型(e.g. 近鄰)則可以快速吸收新樣本。
Match Network 采用了註意力和記憶機制來加速學習,訓練時只對每個類別的少量樣本經行長時間訓練,其他的則采用minibatch快速切換,效仿其在測試時的狀態。
\(S=\{(x_i,y_i)\}^k_{i=1}\) 具有k張樣本的支撐集樣本對,x為樣本data,y為樣本label
\(c_S(\hat{x})\) 根據輸入的\(\hat{x}\),輸出特定的樣本類別\(\hat{y}\)對應的概率分布,有點類似於李老師之前的貝葉斯,也是生成概率分布,只不過李老師的做法是根據樣本更新後驗來做到的,而此處是使用一個具有記憶能力的網絡實現。而標簽具體輸出則是由公式 \(\hat{y}=\sum^k_{i=1}a(\hat{x},x_i)y_i\) 計算,也就是說每個輸出標簽是作為一個支撐集標簽的線性組和,其中a是註意力機制。 \(a(\hat{x},x_i)=e^{c(f(\hat{x}),g(x_i))}/\sum^k_{j=1}e^{c(f(\hat{x},g(x_j)))}\) 其中c代表的是余弦距離,f、g代表的是一種用於評估x的神經網絡的嵌入函數。
為了方便在學習文本樣本時更好的利用之前的信息而不是獨立的學習每個樣本並且為了更好的修改潛入函數,所以采用了LSTM去編碼每個支撐集中樣本,將其作為一個序列。
訓練過程中,對類別采樣,用采樣類別去支撐集采樣和batch批次,然後Matching Net用在批次B中最小預測誤差策略去訓練,這種學習使得net學到如何從支撐集中學習以最小化批次誤差。
Omiglot 98-94%的準確率
圖片測試集miniImageNet(自制) 46-60%
ImageNet 5way-1shot up 6% 96%

3. 17.Meta Network

在任務中學習meta-level知識,變換它的歸納偏差。分為快慢兩個層次的學習,慢學習slow learning 學習任務過程中meta-level的模型表現,快學習rapid leadning 學習在每次任務上模型的base-level表現。通過允許神經網絡從動態單樣本中學習,MetaNet支持meta-level連續性學習(?。每次任務結束,基學習器base learner 會提供給元學習器meta learner自己在如今任務空間中的狀態信息(meta information。基於這些信息,元學習器快速參數化自身和基學習器,從而讓MetaNet可以識別輸入任務的新概念。快權重fast weight會在每次任務尺寸進行更新,而慢權重slow weight則是隨著整個學習算法結束更新。

  1. meta learner 元學習器: \(W^*_i=m(Z,\nabla_i)\) m是以\(Z\)作為參數的神經網絡,則處理元信息,將由基學習器b得到的損失梯度與快權重建立映射。表示學習函數(元學習器)\(u\)是以慢權重\(Q\)和快權重\(Q^*\)為參數。\(L_i={loss}_{emb}(u(Q,{x_i}'),{y_i}'), \nabla_i=\nabla_QL_i,Q^*=d(G,\{\nabla\}^T_{i=1})\),其中d函數以G作為參數的神經網絡,觀測每個樣本的梯度總結為具體任務參數。然後,以此計算依賴於任務的輸入表示\({r_i}'=u(Q,Q^*,{x_i}')\),然後將\(r\)\(w\)存儲作為\(R\)\(M\)記憶。R會根據相似度計算輸入表示所對應的註意力向量\(a\),並根據此計算\(M\),元學習器就會用得到的快權重來參數化基學習器。
  2. base learner 基學習器:基學習器具有快權重\(W^*\)和慢權重\(W\),慢權重會在學習算法後更新,快權重則有元學習器在每次輸入後都會更新。

4. 16. One-Shot Learning of Scene Locations via Feature Trajectory(軌跡) Transfer

戶外景色會因為一些瞬息變幻的屬性(transient attribute),如下雨、晴天、夜晚等,影響到場景識別的表現。
研究這些瞬間屬性,從而在新的圖像表達上使用,從而利用瞬息屬性所生成的空間維度來合成新的數據,最後用以增強one-shot場景位置識別的表現。因為不充足的瞬息屬性收集,導致部分瞬息屬性的訓練會極大的影響場景位置識別以及場景類別分類。
大量小場景數據集被收集,但是對於大場景而言,大部分的數據來自於網絡,所以這些數據因為收集時狀況不同而有相應的用戶偏差(user bias),例如雨天的沙灘就會很少出現。挑戰就是:能不能利用現有的數據讓學習過程能從單一實例中辨別場景。
是否我們可以通過學習圖像表示是如何因瞬息屬性而變化,從而數據合成來人工的增加可變性
先學習不同的實例在不同瞬息屬性變化情況下的表示空間變化,從而根據他們與新圖像相似性加權修改新圖像的表示空間,從而得到新的瞬息屬性下新圖像的表示情況,然後更具度量學習,尋找到測試圖像的最近鄰居來分類。

5. 16.One-shot Learning with Memory-Augmented Neural Networks

具有增強記憶能力的結構,如Neural Turing Machines,具有快速編碼和檢索信息的能力,因此可以避免傳統結構對新數據需要重新學習的能力。並且新的方式,會更加專註於記憶內容,而非聚焦於記憶本身的位置。
傳統CNN在大量監督學習任務中取得了優秀的結果,但是許多問題更關註於快速的從少量數據中得到新的推斷inference,而在OSL中,單一觀察結果要求在行為模式中采取一個快速的遷移abrupt shifts。例如,對於一個新單詞,在只聽過一兩次後推斷其用法。傳統的基於梯度的辦法會根據可用數據而徹底的重新學習參數,這樣的策略會導致poor learning 和 災難推斷 catastrophic interference。
擁有記憶機制的神經網絡(如LSTM結構)可以勝任meta learning——learning to learn。他們即會通過權重更新轉移自己的bias,同時也會根據存儲記憶的緩存表達cache representation 而快速的調整輸出。但是,使用非結構化的循環結構體系中的固有記憶策略不利於擴展到每個新任務都需要顯著的數量的新信息用以快速編碼的狀態。
提出了MANN可以保留長期和短期的記憶需求,勝任meta-learning任務,快速學習新的類別。網絡具備兩個特點:1.通過梯度的下降辦法緩慢學習到從新數據中獲取有用表示的抽象方法 2.通過額外的記憶模塊,快速結合單個展示的新信息
meta-learning中期望降低期望學習花費通過分布\(p(D)\)\(\theta^*=\arg\min_\theta E_{D \sim p(D)}[L(D;\theta)]\)。 具體的學習策略就是學習時,並不是輸入樣本\(x_i\)和標簽\(y_i\)而是帶一定偏差的\((x_i,y_{i-1})\),這樣學習的目的是讓外部記憶既可以將樣本表示-類別信息存儲,用以後續的已見過樣本的類別檢索,避免網絡緩慢的將樣本類別和權重綁定,而是學習保持記憶中的樣本直到後續的準確標簽出現。對於每次的預測,錯誤信號會從預測階段反向傳播到先前的步驟中更新權重來提升這種結合策略。一次學習結束後,會再次洗亂新類別的標簽、樣本再用以學習。在這種學習過程,最開始的表現近似於一種隨機猜測,但是隨著記憶模塊的使用而逐漸完美。同時,這種學習使得記憶模塊並不專註於每次樣本表示的具體內容,而更專註於樣本表示與正確類別之間的結合。
網絡中的控制模塊負責和記憶模塊交互,用余弦距離快速檢索,根據相似度累計所有記憶矩陣得出對應的記憶。記憶通過LRUA的方式,寫在最少使用或最近使用的兩個位置,通過一個退化算法\(w^u_t\Leftarrow \gamma w^u_{t-1}+w^r_t+w_t^w\),不斷更新閱讀權重\(w^u_t\),從而確保一個新的記憶會依照他的相關性信息寫入記憶模塊中保留編碼方式的較少使用位置或作為較新的相關信息更新寫在最近使用的位置,其中\(M_t(i)\Leftarrow M_{t-1}(i)+w^w_t(i)k_t\)

6. 11.One shot learning of simple visual concepts

什麽知識抽象的結構是什麽樣的?一種假設認為:相似共享是OSL的核心部分。
手寫字母包含豐富的筆鋒內在部分結構,提供了一個使用基於parts的表示學習方法的先驗理由。通過對字母的筆鋒結構建模,使得先前的字母有助於推斷新字母的潛在筆鋒。
許多筆者認為實現OSL的一個方法:遷移抽象知識從老到新概念,transfer learning 遷移學習、 representation learning 表示學習、 meta learning 元學習。相關的相似性維度可以在元學習課程中構建。通過對物體結構的解析表示,物體部分和關系組建成了一個極為有效的表示基礎。聯合學習許多概念和高級結構(構成概念基礎的)語法。
字母類別由包含筆鋒知識的一般知識生成。使用數量、identity特征和一般結構來抽象的描述筆鋒。通過混亂的筆鋒位置和著墨像素,從類別生成具體的字母記號(圖像):

  1. 生成字母類別: 一個字母類別由一個筆鋒集合和他們的位置定義,以及混淆強度。後續筆鋒\(P(S_{i+1}|S_i)\)和位置\(P(W_{i+1}|W_i)\)由轉移模型得出。
  2. 生成字母記號: 一個字母記號由字母類別生成。由字母類別定義中的位置定義和全局遷移控制\(\tau^{(j)}\)生成具體位置。利用ink模型,計算像素著墨概率。
  3. 學習筆鋒庫: 從繪制數據中學習筆鋒的一般化知識。用三次函數B樣條去降維筆鋒軌跡長度到同一的10個控制點維度並在新空間中聚類
  4. 從OSL推斷: 對於OSL,用MAP估計圖像\(P(I^{(t)}|I^{(e)})\)。用馬爾科夫蒙特卡羅估計最有可能的50000個參數候選,然後計算對應的概率。

7. 17.Few-Shot Object Recognition From Machine-Labeled Web Images

我們可以輕松的獲得大量的由機器標註的標記數據。基於“abstraction memory 抽象記憶”的框架用於fews shot learning。將大量的機器標註數據集作為外部記憶庫,信息按照圖像特征值和標簽被存儲在記憶槽中。當少量樣本查詢時,模型會挑選視覺相似的數據然後將從相關外部數據中獲得的有用信息寫入另一個記憶庫,如:抽象庫。使用網絡上機器標註的圖片去快速處理只有少量樣本的新類別物體識別。
抽象庫關註於根據少量樣本從外部庫中查找得出的信息。我們采用了基於內容匹配器的LSTM控制模塊去自動的決定閱讀和寫入。抽象庫會根據具體任務表示記錄對於少量樣本識別有用的抽象信息,從而利用這些信息去輔助新類別的識別。如果在視覺匹配階段,外部記憶數據和其標簽不匹配,這個樣本就會被拒絕。當新的類別到來時,整個網絡會接入並檢索外部網絡,尋找相關信息,寫入到抽象庫。我們提出的Key Value Memory Networks,其會將圖像作為key,將標簽作為value。
Memory Network 是使用外部記憶強化的神經網絡。使用了long-term長階段記憶模塊\(M\)使得神經網絡可以接入到長期存儲中推理,而非被限制在少量的外部記憶中。
對於一個輸入圖像,其會在LSTM中叠代\(T\)次,每次叠代結果都會與所有Key值點乘得到相似度距離,然後利用相似度累積記憶\(z^t_{key}\),其結果與本輪查找\(q_t\)結合成新的\(q^*_t\)用於下一輪跌代,由此得到T組記憶數據。抽象記憶部分則使用LSTM產生兩個擦粗變量\(e_{key}\)\(e_{val}\)和增添變量\(a_{key}\)\(a_{val}\),分別控制寫入記憶槽的內容。

8. 15. Siamese Neural Networks for One-shot Image Recognition

孿生網絡Siamese Neural Network 具備特殊的結構可以自然的在輸入間排列相似度。在輸入結構方面作出限制假設,使得網絡可以自動獲取少量樣本中的特征用於歸納。用一個監督的基於度量metric的孿生神經網絡方法去學習圖像表示。首先,我們的目標是讓神經網絡學習從而可以辨別一對圖像的類別。根據兩張圖片屬於同一類別的概率,辨別模型學習如何辨別輸入對。如果辨別模型學習到的特征足以用於辨別類別時,那麽對於新的類別辨別模型也可以在辨別測試集與訓練集類別的相似性。
孿生網絡具有兩個相同的網絡接受不同的輸入但是在頂層能量函數處聯合,網絡可以計算高維特征表示的度量距離。

9. 17. Model-Agnostic(不可知) Mete-Learning for Fast Adaptation of Deep Networks

meta-learning,可以兼容任何使用梯度下降的模型,可用於大量不同學習模型:分類、回歸、強化學習。
因為先驗經驗和新數據依賴於具體任務,所以為了更好的運用,meta-learning框架對於任務和計算要求具有一般性。構成我們方法的基礎是:訓練模型初始參數,從而使模型在經過新任務的少量數據的梯度步驟更新後有最好的表現。從特征學習角度,如果內在表示方法適應於任何任務,那麽輕微修改fine-tuning參數就可以產生好結果。所以,模型的優化應該可以讓模型在快速學習中向正確的方向適應。從動態系統角度,學習步驟應該視為最大化對新任務關於參數的損失函數的敏感度,敏感度高則小小的參數改動都會在任務損失方面取得巨大提升。
學習器會在meta-learning階段學習一系列的任務,從而可以在新任務中快速適應。模型通過考慮在分布\(q_i\)的新數據產生的測試誤差是如何改變參數的來提升性能.為了鼓勵神經網絡獲得更具有一般化的表示模式,我們采用一個顯示的辦法:因為我們要在新任務上用梯度下降的學習規則來fine-tuned模型,所以我們目標學習一個用梯度學習規則在新任務中可以快速進步而不過擬合的模型,實際上,就是旨在找到對任務中的改變敏感的參數模型
對於每個任務: \({\theta_i}'=\theta-\alpha\nabla_\theta L_{T_i}(f_{\theta})\), 其中\(\alpha\)是超參數或者經過meta學習.而我們需要尋找\(\min_{\theta}\sum_{T_i\sim p(T)}L_{T_i}(f_{{\theta_i}'})\).為了實現這點,采用隨機梯度的辦法,在全部任務結束後優化\(\theta \Leftarrow \theta - \beta \nabla_{\theta}\sum_{T_i\sim p(T)}L_{T_i}(f_{{\theta_i}'})\),\(\beta\)是meta步長.

10. 17. Low-shot Visual Recognition by Shrinking and Hallucinating Features

表示正則化技術、幻覺增量訓練樣本技術techniques to hallucinate additional training example。我們認為內在模式變換的具體模型歸納於不同類別之中,通過轉變基本類別的變換模式來幻象出額外的新類別樣本。我們采用非參數的方法,任何同類別的兩個樣本代表著一種變換。給出新類別樣本時,我們會運用這種變換在其上。首先,聚類每個基本類別的特征向量成100個群。某類兩質心(pair of centroids),尋找在別的類中對應的余弦距離最近的兩質心。然後訓練網絡\(G\)使其用四元組三個作為輸入,生成的輸出,計算其和實際的平方誤差以及他和對應類別的損失。訓練後\(G\)就可以用於在新類別樣本數少於所需樣本數\(k\)時生成樣本。直觀目標是:減少在大型數據集訓練和在小樣本上不同分類器的差別,從而使其訓練結果具有更好的歸納。平方梯度量級損失 Squared gradient magnitude loss SGM, \(L^{SGM}_{D}(\phi,W)=\frac{1}{\|D\|}\sum_{(x,y)\in D \alpha(W,\phi(x),y)\left\|\phi(x)\right\|^2}\), 去\(\min_{W,\phi}L_D(\phi,W)+\lambda L_D^{SGM}(\phi,W)\)

11. 17. Multi-attention Network for One Shot Learning

12. 17. One Shot Metric Learning for Person Re-identification

行人重識別需要解決色彩、背景、視角、行人姿態等方面猛烈的變換問題。只使用灰度圖訓練一個用於紋理表示的CNN,還用單對ColorChecker 幫助圖像學習色彩度量。我們假設對於一對攝像機,度量學習metric learning可以分為紋理和色彩兩個部分。紋理部分,我們學習一個不變性深度表示 invariant deep representation,具有良好歸納性而無需fine-tuning。而色彩部分則需要fine-tuning,因為數據集不可能包含了所有攝像內在色彩變化。但這樣色彩部分還是需要大量數據,所以我們使用一個不依賴於紋理的手工色彩特征來學習color。
使用不同深度特征的歐氏距離學習紋理,使用馬氏距離學習色彩metric learning, \(d^2(i,j)=(1-\gamma)\left\|T_i-T_j\right\|_2+\gamma\Phi^2(c_i,c_j;G)\),\(\Phi()\)是馬氏似然度量Mahalanobis-like metric。因為使用灰度圖訓練紋理CNN需要大量的類別,所以大量公開數據集聯合作為一個任務訓練CNN。將從一對不同攝像頭提取的一對圖像特征相減,分為正類\(c^+_{ij}\)(具有同一人)和負類\(c^-_{ij}\)(不具有同一人),計算相關度量:\(G=(\sum^+)^{-1}-(\sum^-)^{-1},\sum^+=(c^+_{ij})(c^+_{ij})^T,\sum^-=(c^-_{ij})(c^-_{ij})^T\),最後\(\phi^2(c_i,c_j;G)=(c_i-c_j)^TG(c_i-c_j)\)。對於正協方差,我們將他分成了前景和背景兩個部分\(c_i^A=\mu_i+\sigma^A_i+\epsilon^A_i\)。將圖像分為n個部分patch,計算圖像背景模型的分布時會將其考慮進入,其\(a^{(n)}\)定義上與背景的混亂程度有關且依賴於監測人物在\(n\)位置所提取的特征差異。我們希望其依賴於檢測器(依賴於檢測器能生成有多準確的檢測框)。所以讓\(\sum^{+(n)}_R\)作為從n位置計算的特征差異,讓其\(a^{(n)}=\arg\min_a\left\|\sum^+_\sigma+a\sum^+_\epsilon-\sum^{+(n)}_R\right\|\)。因為patch也可能有空間位置變化,所以網格 grid 也可以調整自己的位置。

13. 17. One-Shot Video Object Segmentation

半監督視頻目標分割。在全卷積神經網絡fully-convolutional neural network框架上,遷移一般化分割信息,在學習了測試序列的單標記物體後進行前景分割。我們讓CNN預訓練在圖像識別上,然後在一系列人工標註的分割物體視頻上訓練,使其適應視頻物體分割。最後,在測試時對於特定幀的特定物體進行fine-tuned。從一般化的大量類別的語義信息,經過物體通常形狀的知識,最後到分割時具體物體具體屬性。我們的方法OSVOS是獨立處理視頻每一幀。在過去,動作評估是一個優秀的視頻分割算法的關鍵要素。所以,相比較於過去的模型,OSVOS可以分割被遮擋的目標,也不限制具體的動作範圍,也不需要按幀處理,誤差也不會因此沿時序傳播。第三,OSVOS具有一定的可調節的速度和準確度的動態狀態。“It is an object” “It is this particular object”。

  1. Foreground FCN:VGG,采用像素級的交叉熵損失。Offline訓練:分類在ImageNet “base network”,然後在DAVIS訓練分割“parent network”。Online訓練\測試:根據給定的圖像與標註對,對網絡進行fine tuning
  2. Contour snapping:無論目標位置,分類都會給出一樣的答案。所以為了獲得用以視頻分割的物體輪廓具體位置有兩種策略:快速雙邊處理Fast Bilateral Solver FBS、使用CNN輪廓學習。只需要線下學習,而不需要線上學習。

14. 17. Optimization as a model for few-shot learning

基於LSTM的 meta learning 模型去學習精確優化算法用於訓練另一個學習器神經網絡分類器在few-shot域。基於梯度的優化辦法並不能在少量更新下表現良好,特別是非凸優化問題。對於遷移學習的fine-tuning,如果網絡預訓練任務和目標任務相悖,其效果則會大大減小。所以,我們所需的是學習一個對於目標數據集而言是一個良好的訓練起始點的統一有利的初始化狀態的系統辦法。
\(c_t=f_t\odot c_{t-1}+i_t\odot\tilde{c_t},i_t=\sigma(W_I\cdot[\nabla_{\theta_{t-1}}L_t,L_t,\theta_{t-1},i_{t-1}]+b_I)\)。為了更好的表現,我們要做的就是讓訓練場景和測試場景相匹配 training conditions match those of test time。

15. 17. Prototypical Networks for Few shot Learning

原型網絡學習一個metric空間,通過計算每個類別的原型表示距離來分類。其基於:對於每一個類別存在一個集成在點聚類的原型表示附近。使用一個神經網絡學習一個非線性的從輸入到集成空間的映射,然後使用在集成空間中支撐集的平均值作為一個類別原型。
\(c_k=\frac{1}{|S_k|}\sum_{(x_i,y_i)\in S_k}f_\phi(x_i),p_\phi(y=k|x)=\frac{{exp}(-d(f_\phi(x),c_k))}{\sum_{k'}exp(-d*(f_\phi(x),c_{k'}))},d_\phi(z,z')=\phi(z)-\phi(z')-(z-z')^T\nabla_\phi(z')\)

16. 18. CLEAR: Cumulative LEARning for One-Shot One-Class Image Recognition

One Shot One Class OSOC 就是指只有一個新類別的一個樣本,但是沒有其他的類別和樣本(感覺和One shot沒什麽本質區別?甚至可以算是簡化版的問題?。重復或多次嘗試同類任務會提高能力——識別系統學習過的類別越多,學習下一個類別的速度就越快。用神經網絡提取特征,transfer learning 遷移學習學習一個特征表示和決策面的遷移映射,再用決策面去分類。從而對於單一的輸入新類別圖像,遷移學習也可以生成對應的決策面。

17. 18. Compound(復合) Memory Networks for Few-shot Video Classification

這篇文章很切題啊,而且方法有意思,效果也很不錯
復合記憶網絡compound memory network CMN,key-value的記憶形式,其中key包含多種關鍵字成分,其和抽象化的記憶構成了更具效率和擴展性的平面形式。多種顯著性集成的算法編碼一個可變化長度視頻序列變為固定大小的具有多種顯著性的表示矩陣。
視頻具有比圖像更加復雜的結構:時序信息、噪聲。CMN可以方便的將新信息寫入記憶,可以長時間的記憶一個只出現過一次的樣本。為了強化視頻特征,所以使用復數個特征向量作為組成key,組成key堆積成2D矩陣,這將方便在較大搜索空間中找到最佳視頻特征。

These works focus on image few-shot recognition, whereas we aim to learn a few-shot cideo model.
Many efforts have been made to train a video classification model using large amounts of video data.

meta-training用於meta-learning最小化訓練階段損失,meta-validation用於超參數調節,meta-test用於測試正確率。

  1. Multi-saliency Embedding Function: 視頻長\(m'\)幀。隱變量\(H\),具有m個成分\(h\),每個成分用於檢測視頻中的某一種特定的顯著性。\(a\)作為軟權重,用於評估輸入和成分之間的關聯性。\(a_i={softmax}(\frac{p_iH^T}{\sqrt{d_{hidden-size}}}),q_j=\sum^{m’}_{i=1}a_{ij}(p_j-h_j)\),最後扁平化和正則化
  2. Compound Memory Structure: 其記憶網絡是Key-Value記憶網絡的一種變種。value存儲label信息。\(M=(C_{ns\times nc\times cs},A_{ns\times as},V_{ns},u_{ns})\) C是組成key,A是抽象記憶 abstract memory,V是value記憶,U是用來追蹤每個slot使用的更新記憶 age memory。ns是記憶大小(多少個記憶槽),nc是組成key的數量,cs是key大小,as是抽象記憶大小。使用抽象記憶存儲壓縮成向量的組成key,從而可以采用快速近鄰的方法查詢。
    • reading:\(z={normalize}(Q),(n_1,,,n_k)={NN}_k(z,A)\)
    • writing:記憶不會通過反向傳播方法更新,\(n_1\)是最近記憶槽的編號。如果返回正確的標簽,就只更新最近記憶槽,\(C[n_1][i]\Leftarrow q_i+C[n_1][i],for i = 1,...,nc, A[n_1]\Leftarrow {normalize}(C[n_1]),U[n_1]\Leftarrow 0\)。如果返回標簽不正確,就選擇最久沒更新的記憶槽\(n'=\arg\max_i(U[i]+r_i)\)更新\(C[n'][i]\Leftarrow q_i for i = 1,...,nc, A[n']\Leftarrow {normalize}(C[n']),V[n']\Leftarrow y, U[n']\Leftarrow 0\)

18. 18. Dynamic Conditional Networks for Few-Shot Learning

條件模型,多模態學習、條件生成模型。條件小樣本學習場景:訓練總樣本很大,但是訓練樣本由於高維條件空間的每種條件導致數量限制。判別模型、生成模型。采用雙子網聯合的DyConNet,其中包含:1.Dynamic Convolutional layer 包含一堆可訓練的basis filters 2. CondiNet 對於給定輸入,預測一系列的可適應權重去線性的結合basis filters。因此對於每一種條件輸入,可以動態的獲得一個具體的卷積核。
\(\min_W\frac{1}{N}\sum^N_{i=1}L(h(x_i|y_i;W)) \Rightarrow \min_\varphi\frac{1}{N}\sum^N_{i=1}L(h(x_i;\varphi(y_i;W'))),f=W(y)*x+b(y)\)

19. 18. Dynamic Few-Shot Visual Learning without Forgetting

用具有註意力機制的小樣本分類權重生成器擴展了目標識別系統,用余弦相似度重新設計了卷積網絡模型分類器。學習新類別足夠快、不犧牲卷積網絡訓練的初始類別精度。在訓練階段,學習基礎類別的分類權重向量和提取特征,然後在few-shot時,根據輸入樣本的特征和基礎類別權重向量,權重生成器生成對應的分類權重向量,然後結合few-shot的權重向量和基礎類別的權重向量,就可以同時分類了。

  1. 基於註意力的few-shot分類權重生成器,基於輸入的新類別樣本利用通過吸收一個在基礎類別權重向量上的註意力機制得到的先前的視覺知識從而生成一個分類權重向量。\(w'=G(Z',W_{base}|\phi)\),通過一個類別所有訓練樣本的分類權重向量求平均\(w'_{avg}=\frac{1}{N'}\sum^{N'}_{i=1}\bar{z_i}',z=F(x|\theta)\)。基於註意力的分類權重向量\(w'_{att}=\frac{1}{N'}\sum^{N'}_{i=1}\sum^{K_{base}}_{b=1}{Att}(\phi_q\bar{z_i}',k_b)\cdot \bar{w_b}\),其中\(\phi_q\)是一個可學習權重矩陣,\(k_b\)\(K_{base}\)集合的可學習key用於指示記憶。\(w'=\phi_{avg}\cdot w'_{avg}+\phi_{att}\cdot w'_{att}\),\(\phi_{avg}\)是一個學習得到的參數
  2. 基於余弦相似度的卷積識別模型,通過分類權重向量和表示特征的相似度來進行分類\(s_k=\tau \cdot {cos}(z,w_k^*)\)

20. 18. Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning

行人重識別,步行檢測和跟蹤。首先用標註數據訓練網絡,然後取樣少量的最可信候選偽標簽,根據數據更新網絡,不斷地叠代這兩步,直到收斂。關註於只有一個跟蹤片段被標註 tracklet。

21. 18. Few-Shot Human Motion Prediction via Meta-Learning

預測人毫秒級行動的3D骨架序列。其一,行為難以建模,其二,現在缺少大規模被標註的動作數據

從0單排:學風侏儒——小樣本學習11-18年