NeurIPS 2019 少樣本學習研究亮點全解析

完整見:NeurIPS 2019 少樣本學習研究亮點全解析

少樣本學習(Few-Shot Learning)是近兩年來非常有研究潛力的一個子方向,由於深度學習在各學科交叉研究與商業場景都有比較普遍的應用,然而訓練出高精度模型的情況大部分來源於充足的訓練數據,這一條件在很多實際應用場景中是比較難以滿足的,同時刻意收集大量數據並且進行人爲標記也對應較大的付出。

針對此類痛點,少樣本學習被提出並進行了多個應用場景下的嘗試。本屆 NeurIPS 2019 也收錄了近十篇關於少樣本學習的文章,他們或是從數據增強的角度出發,或是從特徵表徵(Feature Representation)的加強提出了新的思路。本文涵蓋了本屆 NeurIPS 收錄的少樣本學習文章,着眼於工作的實用性,創新性以及延續性三個維度,詳解分析了三篇筆者認爲非常具有啓發性和實用性的少樣本學習文章,概述了其餘幾篇的貢獻和亮點,以期給感興趣的讀者呈現關於該方向最新的研究進展,以及對後續研發的啓示。

Few-shot Video-to-Video Synthesis

類比於 Image-to-Image, 將特定場景下的輸入圖像轉換到另一場景生成新圖,Wang et al 在 2018 提出的視頻到視頻的合成(Video-to-Video synthesis, 簡稱 vid2vid)將連續多幀圖像構成的視頻,轉換到新場景下並生成新的語義場景下的視頻。本文是作者在該文基礎上做的擴展。參考下圖,根據對應的人體關鍵點姿態運動視頻(pose videos),模型相應合成真人的動作視頻。之前提出 Vid2vid 文獻的侷限也非常明顯:數據需求量太大,合成模型表達能力有限。首先,對於合成某人真人運動視頻要求模型有大量目標對象的圖像來完成訓練,對數據量的要求巨大,其次單個姿態到真人視頻合成 vid2vid 模型通常只能合成訓練集裏包括的人體個體,無法生成任何不處於訓練集中的人的運動視頻。


基於以上限制,few-shot vid2vid 方法提出在測試階段餵給模型少量目標樣本的圖像,學習合成未見過的目標個體或者場景的對應視頻。參考右圖示意,不需要爲每個人和每個特定場景都尋找大量的訓練樣本來合成視頻,對於未知個體,可以通過 few-shot vid2vid 模型本身的場景泛化能力,使得測試階段提供少量目標圖像就可以合成同樣的真人運動視頻。相較於已有的 vid2vid 工作,few-shot vid2vid 工作的亮點集中於:1. 除了人體姿態的語義視頻,額外增加了少量目標真人的圖片作爲模型測試階段的額外輸入。2. 使用了新穎的網絡參數生成(Network Weight Generation)機制, 利用這少量的目標圖片訓練了一個模塊來生成網絡對應的參數。

結合架構圖,我們可以進一步瞭解 few-shot vid2vid 框架的詳細設計:


簡化地說,vid2vid 任務的學習目標就是模擬一個映射函數 F(mapping function)將語義視頻的輸入序列 S 映射轉換爲合成視頻輸出序列 X』,同時合成結果 X』的條件分佈(conditional distribution)令其跟真實目標 X 的條件分佈儘可能接近(簡單說輸出目標視覺上應該與真實目標是一致的)。爲了學習這個條件分佈,現有工作通過一個簡單的馬爾科夫假設(Markov assumption),構建了一個序列生成模型 F(sequential generative model)來學習生成我們的目標輸出序列, 生成模型 F 通常有幾種不同的建模方式,在文章裏沿用了大多數 vid2vid 工作 (Fig a) 採用的圖像提取方程(image matting function):


作爲進一步延伸,few-shot vid2vid 的合成函數多了圖像樣本(sample e)加上語義樣本(semantic sample se)兩個額外輸入:


