核心思想
本文提出一種基於圖神經網絡的小樣本學習算法(DPGN)。先前基於圖神經網絡的小樣本算法通常將每個樣本當作一個結點,然後通過結點之間的關係,來推導出未知結點的類別。本文不僅關心樣本與樣本之間的關係,而且關注樣本的分佈之間的關係。本文提出了一個雙圖神經網絡模型,一個圖用於描述樣本(PG),一個圖用於描述分佈(DG)。PG通過聚合每個樣本和其他所有樣本之間的關係來得到DG,DG又利用每對樣本分佈之間的關係來優化PG,這種循環信息傳遞關係將實例級別和分佈級別的關係融合起來。本文提出模型的整體流程如下圖所示
,表示第代樣本圖PG,表示節點集合,每個節點表示一個樣本的特徵向量,表示邊集合,每個邊描述兩個樣本之間的關係;,表示第代分佈圖DG,表示節點集合,每個節點表示一個樣本的分佈,表示邊集合,每個邊描述兩個分佈之間的關係。
首先,利用特徵提取網絡提取支持集圖像和查詢集圖像對應的特徵向量,並用其初始化第一代樣本圖的節點
然後利用結點間的相似性關係來描述邊
對於第代的樣本圖,邊的計算方式如下
其中表示一個編碼網絡。得到樣本圖PG後,接着計算分佈圖DG,DG的目的是整合每個節點之間的聯繫,從而得到分佈之間的關係,因此DG的每個節點都是一個NK維(N-way K-shot)的特徵向量,第行就描述了樣本和樣本之間的關係。第一代分佈圖DG節點的初始化方式如下
表示級聯操作,表示樣本的標籤,如果則,否則爲0。對於代的分佈圖,其節點計算方式如下
其聚合了樣本圖中每個節點之間的關係和上一代分佈圖中該節點的信息,表示PG到DG的傳播過程。分佈圖DG中邊的計算方式與PG類似,計算過程如下
其表徵了每個分佈之間的相似性關係。最後,利用DG推導出下一代樣本圖PG中的節點信息,計算過程如下
表示DG到PG的聚合網絡。整個更新過程如下圖所示
DPGN的整個傳播過程可以概括爲
由樣本圖的邊得到分佈圖的節點,再得到分佈圖的邊,進而推導出樣本圖的節點,最後得到下一代樣本的邊完成一個循環過程。
實現過程
網絡結構
特徵提取網絡可採用任意卷積神經網絡結構(ConvNet-4,ResNet-12,ResNet-18等);和均是由兩個Conv-BN-ReLU的卷積塊構成;是由一個帶有ReLU的全連接層構成;由兩個Conv-BN-ReLU的卷積塊構成。
損失函數
本文最終預測結果計算方式如下
損失函數包含兩個部分:樣本損失和分佈損失。樣本損失計算過程如下
分佈損失計算過程如下
總的損失函數爲
可以看到是將所有代圖模型的結果都進行了損失計算。
算法推廣
本文提出的模型還可以採用半監督學習或直推學習的模式
創新點
- 提出一種包含分佈圖和樣本圖的雙圖神經網絡模型,用於小樣本學習任務
- 建立起分佈圖和樣本圖之間的循環傳播過程,融合了實例級和分佈級的關係
算法評價
本文提出的圖模型相較於先前的小樣本學習算法都有明顯的效果提升,在有監督學習條件下性能提升5%-12%,在半監督學習條件下性能提升7%-13%,這也展示了圖神經網絡在小樣本學習問題中的巨大潛力,可能取代簡單的度量學習方式成爲未來研究的主流方向。
如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。