要得到目標輸出的合成結果 X,函數計算的核心模塊爲軟掩蓋圖 m(soft occlusion map),多幀圖像構成的光流 w(optical flow),以及半合成圖像 h(synthesized intermediate image),三個模塊帶入到深度學習,又可以被表示爲一個個神經網絡參數化後的計算函數(計算模塊)爲 M,W,H,其涉及的參數都可以被網絡學習並且在完成訓練之後固定:


few-shot vid2vid 在整體框架上仍然沿用了目前的 SOTA 方法,保留了光流預測模塊子網絡 W 以及軟掩蓋圖預測模塊子網絡 M。而考慮到我們的額外少量目標圖片輸入,few-shot vid2vid 集中優化了中間圖像合成的模塊 H(Fig b, c),用一個語義圖像合成模型 SPADE 作爲圖片生成器取代了原先工作中的生成模型,SPADE 模型包含多個空間微調分支(spatial modulation branch)以及一個主要的圖像合成分支,同時提出一個額外的網絡參數生成模塊 E(network weight generation module),使用該模塊 E 作用於每個空間微調分支,來抽取一些視頻內存在的有用模式,從而使得生成器能夠合成未訓練過的場景的視頻結果。

參考上圖中的 b,c 模塊,E 分別由 EA,EP,EF 三個子網絡模塊構成,EF 由多個卷積層組織起來進行圖像特徵抽取,EA 模塊則通過預測軟注意力圖(soft attention maps)和加權平均(weighted average)操作將多張圖像抽得的特徵進行糅合,最終得到的糅合表徵輸入到子網絡 EP 當中,使得我們可以得出改良後的 SPADE 生成模塊分支,產生生成模型需要學習到的參數Ɵ。


基於如上的整體網絡結構,few-shot vid2vid 又包含了諸如基於注意力的聚合方法(attention-based aggregation),圖像變形(example image warping),訓練與推理過程調整等具體實現中的技巧,在 YouTube dancing videos,Street-scene videos,Face videos 三個公開數據集上做了方法的驗證,都取得了目前最好的性能指標。


視覺合成效果上直觀來看,無論是人體姿態動作和成,街道場景合成,或者人臉合成任務,few-shot vid2vid 都實現了一個直觀而清晰的合成結果,對比其他方法,有比較高的準確度和辨識度。


綜合英偉達之前出的一系列生成模型相關論文,這篇 few-shot vid2vid 從少樣本學習的角度切入,着眼於生成模型優化並巧妙加入少量目標圖像爲輔助信息學習條件分佈,針對視頻合成的高級視覺任務而非目前佔比例較高的分類識別任務,最終在幾個數據集上結果呈現很不錯,作者同步還公開了代碼以及一個三分鐘的演示小視頻,是一篇值得關注的好工作。

Paper: https://arxiv.org/pdf/1910.12713.pdf

Code: https://github.com/NVlabs/few-shot-vid2vid

Video: https://www.youtube.com/watch?v=8AZBuyEuDqc

Incremental Few-Shot Learning with Attention Attractor Networks

這篇文章研究將少樣本增量學習(Incremental Few-Shot Learning)應用到分類問題當中,增量學習(Incremental Learning)作爲一種動態的機器學習方法,在不遺忘已學過的知識的同時,能夠持續輸入新的數據來擴展現有模型,對於增量學習陌生的讀者可以參考我們之前的文章(https://www.jiqizhixin.com/graph/technologies/09134d6a-96cc-409b-86ef-18af25abf095)。

對於一般的深度分類模型來說,訓練學習過程都是根據固定類別來進行的,然而實際的應用場景中隨着業務的迭代,持續的新增學習類別是非常常見的,同時很難做到每個類別可用數據都充分且平衡,此時怎樣固定記憶住已學會的種類,同時更好的識別新增的少樣本類別,就是一個少樣本增量學習問題。爲了解決少樣本增量學習的分類任務,文章提出一個基於元學習(meta learning)的注意力吸引網絡(Attention Attractor Network,AAN),結合循環式反向傳播,訓練新增類別直到其收斂,之後在所有的分類類別(固有類別以及新增類別)的驗證集上做分類性能評估。


結合整個少樣本增量學習的模型 AAN 模塊圖,我們來理解下其整體的一個計算流程:(1)首先用傳統的監督學習在固有類別上訓練出一個分類器,且學習到一個固定的特徵表達,此階段也可稱爲預訓練階段(Pretraining Stage),(2)在每個訓練和測試的節點(episode),我們就結合元學習正則化矩陣(meta-learned regularizer)訓練一個新類別分類器,(3)將新增類別和固有類別的分類結合起來,優化上一階段的正則模塊,使其能夠在結合固有分類器之後一樣發揮作用。

接下來我們將涉及到的每一個階段結合優化公式展開來看:

預訓練階段:這一個階段並沒有額外的特殊操作,給定固有類別分類所有的數據和對應的類別標籤,訓練一個固有類別分類器,及其對應的特徵表達,得到一個基本的分類模型即可。

增量少樣本學習:提出少樣本學習的增量類別數據集 D,用於該階段的少樣本節點學習。對於每個學習的 N-shot K』-way 節點,每次都分別選中不同於固有類別的 K』個新增類,每個新增類都分別有來自支撐集 S(Support Set)的 N 張圖片,以及 M 張來自查詢集 Q(Query Set)的圖片。而提及的 S 和 Q 兩個圖片集合,可以被當做每個節點學習時候用到的訓練集和驗證集。每個節點都從訓練集 S 學到一個新的分類器,同時分類器對應的學習參數 W 通常只有效作用於本節點,被稱爲速用參數(fast weights)。爲了能夠全面地衡量整體分類效果,訓練算法過程中只允許接觸新增類別的訓練集 S,然而驗證模型的時候採用了新增類別加固有類別合併的驗證集 Q。

元學習正則約束:元學習的整體過程就是迭代地重複上一階段中提到的訓練過程,在新增分類訓練集上得到新的分類器,同時在驗證集 Q 上進行性能驗證,結合交叉熵損失函數(Cross Entropy Loss)與額外引入的正則項 R(Ɵ)作爲優化目標函數來學習更新速用參數 W, 其中Ɵ是元參數(meta-parameters),在本文中被結合嵌入到了注意力吸引網絡(AAN)中。AAN


得到了整體的優化目標函數(文中 cheng 爲 Episodic Objective,情節目標)。我們考慮在學習過程中,模型參數 W 的本質就是要最優化新增類別的預測,那麼針對局部的每個節點訓練後的驗證過程,直接後果就是固有類別的性能無法保證,如果直接令上述優化目標函數的正則項 R 爲 0 或者簡單用權重衰減(weights decay)策略,那麼就會造成災難性的固有類別遺忘問題。基於此種考慮,上面提到的目標函數重要的一項,就是通過引入注意力吸引網絡(AAN)作爲優化的正則項 R,將固有類別的一些信息特徵進行編碼,之後參數化爲恆用參數(low weights)存儲使用,並通過整個 AAN 結構來最小化學習元參數Ɵ,


其中正則項 R(W,Ɵ)也正是 AAN 網絡中的一個核心點,其公式如下:


式子中的 u_k 也就是 AAN 中所謂的 attractor 部分,W 則是提過的權重參數,通過基於 Mahalanobis 距離平方和外加一個偏置項,我們的正則部分 R 就可以實現單一地從新類別中獲取學習信息的這一過程,並且避免提到過的類別遺忘問題。

另一方面,由於節點式元學習的目標函數並不是閉式的(closed-form),參數更新和目標函數優化存在於每一個節點學習中,所以具體實現過程中該論文借鑑了時序性反傳(Back-Propagation Through Time,BPTT)的思想,使用了遞歸反傳算法(Recurrent Back-Propagation,RBP)做到有效的參數迭代學習。

至於試驗階段,文章在少樣本學習兩個知名的 benchmark 數據集上 mini-ImageNet 與 tiered-ImageNet 上驗證了提出算法的有效性,同其他方法類比達到了 SOTA 的效果。


文章整體算法流程的僞代碼總結如下圖:


總的來說,文章研究的增量學習面對少樣本數據的情況是一個具有實際應用意義的問題,文章研究的對少樣本的學習用增量迭代的方式遞進也是非常有趣的一個思路。目前該工作的代碼也已開源,除了在標準的給定數據集上跑分,感興趣的讀者也可以進一步考證其在實際場景應用下的實用性,與此同時受該工作啓發,之後的相關工作是否能夠結合類別之間的語義關聯性,更有效地做少樣本的遞進增量學習或許也是我們值得期待的一個潛在方向。

Paper: https://papers.nips.cc/paper/8769-incremental-few-shot-learning-with-attention-attractor-networks.pdf_ _

Code: https://github.com/renmengye/inc-few-shot-attractor-public

Adaptive Cross-Modal Few-shot Learning

基於度量的元學習(metric-based meta-learning)如今已成爲少樣本學習研究過程中被廣泛應用的一個範式。這篇文章提出利用交叉模態信息(cross-modal information)來進一步加強現有的度量元學習分類算法。

在本文中,交叉模態是指視覺和語言的信息;結構定義上來說視覺信息和語義信息有截然不同的特徵空間,然而在識別任務上二者往往能夠相互輔助,某些情況下視覺信息比起語義文字信息更加直觀,也更加豐富,利於分類識別,而另一些情況下則恰恰相反,比如可獲得的視覺信息受限,那麼語義表達自然是能夠提供強大的先驗知識和背景補充來幫助學習提升。

參考少樣本學習時可能會遇到的困難樣本如下圖:左邊示例的每對圖片在視覺信息上非常類似,然而他們實際上歸屬語義相差很大的不同類別,右邊示例的每對圖片視覺信息差異較大,然而所屬的語義類別都是同一個。這兩組例子很好證明了當視覺信息或語義信息之一缺失的情況下,少樣本分類學習由於樣本數目的匱乏,提供到的信息很可能是有噪聲同時偏局部的,很難區分類似的困難樣本。


根據如上的場景假設,文章提出一個自適應交叉混合的機制(Adaptive Modality Mixture Mechanism,AM3):針對將要被學習的圖像類別,自適應地結合它存在於視覺和語義上的信息,從而大幅提升少樣本場景下的分類任務性能。具體來說,自適應的 AM3 方法並沒有直接將兩個信息模塊對齊起來然後提供輔助,也沒有通過遷移學習轉化語義信息作爲視覺特徵輔助(類似視覺問答 VQA 任務那樣),而是提出更優的方式爲,在少樣本學習的測試階段獨立地處理兩個知識模塊,同時根據不同場景區分適應性地利用兩個模塊信息。

比如根據圖像所屬的種類,讓 AM3 能夠採用一種自適應的凸結合(adaptive convex combination)方式糅合兩個表徵空間並且調整模型關注側重點,從而完成更精確的少樣本分類任務。對於困難樣本,在上圖左邊不同類別視覺相似度高的情況下,AM3 側重語義信息(Semantic modality)從而獲得泛化的背景知識來區分不同類別;而上圖右邊同類別圖片視覺差距大的情況下,AM3 模型側重於視覺信息(Visual modality)豐富的局部特徵從而更好捕捉同類圖片存在的共性。

在對整個算法有初步印象之後,我們結合 AM3 模型示意圖來觀察更多細節:


首先少樣本分類採用的學習方式仍然是 K-way N-shot 的節點學習(episodic training)過程,一方面是來自 N 個類別的 K 張訓練圖片 S 用作支撐集(Support Set),另一方面是來自同樣 N 個類別的測試圖片作爲查詢集 Q(Query Set),並根據分類問題損失定義得到如下參數化的方程爲優化目標:


在基礎模型網絡方面,AM3 採用了一個比較簡潔的 Prototypical Network 作爲例子,但也可以延伸到其他網絡使用:利用支撐集爲每個類別計算一個類似於聚類一樣的中心聚點(centroids),之後對應的查詢集樣本只需與每個中心點計算距離就可以得到所屬類別。對於每一個節點 e(episode)都可以根據平均每個類別所屬支撐樣本的嵌入特徵得到嵌入原型 Pc(embedding prototype)以及分佈的函數 p:

在 AM3 模型裏,爲了如之前說到的更靈活地捕捉語義空間的信息,文章在 Prototypical Network 的基礎上進一步增加了一個預訓練過的詞嵌入模型 W(word embedding),包含了所有類別的標籤詞向量,同時修改了原 Prototypical Network 的類別表徵,改爲同時考慮視覺表達與語義標籤表達的結合。而新模型 AM3 的嵌入原型 P』c 同學習函數,用類似正則項的更新方式得到爲:

其中,$\lamda$是自適應係數,定義爲下式,其中 h 作爲自適應混合函數(adaptive mixing network),令兩個模態混合起來如 Fig 2(a) 所示


上式 p(y=c|q,S,Ɵ)是作爲該節點在 N 個類別上由模型學習到的分佈,整體來說是根據查詢樣本 q 的嵌入表達到嵌入原型直接的距離 d,最終做了一個 softmax 操作得到的。距離 d 在文章中簡單地採用了歐氏距離,模型通過梯度下降算法(SGD)最小化學習目標損失 L(Ɵ)的同時,也不停地更新迭代相關參數集合。

基於並不複雜的模型,文章在少樣本數據集 miniImageNet,tieredImageNet 以及零樣本學習數據集上都驗證了自己的方法,均取得了非常好的成績

總的來看 AM3 這個工作也提出了一個非常有意思的少樣本學習切入點,即多個空間的信息互相補足與制約,AM3 網絡優越性體現在結構的簡潔和理論的完整性,目前該工作的代碼也已經開源,感興趣的讀者可以進一步探索:除了 Prototypical Network 以外,更復雜的網絡以及包含更多的模態信息。

Paper: https://papers.nips.cc/paper/8731-adaptive-cross-modal-few-shot-learning.pdf

Code: https://github.com/ElementAI/am3

Cross Attention Network for Few-shot Classification

該文提出了一個名爲交叉注意力網絡(Cross Attention Network)的模型,一方面通過注意力機制建立待分類類別特徵與查詢樣本之間的聯繫,並且突出目標個體所在區域,同時建立一種名爲直推式學習(transductive learning)的半監督推理來解決少樣本的數據缺乏困境,最終同樣是在兩個少樣本的標準數據集上取得了性能的提升。

Paper: https://papers.nips.cc/paper/8655-cross-attention-network-for-few-shot-classification

Meta-Reinforced Synthetic Data for One-Shot Fine-Grained Visual Recognition

針對少樣本細粒度識別分類(one-shot fine-grained visual recognition)任務下缺乏數據的問題,該文提出了用生成網絡合成圖像數據,利用元學習的方法將其於真實數據混合,放進名爲 MetaIRNet(Meta Image Reinforcing Network) 的網絡模型訓練,最終達到識別效果的提升。

Paper: https://papers.nips.cc/paper/8570-meta-reinforced-synthetic-data-for-one-shot-fine-grained-visual-recognition

Dual Adversarial Semantics-Consistent Network for Generalized Zero-Shot Learning

該文針對泛化零樣本學習問題(generalized zero-shot learning, GZSL)開創性地提出了一個雙重對抗式語義連續網絡(Dual Adversarial Semantics-Consistent Network, DASCN),在一個統一的 GZSL 問題框架下,用其學習原生 GAN 與其對偶的 GAN 網絡,從而達到更好的任務識別效果。

Paper: https://papers.nips.cc/paper/8846-dual-adversarial-semantics-consistent-network-for-generalized-zero-shot-learning

Unsupervised Meta-Learning for Few-Shot Image Classification

這篇文章同樣是針對少樣本的分類學習問題,提出一種無監督式的元學習模型 UMTRA,並在兩個數據集上取得了非常優秀的分類效果。

Paper: https://papers.nips.cc/paper/9203-unsupervised-meta-learning-for-few-shot-image-classification.pdf

Transductive Zero-Shot Learning with Visual Structure Constraint

該文提出一般的零樣本學習方法都容易在數據分佈的原生域(source domain)到目標域(target domain)的映射過程中出現局部偏移(domain shift)導致學習效果不盡如人意。文章藉此提出一種新的視覺結構限制(visual structure constrain)來提升映射函數的泛化性,從而避免上述提到的偏移缺點,文章採用了新的訓練策略,應用了提出的限制模塊,在標準數據集上取得了不錯的效果。

Paper: https://papers.nips.cc/paper/9188-transductive-zero-shot-learning-with-visual-structure-constraint

Order Optimal One-Shot Distributed Learning

文章提出了一種名爲多分辨率預計(Multi-Resolution Estimator, MRE)的新算法,將其應用於少樣本學習過程裏的分佈式統計優化。

Paper: https://papers.nips.cc/paper/8489-order-optimal-one-shot-distributed-learning

總的來說,本屆 NeruIPS 收錄的數篇少樣本學習文章在學習任務上來說,大部分仍然集中於分類任務,並在幾個標準數據集(benchmark dataset)如 miniImagenet 上進行算法性能驗證。所以我們首先挑選的是一篇針對少樣本視頻合成的工作進行詳解,少樣本學習目前在視頻領域的嘗試並不多,few-shot vid2vid 利用生成模型的輔助以及自身設計的參數共享機制,將該任務在之前的 vid2vid 上做了進一步擴展,得到了更近一步貼合實際應用的一篇工作,可以說在任務內容上是非常有啓發性的,同時合成效果性能方面也非常不錯,使其在少樣本任務擴展方面能給相關的科研業界工作者不少啓發。


因爲是針對生成模型的少樣本學習,所以文章着重應用不同學習技巧,調整不同樣本數據集的參數。另外兩篇精講的文章則都是基於分類任務來展開的,兩者都調整了目標函數,增加了一個相似的 regularized 項,但用了兩個不同的解決方案:AAN 這一篇工作使用了視覺任務常用的注意力機制(attention),結合增量學習的相關概念,鞏固了少樣本學習語境下,新類別學習同時常有的固有類別遺忘問題,利用 AAN 加入 regularized 項,從而減少災難性遺忘的問題。再到 AM3 這篇工作,則是進一步地探索少樣本分類中語義信息,視覺信息在不同類別下並不平衡的問題,並且提出了自己的自動糾偏機制,從而使得少樣本分類器針對此類困難樣本學習的情況,可以有更加魯棒的性能。除此之外,其餘概略提到的其他幾篇文章,任務也大多仍集中在少樣本分類問題或者零樣本分類問題的範式下,都有各自獨特的角度和切入點,有的從強化學習切入,有的藉助了 GAN,注意力機制的輔助。

總的來說,在本屆 NeurIPS 收錄的少樣本學習工作中,大都還是針對元學習(Meta-Learning)作爲基本的學習範式展開自己的角度,注意力機制,生成模型,額外語義信息加成,都是本屆收錄文章中着眼引入的亮點,相信也會給之後少樣本學習擴展到其他任務更多啓發,我們也期待看到少樣本學習與已有的增量學習、強化學習等概念做結合後產出的更多新思路。

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