基于小样本学习的图像分类技术综述
基于小樣本學習的圖像分類技術綜述
人工智能技術與咨詢?昨天
本文來自《自動化學報》,作者李穎等
關注微信公眾號:人工智能技術與咨詢。了解更多咨詢!
圖像分類是一個經典的研究課題, 典型的圖像分類算法涉及兩個問題, 一是如何對圖像特征進行更好的表示, 二是如何學習好的分類參數. 隨著卷積神經網絡(Convolutional neural networks, CNN)的設計越來越深層化, 圖像特征的表示能力越來越強, 同時也能對圖像進行自動分類. 在CNN提出之前, 人類通過人工設計的圖像描述符對圖像特征進行提取, 效果卓有成效, 例如尺度不變特征變換(Scale-invariant feature transform, SIFT)[1]、方向梯度直方圖(Histogram of oriented gradient, HOG)[2], 還有詞袋模型(Bag-of-words, BoW)[3-6]等, 但是人工設計特征通常需要花費很大精力, 并且不具有普適性. 基于CNN的深度學習在2012年的ILSVRC挑戰賽上取得了巨大成功, 同時由于大數據、計算硬件的發展以及反向傳播算法[7]的提出, 深度學習在圖像分類領域[8]表現出優異性能.
深度學習的優勢有賴于大數據, 在大數據的驅動下, 機器能夠進行有效學習, 然而數據量不足會導致模型出現過擬合等問題, 雖然簡單的數據增強(Data augmentation, DA)和正則化技術可以緩解該問題, 但是該問題并沒有得到完全解決[9], 故針對小數據集的小樣本學習成為了解決這類問題的關鍵技術. 2003年Li等首次提出了One-shot learning問題并利用貝葉斯框架[10-11]對視覺對象進行學習, 與之相比, 深度學習技術在小樣本圖像分類任務上具有更大的潛力. 小樣本學習的產生有兩個因素, 一是訓練數據量少. 比如在醫療領域, 醫學影像的產生來源于病例, 通常少量的病例并不能夠輔助機器對醫療影像進行分析. 二是讓機器學會以人類的方式進行學習, 即類人學習. 人類能夠在獲取少量樣本的情況下, 對樣本進行分類和識別, 并且具有快速理解新概念并將其泛化的能力[12], 小樣本學習的目的之一就是讓機器以人類的學習方式完成任務. 小樣本學習目前在目標識別[13]、圖像分割[14]、圖像分類與檢索[15]等多種圖像處理任務中都有應用, 文獻[16-19]從樣本數量、帶標簽樣本的數量、先驗知識的作用等不同角度對小樣本學習技術進行了分類討論和分析.
在2010至2015年間, 大量的文獻利用語義遷移來解決訓練樣本不足的問題. 例如, Mensink等[20-21]借鑒了聚類和度量學習的方法對ImageNet數據集進行分類, 并且探索了KNN (K-nearest neighbor)和NCM (Nearest class mean)分類器, 通過對每個類的語義描述, 學習一個度量, 使其在訓練和測試類別間共享, 達到遷移效果; 文獻[22]將語義知識遷移擴展到直推式學習, 利用已知類別推測未知類別的表示, 計算未知類別的樣本相似性, 在構建數據空間分布關系時, 將數據投影到低維的語義空間, 再進一步尋找數據的空間分布, 并在AwA (Animals with attributes)[23]、ImageNet[24]以及MPII composites activities[25]數據集上取得很好的分類效果; 文獻[26]提出直推式多視圖嵌入框架來解決領域漂移問題, 利用異構多視圖標簽傳播來解決原型稀疏性問題, 有效利用了不同語義表示提供的互補信息, 并在AwA、CUB (Caltech-UCSD-Birds)[27]、USAA (Unstructured social activity attribute)[28]數據集上取得了很好效果; Fu等[28]為解決帶有稀疏和不完整標簽的社交媒體數據的屬性學習問題, 利用零樣本學習思想提出了一種學習半潛在屬性空間的模型, 它能夠表達用戶自定義和潛在的屬性信息, 在USAA數據集上取得很好的效果. 這些文章針對的多是零樣本學習問題, 本文主要介紹小樣本下的圖像分類算法, 因此綜述算法更集中于Few-shot learning.
近年來現有文獻中基于小樣本學習的圖像分類算法都是采用深度學習. 將深度學習中的技術用于小樣本學習中, 比如使用數據增強技術來增加樣本的數量, 通過注意力機制和記憶力機制來對圖像特征進行提取, 設計提取特征網絡和分類器之間的映射關系, 與此同時, 遷移學習、元學習、對偶學習、貝葉斯學習以及圖神經網絡方法也被用于小樣本圖像分類的任務. 本文的小樣本學習算法與其他幾篇小樣本文獻相比較有兩點區別, 一是本文闡述的小樣本學習算法是針對圖像分類任務, 文獻[16-19]中的小樣本學習算法不僅應用于圖像分類, 還有識別、分割等圖像任務以及小樣本學習在語音、視頻中的算法應用, 本文集中地對小樣本圖像分類算法進行了分類并歸納總結; 二是本文探索了不同的網絡建模方式, 將小樣本圖像分類算法分為卷積神經網絡模型和圖神經網絡模型兩大類, 卷積神經網絡模型主要基于CNN對圖像數據建模, 圖神經網絡模型進一步將CNN應用在圖神經網絡上, 通過圖結構中的節點和邊來對圖像數據建模.
本文的結構如下, 第1節介紹了小樣本圖像分類的流程, 小樣本圖像分類數據集和實驗評價指標; 第2節將現有小樣本圖像分類算法按照數據結構類型分為卷積神經網絡模型和圖神經網絡模型兩大類并進行詳細介紹; 第3節通過實驗數據對比分析了各種算法的性能; 第4節總結了小樣本圖像分類面臨的技術挑戰并討論了未來研究趨勢; 第5節總結全文.
1.?? 小樣本圖像分類介紹
1.1?? 基于小樣本學習的圖像分類算法
小樣本學習是指訓練類別樣本較少的情況下, 進行相關的學習任務, 一般地, 我們也希望機器通過學習大量的基類(Base class)后, 僅僅需要少量樣本就能快速學習到新類(New class). 通常情況下, 小樣本學習能夠利用類別中的少量樣本, 即一個或者幾個樣本進行學習. 類別下的訓練樣本只有一個的情況下, 小樣本學習被稱為One-shot learning[10], 類別下的訓練樣本有多個的情況下, 稱為Few-shot learning[29-30], Few-shot learning包含有One-shot learning的情況.
小樣本圖像分類流程如圖1所示, 包括準備數據集、構建用于圖像特征提取的網絡和設計分類器三個步驟. 以下對建立小樣本圖像分類流程的三個步驟進行具體介紹.
圖?1??小樣本圖像分類流程
Fig.?1??The procedure of small sample image classification
下載:?全尺寸圖片?幻燈片
1.1.1?? 數據集處理
本文將處理小樣本圖像數據集的方式分為兩種. 一是進行數據增強, 將數據集進行量級擴增和模式擴增, 量級擴增是指針對數據量級的擴大, 模式擴增是指在量級擴增的同時, 讓不同的樣本包含更多的語義特性. 訓練模型時, 如果每類包含大量的樣本, 且這些樣本包含大量的模式, 則在緩解過擬合問題的同時, 模型會具有更好的魯棒性和泛化能力. 除了圖像樣本數目的擴增, 圖像特征的增強也是一種數據增強的方式[31]; 二是不對小樣本數據集進行處理, 在只有少量樣本的情況下, 讓模型適應數據, 針對數據的特點進行建模[32]. 對于小樣本數據集, 設計用于提取表示能力強的特征的網絡架構往往非常重要.
小樣本圖像數據集不足以讓模型捕捉到足夠的數據模式, 而應用于深度學習的卷積神經網絡又需要大量帶標簽的訓練樣本, 因此最直接的解決辦法就是進行數據增強[33]. 數據增強包括三種方式: 一是通過旋轉、加噪、裁剪、壓縮等操作[34], 這種數據增強的方式在處理樣本不足的問題中都有應用; 二是利用生成模型生成新的樣本或者生成新的特征. 例如, Jia等提出使用貝葉斯方法生成新的樣本[35]. 生成對抗網絡可為訓練樣本提供更多的生成圖像, 增加訓練樣本的多樣性. 2017年Mehrotra等提出了生成網絡 + 孿生網絡的網絡結構[36], 生成對抗網絡由生成器和判決器組成, 如圖2所示, 利用生成器進行數據增強, 孿生網絡用于判決器. 孿生網絡第一次被Bromley等在1993年提出并用來解決一種匹配問題的簽名驗證[37]; 三是通過函數變換, 將圖像中需要關注的物體本身或者其模式通過某種變換, 達到增加樣本數量或者特征數量的目的. 例如, Dixit等利用含有屬性標注的語料庫來生成新的樣本[38]. 如果收集到的數據包含少量帶標簽的樣本和大量未帶標簽的樣本, 可以利用帶標簽的樣本去標注未帶標簽的樣本, 產生的偽樣本也可以作為增加的訓練樣本[39].
圖?2??生成對抗網絡 + 孿生網絡[36]
Fig.?2??Generative adversarial networks + siamese networks[36]
下載:?全尺寸圖片?幻燈片
1.1.2?? 特征提取
這個過程主要是為適應數據分布建立特征提取模型, 該模型能夠提取圖像的有效特征, 圖像特征的有效性可解釋為, 對于一個模型, 提取到的圖像特征可以對圖像進行有效表示, 達到更好的分類效果. 為了提高圖像特征的有效性, 注意力機制[31]、記憶力機制[34]等技術被應用于小樣本圖像分類算法中.
1)注意力機制
注意力機制是人類視覺所特有的大腦信號處理機制, 人類視覺通過快速掃描全局圖像, 獲得重點需要關注的目標區域, 然后抑制其他無用信息, 極大地提高了視覺信息處理的效率與準確性. 注意力模型在圖像領域被廣泛使用, 它借鑒了人類的注意力機制, 在對圖像的處理過程中, 始終關注感興趣的部分區域, 因此在建立提取圖像特征模型的過程時, 注意力機制扮演著將圖像信息進一步提取為有效信息的角色, 學習不同局部的重要性.
注意力機制在數學形式上可以理解為加權求和, 通常情況下使用Softmax形式, 并通過引入新的參數來彌補模型的擬合能力. 文獻[40]在對圖像特征提取的過程中使用了單一注意力機制, 文獻[41]認為單一的注意力機制對圖像信息的提取不夠充分, 提出利用多注意力機制將類別標簽信息與視覺信息聯系起來, 減小視覺信息與語義信息之間的鴻溝.
2)記憶力機制
循環神經網絡(Recurrent neural network, RNN)解決了短期記憶的問題, 其變體長短期記憶網絡(Long short-term memory, LSTM)解決了短期記憶和長期依賴的問題. 在圖像領域, 基于LSTM的記憶力機制近年來發揮著重要作用, 它增強了模型的擬合能力和圖像特征的表示能力. 小樣本圖像分類算法對于記憶力機制的應用可分為兩類, 一是直接利用LSTM對圖像進行編碼, 提高圖像特征的表示能力[9]; 二是利用讀寫控制器對記憶信息進行寫入和讀出[42].
1.1.3?? 分類器
分類器的設計取決于圖像特征的有效性和分類器與圖像特征之間的適應性. 分類器與圖像特征之間的適應性可解釋為, 在假定圖像特征具有有效性的前提下, 分類器能夠最大程度地區分不同類別的圖像特征. 通常小樣本圖像分類中所使用的分類器, 大多數是在卷積神經網絡的最后一層構建帶有Softmax的全連接層, 或者對提取的圖像特征應用K近鄰(K-nearest neighbor, KNN)算法, 還有對分類器的權重進行重新生成, 使模型同時適用于基類數據集和新類數據集, 目前現有的元學習方法一般不研究將基類和新類一起進行分類的問題.
分類器本質上是對特征進行相似性度量并對不同類別進行最大程度的區分. 傳統機器學習中最簡單的度量方式KNN, 可對每個樣本間的距離進行度量, 然后進行相似性距離排序, 例如, 可以利用1-nearest neighbor, 即1-NN來完成One-shot learning任務, 但實驗表明分類效果并不好[43]. 除此之外, 還可以通過支持向量機(Support vector machine, SVM)進行分類度量[44-46]. 近鄰成分分析(Neighborhood component analysis, NCA)[47]及其非線性方法[48]、基于集合的弱度量方法[49]等都是樣本特征度量工作的范疇. 在小樣本圖像分類任務中, 也有利用余弦距離和歐氏距離以及點乘方式對特征距離進行度量.
一般地, 當模型學習到新的類別后, 會忘記之前學習過的類別, 與之前所做工作不同的是, Gidaris等[50]提出了基于注意力機制的分類器權重生成器, 通過重新設計分類器來適應分類器權重和圖像特征之間的匹配程度, 使模型同時適用分類基類和新類樣本. 類似于上述工作, Chen等[51]將線性分類器替換為基于距離的分類器, 以比較兩種分類器在不同數據集上的優劣.
1.2?? 數據集及分類指標
1.2.1?? 小樣本公用數據集介紹
近年來, 現有文獻中的小樣本公用數據集主要包括: Omniglot[52]、CIFAR-100[53]、Mini-ImageNet[9]、Tiered-ImageNet[54]和CUB-200[27]. 從數據量級的大小來看, 數據集Tiered-ImageNet, 不僅數據量級較大、類別多, 而且每類包含的樣本也多; 量級較小的數據集, 例如Mini-ImageNet數據集、CIFAR-100數據集、CUB-200數據集, 這類數據集類別較少、類內樣本數相對較多; Omniglot數據集類別較多, 但是相對類內樣本少. 從數據類型的復雜度來看, Omniglot數據集屬于字符類型的圖像, 包含的類型和模式較為簡單, 對其進行實驗往往分類精度較高; 其他數據集都屬于自然圖像, 包含的圖像模式較為復雜, 對其進行實驗分類精度往往相對較低.
上述數據集的相關信息如表1和圖3所示. 小樣本圖像分類使用的公用數據集圖像類別均達到或超過100類, 總體數據量均超過10000, Tiered-ImageNet數據集達到77多萬, Omniglot數據集和CUB-200數據集的平均類內樣本數未達到100, Tiered-ImageNet數據集的平均類內樣本數超過1000. 從本文第3節的實驗分析將看到, 類別越多, 類內樣本越多, 越有利于進行小樣本圖像分類, 這表明數據量級的大小對小樣本圖像分類結果具有一定的影響.
表?1??小樣本公用數據集的數量信息
Table?1??Quantitative information of small sample public data sets
| 數據集 | 數據數量 | 類別數量 | 平均類內樣本 |
| Omniglot[52] | 32460 | 1623 | 20 |
| CIFAR-100[53] | 60000 | 100 | 600 |
| Mini-ImageNet[9] | 60000 | 100 | 600 |
| Tiered-ImageNet[54] | 778848 | 608 | 1281 |
| CUB-200[27] | 11788 | 200 | 58 |
下載:?導出CSV?
|?顯示表格
圖?3??小樣本公用數據集樣本示例
Fig.?3??Sample examples of small sample public data sets
下載:?全尺寸圖片?幻燈片
1.2.2?? 評價指標
小樣本圖像分類算法的實驗評價指標通常稱為N-way?K-shot[9]. 也有使用top-1和top-5來評價圖像分類精度[55].?N-way?K-shot: 選取N類圖像樣本, 每類圖像選取K個樣本或樣本對, 一般地,?N∈{5,10,15,20},K∈{1,5}N∈{5,10,15,20},K∈{1,5}. 模型訓練階段, 構建好訓練模型并在選取的N×K個樣本或樣本對上進行訓練; 在驗證階段和測試階段, 選取N類樣本中的K個樣本或者樣本對, 執行N-way?K-shot分類任務. 根據預測結果來確定預測類別, 預測類別與實際類別相符的準確率即為評價指標. Top-1: 指預測排名第一的類別與實際結果相符的準確率. Top-5: 指預測排名前五的類別包含實際結果的準確率.
2.?? 小樣本圖像分類算法
針對不同類型數據的建模方式, 本文將小樣本圖像分類算法分為卷積神經網絡模型和圖神經網絡模型. 根據學習范式, 卷積神經網絡模型可分為遷移學習、元學習、對偶學習和貝葉斯學習. 基于遷移學習的小樣本圖像分類有三種實現方式, 基于特征、基于相關性和基于共享參數; 基于元學習的小樣本圖像分類有三種實現方式, 基于度量、基于優化和基于模型; 基于對偶學習的小樣本圖像分類有兩種實現方式, 一是利用自動編碼機, 二是利用生成對抗網絡. 本節將對以上小樣本圖像分類算法進行詳細介紹, 并在Omniglot數據集、Mini-ImageNet數據集、CIFAR-100數據集和CUB-200數據集上進行實驗分析.
2.1?? 遷移學習
利用遷移學習[56-57]可以減小模型訓練的代價, 同時達到讓卷積神經網絡適應小樣本數據的目的. 遷移學習的思想是, 相似任務之間的學習是有相同規律可尋的, 并且學習第n個任務比第1個任務要更為簡單[58]. 遷移學習關注的是目標任務, 給定一個源域DsDs和一個學習任務TsTs, 一個目標域DtDt和一個學習任務TtTt, 遷移學習的目的是使用在DsDs和TsTs上的知識幫助提高在目標域DtDt上的預測函數ft(x)ft(x)的學習, 以更好地執行學習任務TtTt, 其中Ds≠DtDs≠Dt或Ts≠TtTs≠Tt. 如果遷移學習中的源數據和目標數據不同但是具有相關性[59], 則需要進一步處理. 比如, 使用多源域的決策知識預測目標域的樣本標簽[60].
如圖4所示, 從小樣本圖像分類的流程來看, 遷移學習是在圖像特征提取階段實現的. 具體的遷移方式可以分為基于特征的遷移、基于共享參數的遷移和基于關系的遷移. 如果將基類作為源域數據, 將新類作為目標域數據, 以基類數據到新類數據的知識遷移為例, 基于特征的遷移是找出基類數據和新類數據之間共同的特征, 通過特征變換的方式將基類數據的知識進行遷移, 用于新類數據分類. 該方法存在的難點在于, 一是尋找基類數據和新類數據的共同特征, 二是采用何種方式對特征進行遷移; 基于關系的遷移是建立基類數據和新類數據之間相關知識的映射, 通過這種關系映射來進行學習. 該方法的難點在于, 一是如何確定映射關系, 二是如何建立映射關系; 基于共享參數的遷移需要找到基于基類數據模型和基于新類數據模型之間的共享參數或者相同的先驗分布, 利用這些參數或者先驗分布進行知識遷移. 該方法的難點在于如何尋找共享參數和確定先驗分布. 在尋找源域數據和目標域數據的共同特征、知識映射關系以及模型的共享參數和先驗分布時, 重要的是搭建能夠有效提取圖像特征的網絡結構以及適用的知識遷移方式. 需要建立可持續學習的模型時, 小樣本遷移學習不僅需要保證模型對目標域數據有效, 而且還要確保模型在源域數據和目標域數據都有不錯的分類效果.
圖?4??遷移學習
Fig.?4??Transfer learning
下載:?全尺寸圖片?幻燈片
2.1.1?? 基于特征的遷移學習
Hariharan等[61]利用基類樣本間的模式對新類樣本進行相同變換, 達到增加訓練樣本數量的目的. 具體來講, 從類A中抽取兩個樣本, 這兩個樣本間存在某種變換模式, 再從類B中取出一個樣本, 對這個樣本實施和類A中兩個樣本間同樣的變換模式以生成新的樣本. 該方法使用ImageNet1k數據集, 將其分為基類數據集和新類數據集, 基類中含有大量訓練樣本, 新類含有少量訓練樣本. 訓練模型分為兩個階段, 一是表征學習階段, 對數據增強后的基類數據進行特征提取, 并構建分類器; 二是小樣本學習階段, 利用基類數據和新類數據共同訓練模型, 以獲取基類數據和新類數據的共同特征, 并將表征學習階段提取的特征用于對基類和新類進行分類. 為了使分類器同時適應基類數據和新類數據, 如式(1)所示, 提出一個新的損失函數, 用來減小模型
| Loss=minW,?LD(?,W)+λLSGMD(?,W)Loss=minW,?LD(?,W)+λLDSGM(?,W) | (1) |
在基類和新類上學習能力的差異, 其中,?LD(?,W)LD(?,W)表示在基類數據上的損失, 平方梯度(Squared gradient magnitude, SGM)損失LSGMD(?,W)LDSGM(?,W)表示基類與新類之間的差異所造成的損失, 參數λλ通過交叉驗證確定, 以保證構建一個在基類和新類都適用的分類器. Choi等[62]針對素描圖像和自然圖像的小樣本學習問題提出了一種結構性集合匹配網絡(Structured set matching networks, SSMN), 利用的是樣本間的相關性. 該模型在自建的多標簽的素描圖像集合、自然圖像集合、素描和自然圖像混合的集合間的三個數據集中都有不錯的效果. 它利用圖像的多標簽信息進行域內或跨域遷移, 通過CNN和雙向LSTMs對基類樣本和新類樣本的局部特征進行提取并映射進同一空間中, 計算局部和全局相似度實現圖像分類.
2.1.2?? 基于關系的遷移學習
將知識壓縮進一個單一的模型已經被Buciluaana等證明是可行的[63], 進一步地, 2014年Hinton等首次提出了知識蒸餾的概念[64], 通過引入相對復雜的教師網絡, 來誘導精簡、低復雜度的學生網絡的訓練, 將知識從教師網絡中遷移到壓縮的學生網絡中[65], 實現知識遷移. 學生網絡可以通過對教師網絡進行修剪[66-68]或者壓縮[69-72]得到, 也可以重新設計一個新的網絡架構. 知識蒸餾的目的就是在減少網絡架構的同時把網絡的知識保留下來, 為了達到這一目的, 提出了一個新的溫度參數Tem, 將輸出的概率(硬目標)進行軟化, 如式(2)所示,
| q=exp(ziTem)∑iexp(xiTem)q=exp(ziTem)∑iexp(xiTem) | (2) |
其中zizi是Softmax層的前一層輸出,?qq是軟化后的概率輸出(軟目標). 教師網絡的預測輸出除以溫度參數Tem之后, 做Softmax變換, 可以獲得軟化的概率分布(軟目標), 數值介于0 ~ 1之間, 取值分布較為緩和, 即對于樣本的所屬類別分別給出一個或大或小的概率, 而不是確定的0或1.?TemTem數值越大, 分布越緩和; 而TemTem數值減小, 容易放大錯誤分類的概率, 引入不必要的噪聲. 針對較困難的分類或檢測任務,?TemTem通常取1, 確保教師網絡中正確預測的貢獻. 硬目標則是樣本的真實標注, 可以用One-hot矢量表示. 總體的損失設計為軟目標與硬目標所對應的交叉熵的加權平均, 其中軟目標交叉熵的加權系數越大, 表明遷移誘導越依賴教師網絡的貢獻, 這對訓練初期階段是很有必要的, 有助于讓學生網絡更輕松地鑒別簡單樣本, 但訓練后期需要適當減小軟目標的比重, 讓真實標注幫助鑒別困難樣本. 另外, 教師網絡的推理性能通常要優于學生網絡, 而模型容量則無具體限制, 因此帶有標簽的訓練數據越多, 教師網絡推理精度越高, 越有利于學生網絡的學習. Kimura等[39]在2018年提出了一種不同于之前的知識蒸餾方法, 僅僅需要使用少量的訓練樣本就可以實現知識遷移. 利用少量可得的帶標簽的訓練樣本訓練一個高斯過程的模型作為教師網絡, 以克服過擬合問題, 接著如同知識蒸餾一樣, 將模型中的知識遷移到學生網絡模型中, 同時使用誘導點[73]作為增加的訓練樣本, 對學生網絡進行訓練. 2019年有研究人員提出在學生網絡中添加1×1卷積層[74], 實現知識蒸餾[75]. 該算法使用預訓練模型VGG或者ResNet等作為教師網絡, 在學生網絡中添加1×1卷積層, 進一步減少參數的數量, 保持特征映射尺度不變的同時增加網絡的非線性, 使用最小二乘回歸將其與教師網絡進行對齊, 即對學生網絡進行誘導學習, 經過網絡訓練后得到最終的學生網絡.
2.1.3?? 基于共享參數的遷移學習
Oquab等[76]采用微調策略. 該算法中, 對圖像進行多塊分解實現數據增強, 加強了模型以局部視角識別圖像的能力. Oquab等認為卷積神經網絡提取的中層特征能夠對圖像進行很好的表示, 利用在ImageNet數據集上預訓練的模型[8], 對圖像中層特征進行提取, 并重新構建分類層, 構建新的網絡對數據集分類.
Qi等[77]提出將遷移學習和增量學習進行結合, 通過對分類器的權重進行處理來實現增量零訓練. 該算法利用卷積神經網絡作為特征提取器以共享參數, 對新樣本進行特征提取后, 產生一個分類權重向量, 將其擴展進預訓練的分類器權重中, 以適應對新樣本的分類任務.
除了將遷移學習與增量學習進行結合, 也可對特征提取器與分類器間的映射關系進行獨立建模. Qiao等[55]在2018年提出直接從激活函數層預測分類參數的算法(Predicting parameters from activations, PPA), 一般地, 最后一層激活函數層與分類層間有相應的權重連接, 在激活函數和分類層之間建立一個分類參數預測器, 可以更好地對分類器的參數進行調整, 匹配圖像特征與分類器.
2.2?? 元學習
元學習又叫做學會學習, 是機器學習領域一個重要的研究方向, 它解決的是學會如何學習的問題. 傳統的機器學習研究模式是: 獲取特定任務的數據集, 每次再利用這些數據集從頭開始訓練模型. 然而, 人類可以通過獲取以往的經驗, 對同類型的任務或有共性的任務進行快速學習, 這是因為人類懂得如何學習. 如圖5所示, 如果把特征提取視為機器在數據集上學習的過程, 那么元學習器就是要評估這個學習過程, 也就是讓機器學習學習的過程, 即通過學習獲得學習經驗, 利用這些經驗再去對最終的目標任務進行評估. 一種常見的元學習方式是將學習算法編碼進卷積神經網絡中, 包括基于距離度量的元學習和基于模型的元學習. 基于距離度量的元學習將圖像映射到一個度量空間并使用某種度量方式計算不同圖像樣本的差異, 度量方式包括固定距離度量[40]?(歐氏距離、余弦距離或點乘)和非固定距離度量[62]?(例如使用Sigmoid計算距離得分); 基于模型的元學習通過構建元模型來獲得經驗知識[78], 再利用這些經驗去評估最終的分類任務. 另一種元學習方式是基于優化的元學習, 基于優化的元學習目的是使網絡具有一個好的初始化[79].
圖?5??元學習
Fig.?5??Meta learning
下載:?全尺寸圖片?幻燈片
2.2.1?? 基于度量的元學習
采用固定距離度量方式. 2015年Koch等[43]針對字符識別提出了深度卷積孿生網絡, 利用全局仿射變換增加訓練數據集. 該算法訓練一個孿生網絡對樣本進行相似性判決, 即讓樣本對通過完全相同的網絡結構, 利用歐氏距離對從樣本中學習到的特征進行相似性度量, 根據學習到的特征映射測試樣本進行分類. 雖然該方法提出不依賴先驗知識, 易于簡化模型, 但是缺少先驗知識的輔助信息, 在較為復雜的數據集上進行小樣本圖像分類任務時難以達到好的效果. Vinyals等使用余弦距離度量, 設計的匹配網絡(Matching networks, MN)[9]經由基于深度特征的度量學習和外部存儲器增強的神經網絡啟發, 可以從小數據集中快速地學習新的概念, 同時避免微調, 且對細粒度圖像分類(Fine-gained image classification)任務有很好的適應性. 匹配網絡采用“episode” 的形式, 即從原始數據中采樣出帶有標簽的任務集合, 然后從任務集合中獲取支持集和目標集構成元任務, 通過對支持集的訓練, 來最小化目標集上的誤差, 很多元學習的文章對數據集都采取“episode” 的形式. 通過使用注意力機制和用于上下文嵌入的雙向長短期記憶網絡(Long-short term memory, LSTM)[80], 對圖像特征進行充分提取. 計算測試樣本標簽的數學表達式如式 (3),
| y^=∑i=1ka(x^,xi)yiy^=∑i=1ka(x^,xi)yi | (3) |
其中xi,yixi,yi, 是來自支持集S=(xi,yi)ki=1S=(xi,yi)i=1k的樣本及其對應標簽,?x?x^代表測試樣本. 可以看出測試樣本標簽的輸出是支持集中標簽的線性組合,?aa是一個注意力機制, 通過在余弦距離上使用Softmax來實現, 可認為是對于標簽的加權系數, 用來衡量支持集中訓練樣本和測試樣本的相關程度. Bartunov等[40]在2018年提出了一種生成式匹配網絡(Generative matching networks, GMN), 認為新樣本的生成服從某一條件概率分布, 使用該分布生成新樣本來進行數據增強, 增加了樣本的多樣性, 因此不要求訓練數據本身具有豐富的多樣性, 少量的數據即可進行小樣本圖像分類任務. 與之前的匹配網絡不同, 該方法不是針對樣本進行直接匹配, 而是將樣本映射到語義嵌入空間, 在嵌入空間中利用條件似然函數對樣本的語義特征向量進行匹配, 減小了特征空間和語義空間的鴻溝. Cai等[42]提出了端到端的記憶匹配網絡(Memory matching networks, MMN), 是一種利用內部存儲來進行記憶編碼的元學習方法, 它將提取到的圖像特征用記憶寫入控制器壓縮進記憶間隙, 然后利用上下文學習器, 即雙向的LSTM對記憶間隙進行編碼, 不僅提高了圖像特征的表示能力, 而且能夠探索類別之間的關系, 其輸出為未標注樣本的嵌入向量, 記憶讀入控制器通過讀入支持集的嵌入向量, 將兩者點乘作為距離相似度度量, 相比于余弦距離, 計算復雜度更加簡單. Snell等提出的原型網絡(Prototypical networks, PN)[29]需要計算類別原型. 通過學習一個度量空間, 在這個度量空間內, 分類器可以根據樣本到類別原型間的距離, 來對樣本進行分類. 每個類別原型, 可以通過對每個類別中所有樣本在度量空間的向量求平均得到, 使用歐氏距離來判斷樣本所屬的類別.
Choi等采用非固定距離度量[62], 針對素描圖像和自然圖像的小樣本圖像分類問題提出了一種結構性集合匹配網絡(Structured set matching networks, SSMN), 從執行任務的角度來看該方法屬于元學習. 該模型利用RNN對圖像間的所有標簽對應的局部信息進行局部相似度計算, 并將局部特征和全局特征進行結合, 利用多標簽數據增強圖像的解釋性, 但同時也增加了標注數據的工作量. 人類在辨別事物的時候, 習慣對不同的事物進行比較, 根據這個簡單的思想, Sung等[30]在2018年提出的端到端的相關網絡(Relation network, RN), 學習一個深度距離以度量元學習任務的不同樣本. 相關網絡由兩個模塊組成, 嵌入模塊和相關模塊, 嵌入模塊對不同的樣本進行特征提取, 相關模塊將不同樣本的特征進行拼接進而得出不同樣本間的相關性度量分數. Zhou等[81]提出了基于嵌入回歸的視覺類比網絡, 學習低維的嵌入空間, 再從嵌入空間中學習到分類參數的線性映射函數, 對新類分類時, 將新類樣本與學習到基類的嵌入特征進行相似度度量.
2.2.2?? 基于模型的元學習
一般地, 元學習分為兩個階段: 執行在不同任務上的元級模型的慢速學習和執行在單個任務中的基準模型的快速學習[82-83], 元級模型的目的是學習不同任務中的通用知識, 然后將其傳遞給基準模型, 來幫助在單個任務上的學習. Munkhdalai等[78]在2017年使用卷積神經網絡構造了一種元網絡(Meta networks, meta-Nets), 用于跨任務間的學習, 遵循之前的工作, 將元學習問題分為兩個階段. 它提出了一種更快的學習方法是利用一個神經網絡去預測另一個神經網絡的參數, 生成的參數稱為快權值, 用來加快網絡的學習速度, 普通的基于隨機梯度下降(Stochastic gradient descent, SGD)等優化的參數被稱為慢權值. 該模型的訓練由元級模型和基準模型共同來執行, 包括元信息的獲取, 快權重的產生和慢權重的更新. 基準模型使用損失梯度信息作為元信息, 在不同元任務中獲取元信息并存儲在外部設備. 元級模型對存儲在外部存儲設備的元信息進行獲取, 并通過預測產生快權值來加速網絡學習. Zhou等[32]在2018年提出的深度元學習模型(Deep meta learning, DML), 能夠在概念空間中進行學習, 而不是在傳統上的視覺空間. 該模型由三個模塊組成: 概念生成器、元學習器和概念判決器. 為了讓元學習有一個好的特征表示, 概念生成器使用深度殘差網絡, 以捕捉高級語義概念, 然后利用概念判決器進行信息反饋和優化, 同時將提取到的特征作為概念用于元學習器進一步地學習. 該方法通過在語義概念上的學習減少了視覺空間和語義空間的鴻溝, 使用深度殘差網絡來構建更加復雜的模型, 以適應復雜的數據模式. Santoro等[34]提出利用RNN架構加外部存儲記憶的方式. 外部存儲的使用使模型精度獲得了提高, 但是同時也降低了模型的效率并占用了大量的存儲空間. Sun等[84]提出的元 ? 遷移學習(Meta-transfer learning, MTL)利用遷移知識有效減少模型更新的參數, 同時構建更深層次的網絡增加模型的復雜度.
元學習模型通用方法. 針對小樣本數據量較少的特點, Wang等[85]在2018年提出了對于任何元學習模型都適用的數據增強方式, 針對生成模型捕捉的樣本模式不足這一問題, 提出使用生成模型來產生新的樣本, 這些樣本是由真實的樣本和噪聲向量通過3層帶有Relu非線性激活函數的多層感知機(Multi-layer perception, MLP)產生的, 利用生成的樣本和原有的樣本共同對模型進行訓練. 該數據增強方式能夠結合任何元學習算法進行使用, 由于采用生成網絡產生新樣本, 因此實驗結果的好壞取決于生成新樣本的質量. Wang等[86]提出了一個模型回歸網絡(Model regression networks), 利用的是分類器之間的相關性. 該方法認為在小樣本數據中學習到的分類器和在大樣本數據中學習到的分類器之間存在一種變換, 可以通過深度回歸網絡進行學習, 同時該變換作為一種先驗知識可以幫助在小樣本數據上的分類任務.
2019年有研究學者將增量學習與元學習進行結合, 提出的注意力吸引網絡[87]?(Attention attractor networks, AAN)模型不僅在新類上表現良好, 而且不會遺忘在基類上學習到的知識. 如圖6, 訓練階段A, 在基類上進行預訓練模型, 學習分類參數WaWa, 階段B結合注意力機制并利用每次學習一個新任務的分類參數WbWb, 階段C將WaWa和WbWb作為基類和新類的分類參數W?bWb?用來對元任務進行測試. 對于給定的新任務都會學習一個參數WbWb, 代表該任務在執行分類時的貢獻, 使得分類器更加靈活適用, 而且對單個新樣本的分類也更加容易.
圖?6??注意力吸引網絡結構[87]
Fig.?6??Attention attractor networks structure[87]
下載:?全尺寸圖片?幻燈片
2.2.3?? 基于優化的元學習
針對小樣本數據集的微調策略, 采用的是將模型在大數據集上進行預訓練, 然后在小數據集上進行簡單微調. 然而經過預訓練的模型并不能保證對于微調有一個很好的初始化參數. 基于優化的元學習能夠保證網絡學習到一個好的初始化, 使模型對新任務更易于微調.
Finn等[79]在2017年提出了一種與模型無關(Model-agnostic meta-learning, MAML)的元學習算法. 該算法提出的模型無關性元學習算法, 使用少量的梯度迭代步驟就可以學習到適用于新任務的參數, 能夠匹配任何使用梯度下降法訓練的模型. 簡單地講, 如果在模型中加入新的任務, 每個不同的任務會產生不同的損失, 利用模型在該任務上的損失進行參數優化, 使其快速適用于新的分類任務. 然而MAML對神經網絡結構非常敏感, 導致訓練過程不穩定, Antoniou等[88]提出對MAML進行優化, 進一步提高了系統的泛化性能, 加快了網絡的收斂速度, 減少了計算開銷. Nichol等[89]提出的基于優化的元學習模型Reptile, 也是通過學習網絡參數的初始化, 與MAML不同的是, Reptile在參數優化時不要求使用微分. Ravi等[90]提出的基于梯度的優化算法, 使用基于LSTM的元學習模型去學習一個網絡的初始化, 它能夠捕捉到單個任務的短期知識和所有任務的長期知識, 以便更好地提取特征用于解釋圖像.
2.3?? 對偶學習
為了降低機器對大量標注樣本的依賴, 以及在強化學習中減少機器與環境交互的次數, 對偶學習作為一種新的學習范式應運而生. 現實生活中, 很多有實用價值的人工智能任務往往是成對出現的, 例如, 在圖像領域, 圖像識別和圖像生成都有重要的應用, 屬于對偶任務. 如果根據對偶任務來訓練模型, 利用任務到任務的反饋信息, 就能克服模型對數據的依賴問題[91].
深度神經網絡中的自編碼機(Auto encoder, AE)就是對偶學習的一個特例, 包括兩個部分: 編碼和解碼. 變體算法有降噪自編碼機[92]、堆疊卷積自編碼機[93]和變分自編碼機[94]等, 其應用主要為數據去噪、數據降維以及數據生成. 在進行小樣本圖像分類的過程中, 由于數據量小, 會進行數據增強操作, 但是數據增強有時候會產生噪聲數據, 對于樣本數據的多樣性表示不足, 可能不會對決策邊界產生影響, 需要引入額外的語義知識. 如圖7所示, Chen等[31]在2018年提出語義特征增加的算法(Semantic feature augmentation, SFA) ResNet-18 + 對偶TriNet網絡, 利用編碼 ? 解碼機制在圖像特征和語義空間進行變換實現特征增加, 增加的特征能夠豐富圖像的語義多樣性, 引入額外的語義信息. 使用ResNet-18網絡對圖像特征進行提取, 編碼器Encoder-Trinet將提取的特征映射到語義空間, 在語義空間中, 對語義特征添加噪聲進行高斯擾動, 假設語義空間中的特征值的微小變化允許在保持語義信息的同時形成潛在的類內變換, 然后采用解碼器Decoder-Trinet將語義特征映射回多層的ResNet-18特征空間, 即實現特征增加. 該算法是一個端到端的網絡框架, 能夠在多層的圖像特征空間和語義空間中學習映射關系, 適用于多種網絡結構.
圖?7??編碼—解碼機制[31]
Fig.?7??Coding-decoding mechanism[31]
下載:?全尺寸圖片?幻燈片
2.4?? 貝葉斯學習
深度學習基于大數據通過多層網絡實現對抽象概念的理解, 顯然, 數據量越多其效果越好, 假如沒有那么多的大數據該如何進行抽象概念的理解. 對人類來說, 即便沒有知識的積累, 沒有相應的專業知識, 我們也能夠照貓畫虎, 這有點類似貝葉斯學習的方式[95]. 貝葉斯學習是利用參數的先驗分布, 由小樣本信息得到的后驗分布, 直接求出總體分布. 貝葉斯學習理論使用概率去表示所有形式的不確定性, 通過概率規則來實現學習和推理過程. 更具體的來說, 貝葉斯學習并不去求解最優的參數值θ,θ,而是假設參數θθ本身符合某個分布, 即先驗概率P(θ),P(θ),隨后利用訓練樣本得到條件概率分布P(X|θ),P(X|θ),根據貝葉斯公式我們便能求得樣本的總體分布, 如式(4),
| P(θ|X)=P(θ)P(X|θ)P(X)P(θ|X)=P(θ)P(X|θ)P(X) | (4) |
其中P(X)P(X)為樣本XX服從的分布. 將貝葉斯學習與深度學習結合為貝葉斯深度學習, 此時網絡的權重WiWi和偏置bb由確定的值變成某種分布. Lake等在2011年提出層次貝葉斯程序學習(Hierarchical Bayesian program learning, HBPL), 對觀測像素進行結構解釋, 解決了字符識別的問題, 但是其參數空間太大[12], 因此, 又提出了一種基于組合和因果關系的層次貝葉斯模型[96], 解決了對大數據集的依賴問題. 在2015年的貝葉斯框架中提出了一種新的計算模型, 用來模擬人類的學習能力[52], 同時加入了元學習, 可以從現有的字符中抽象出其部件, 再根據不同部件的因果關系創造新的字符, 從而形成豐富的概念. 2018年Kim等[97]將貝葉斯方法應用在與模型無關的元學習算法中, 將基于梯度的元學習與非參數變量的推理結合起來, 使用貝葉斯先驗防止元學習模型過擬合, 但也提升了模型的復雜度.
2.5?? 圖神經網絡模型
現實生活中的大量問題都可以被抽象成圖模型[98], 圖G=(V,E)G=(V,E)作為一種數據結構, 由節點VV和邊EE的集合組成, 能夠表達復雜的數據關系. 傳統的機器學習方法很難處理圖神經網絡信息, 充分挖掘圖中蘊含的知識是一項非常具有挑戰的任務. 在深度學習時代, 將圖與深度學習進行融合成為了一項重要的工作. 本節所述的圖神經網絡(Graph neural network, GNN)模型是將CNN用于圖神經網絡上, 并對歐幾里得小樣本圖像數據進行分類.
圖神經網絡在2005年首次被Gori等[99]和Scarselli等[100]提出, 用傳統的方法處理圖結構數據是將其轉換為一組平面向量, 然而以這種方式處理數據, 重要的拓撲信息可能丟失, GNN擴展了遞歸神經網絡, 使有向圖、無向圖、循環圖等得以被處理, 作為一種可訓練的網絡其中固定節點可被分別調整. Bruna等[101]和Henaff等[102]提出學習圖拉普拉斯的光滑譜乘子, 是將CNN泛化到非歐氏空間的一種嘗試, 但是其計算代價非常高. Defferrard等[103]和Kipf等[104]通過學習圖拉普拉斯的多項式解決了計算代價的問題. Li等[105]和Sukhbaatar等[106]進一步放寬模型的限制, 對網絡層內的權重解耦, 同時提出門控機制進行非線性更新.
在小樣本學習中, 為了將圖神經網絡應用于規則的歐幾里得圖像數據, Satorras等[107]在2018年提出了一個端對端的圖卷積網絡結構(Graph convolutional network, GCN), 用于捕捉任務中具有不變性的特征. 圖神經網絡模型由輸入圖片的集合構成, 圖神經網絡中的節點與集合中的圖片信息相關, 邊是一個可訓練的、用來度量相鄰兩個節點相似性的參數. 如圖8所示, 將5個樣本通過式(5)構建出圖鄰接矩陣, 接著通過圖卷積得到節點的嵌入向量, 然后用式(5)依次更新圖, 用圖卷積更新節點嵌入, 這樣就構成了一個深度的圖卷積神經網絡, 最后使用交叉熵損失函數計算圖卷積神經網絡的輸出概率p.φθ?(?)p.φθ~(?)的具體形式為式(6), 使用MLP來計算圖鄰接矩陣A?(k)i,j.A~i,j(k).其中,?x(k)ixi(k)和x(k)jxj(k)為輸入樣本.?T?表示輸入的學習任務.
圖?8??圖卷積神經網絡[107]
Fig.?8??Graph convolution neural network[107]
下載:?全尺寸圖片?幻燈片
| A?(k)i,j=φθ?(x(k)i,x(k)j)A~i,j(k)=φθ~(xi(k),xj(k)) | (5) |
| φθ?(x(k)i,x(k)j)=MLPθ?(abs(x(k)i?x(k)j))φθ~(xi(k),xj(k))=MLPθ~(abs(xi(k)?xj(k))) | (6) |
文獻[107]利用圖節點的標簽信息, 隱式地對類內的相似性和類間的不相似性進行建模, 與之相反, Kim等[108]在2019年提出的基于邊標簽的圖卷積神經網絡(Edge-labeling graph neural network, EGNN), 將數據集分為多個元任務, 包括支持集和查詢集, 通過直接探索類內的相似性和類間的不相似性來迭代地更新邊標簽信息, 通過預測邊標簽對樣本進行顯式聚類. Liu等[109]提出了一種轉導式的傳播網絡(Transductive propagation network, TPN), 該算法利用元學習框架和流型假設, 通過對特征嵌入參數和圖神經網絡構建的參數進行聯合學習, 將標簽從標注樣本傳遞到未標注樣本, 提高了模型的泛化能力.
3.?? 實驗對比分析
上文描述的現有基于小樣本學習的圖像分類算法被歸納為卷積神經網絡模型和圖神經網絡模型兩大類, 具體如圖9所示.
圖?9??小樣本圖像分類算法概況
Fig.?9??Overview of small sample image classification algorithms
下載:?全尺寸圖片?幻燈片
3.1?? 各種算法在公用數據集上的實驗測試結果分析
1)三種基于元學習的小樣本圖像分類算法各有優勢, 此外訓練模型時學習的類別越多, 類內樣本越少, 分類效果越不好.
Omniglot數據集是字符圖像, 背景單一, 內容簡單. 從表2中可以看出, 基于元學習的小樣本算法在Omniglot數據集上的N-way?K-shot分類結果非常好. 然而, 學習類別越多, 樣本越少, 分類效果越不好, 因此20way-1shot的實驗結果相對其他N-way?K-shot分類結果較低.
表?2??基于元學習的Omniglot實驗結果
Table?2??Experimental results of Omniglot based on meta learning
| Omniglot | |||||
| 5way-1shot | 5way-5shot | 20way-1shot | 20way-5shot | ||
| 基于度量的元學習 | MN[9] | 98.12 | 99.63 | 94.40 | 98.78 |
| 文獻 [40] | 90.80 | 96.70 | 77.00 | 91.00 | |
| MMN[42] | 99.28 | 99.77 | 97.16 | 98.93 | |
| PN[29] | 98.80 | 99.18 | 92.11 | 97.57 | |
| RN[30] | 99.48 | 99.60 | 97.67 | 98.97 | |
| 基于模型的元學習 | Meta-Nets[78] | 98.00 | 99.60 | 96.90 | 98.50 |
| 基于優化的元學習 | MAML[79] | 98.79 | 99.48 | 93.43 | 95.33 |
| 文獻 [88] | — | — | 97.65 | 99.33 | |
| Reptile[89] | 97.50 | 99.87 | 93.75 | 97.68 | |
下載:?導出CSV?
|?顯示表格
小樣本圖像分類算法中, 基于度量的元學習算法在Mini-ImageNet數據集上學習到好的度量空間可提高分類效果. 如表3所示, 基于度量的元學習算法中, MMN使用了記憶力機制, 加強了圖像特征的表示能力, 可以學習到一個好的度量空間.
表?3??基于元學習的Mini-ImageNet實驗結果
Table?3??Experimental results of Mini-ImageNet based on meta learning
| Mini-ImageNet | |||
| 5way-1shot | 5way-5shot | ||
| 基于度量的元學習 | MN[9] | 44.38 | 57.78 |
| PN[29] | 44.43 | 66.04 | |
| RN[30] | 50.13 | 64.33 | |
| MMN[42] | 53.37 | 66.97 | |
| 基于模型的元學習 | DML[32] | 58.49 | 71.28 |
| AAN[87] | 54.89 | 62.37 | |
| MTL[84] | 61.20 | 75.50 | |
| 基于優化的元學習 | MAML[79] | 43.09 | 60.63 |
| Reptile[89] | 48.21 | 66.00 | |
| 文獻 [90] | 43.44 | 60.00 | |
| 文獻 [88] | 52.15 | 68.32 | |
下載:?導出CSV?
|?顯示表格
小樣本圖像分類算法中, 基于模型的元學習算法通過學習豐富的圖像語義特征幫助在Mini-ImageNet數據集上分類. 其中, DML利用深度殘差網絡作為概念生成器, 可以構建表達能力更大的網絡結構, 產生更好的語義特征.
小樣本圖像分類算法中, 基于優化的元學習算法具有快速學習的能力. 其與基于模型的元學習算法相比分類結果較差, 通過學習網絡參數的初始化, 模型微調于新類時會更加適應, 該類算法能夠快速對新樣本進行訓練, 其分類效果依賴于優化策略以及對新樣本的適應.
2)圖卷積網絡模型中, 對類內樣本的相關性和類間樣本的不相關性建模, 在Omniglot和Mini-ImageNet數據集上能夠產生更好的分類效果.
如表4所示, GCN、TPN以及EGNN在Omniglot數據集上都取得了很好的分類精度, 在更為復雜的圖像數據集Mini-ImageNet上, EGNN的分類效果好于GCN和TPN.
表?4??基于圖卷積網絡的Mini-ImageNet、Omniglot實驗結果
Table?4??Experimental results of Mini-ImageNet and Omniglot based on graph convolutional network
| Omniglot | Mini-ImageNet | |||||
| 5way-1shot | 5way-5shot | 20way-1shot | 20way-5shot | 5way-1shot | 5way-5shot | |
| GCN[107] | 99.26 | 99.72 | 97.66 | 99.10 | 53.03 | 64.78 |
| TPN[109] | 99.26 | 99.44 | 96.48 | 98.59 | 54.44 | 67.05 |
| EGNN[108] | 99.75 | 99.77 | 98.62 | 99.62 | 62.34 | 75.77 |
下載:?導出CSV?
|?顯示表格
GCN模型利用樣本間的相關性建立模型, 但忽略了樣本間存在的差異性. TPN對模型的建立是利用了樣本間的相關性和不相關性. EGNN則利用卷積網絡對樣本間的相關性和不相關性進行學習, 進一步復雜化了模型, 同時增強了模型的非線性化, 提高了模型的表達能力.
3)當小樣本圖像分類算法提取到豐富的高層語義特征或者在特征提取和分類器之間設計好的映射函數時, 能產生較好的分類效果.
表5所示, 分別從各類中挑選出的性能最好的算法進行比較, 在Mini-ImageNet數據集上各算法的5way-1shot分類精度接近于60.0 %, 5way-5shot的分類精度均高于70.0 %, 其中SFA和EGNN達到了76.0 %, 這四種算法分別是遷移學習算法PPA、元學習算法DML、對偶學習算法SFA、基于圖卷積神經網絡的算法EGNN, 其中PPA算法通過激活函數來預測分類器中的分類參數, 相當于在高層語義特征和分類器之間做一個映射, 使分類器對于不同語義特征的選擇更加精確; DML算法利用深度殘差網絡提取到圖像的高級語義特征; SFA算法通過編碼—解碼機制, 對編碼機映射到語義空間中的實例特征擾動, 再利用解碼機產生豐富的圖像特征. EGNN算法對類內樣本關系和類間樣本關系進行建模, 能夠對圖像信息進行強有力的表示. 可以看出, 通過對圖像的高層語義特征的利用, 提高了小樣本圖像分類的精度.
表?5??遷移學習、元學習、對偶學習和圖神經網絡模型實驗結果
Table?5??Experimental results of transfer learning, meta learning, dual learning and graph neural network model
| Mini-ImageNet | ||
| 5way-1shot | 5way-5shot | |
| 遷移學習 PPA[55] | 59.60 | 73.74 |
| 元學習 DML[32] | 58.49 | 71.28 |
| 對偶學習 SFA[31] | 57.95 | 76.64 |
| 圖神經網絡模型 EGNN[108] | 62.34 | 75.77 |
下載:?導出CSV?
|?顯示表格
3.2?? 小樣本學習算法在輪胎花紋數據集上的實驗結果
為進一步分析現有小樣本圖像分類算法的表現, 本節實驗在西安郵電大學圖像與信息處理研究所依托與公安部門合作的平臺所自建的輪胎花紋圖像數據集[110]上進行.
輪胎花紋分類的研究源于交通肇事及公安案件處理中輪胎花紋匹配的實際需求. 該數據集是目前公開用于學術研究的最大的輪胎花紋數據集, 包含輪胎表面花紋數據和輪胎壓痕花紋數據各80類, 每類30張不同亮度不同尺度和不同旋轉角度的圖片, 如圖10所示. 實驗測試分別在表面花紋圖像數據、壓痕花紋圖像數據、及兩種圖像混合數據上進行(因為實際需求往往需要進行表面花紋和壓痕花紋的比對). 實驗中46類用于訓練, 10類用于驗證, 13類用于測試, 輪胎混合花紋數據集包含同樣的類別, 不同的是每類160張圖像.
圖?10??輪胎花紋數據集樣本示例
Fig.?10??Sample examples of tire patterns data sets
下載:?全尺寸圖片?幻燈片
為研究基于元學習的小樣本學習算法、通過編碼—解碼進行語義特征增強的小樣本學習算法和基于圖神經網絡的小樣本學習算法對輪胎花紋圖像分類的效果, 分別對以下5個算法進行了實驗: 基于優化的小樣本元學習算法[79], 基于模型的小樣本元學習算法[78], 基于度量的小樣本元學習算法[30], 基于編碼—解碼結構的小樣本對偶學習算法[31], 基于圖神經網絡的小樣本學習算法[107].?表6為實驗測試結果, 通過五組實驗對比可以看出:
表?6??在輪胎花紋數據集上的測試結果對比
Table?6??Test results comparison of various algorithms on tire patterns data set
| 算法 | 輪胎數據集 | 分類精度 | |
| 5way-1shot | 5way-5shot | ||
| 文獻 [79] | 表面 | 67.09 | 85.55 |
| 壓痕 | 77.66 | 87.32 | |
| 混合 | 46.03 | 64.00 | |
| 文獻 [78] | 表面 | 53.46 | 78.42 |
| 壓痕 | 66.13 | 80.45 | |
| 混合 | 42.80 | 63.53 | |
| 文獻 [107] | 表面 | 77.46 | 89.52 |
| 壓痕 | 77.76 | 92.00 | |
| 混合 | 58.04 | 79.98 | |
| 文獻 [31] | 表面 | 72.71 | 91.03 |
| 壓痕 | 76.42 | 91.76 | |
| 混合 | 51.84 | 81.02 | |
| 文獻 [30] | 表面 | 63.97 | 81.60 |
| 壓痕 | 73.71 | 84.54 | |
| 混合 | 48.21 | 65.20 | |
下載:?導出CSV?
|?顯示表格
1)通過編碼—解碼結構進行的語義特征增強能夠提高分類精度.
2) 5組實驗的分類精度在混合數據集上均相對較低, 這是因為同一類輪胎混合花紋圖像中包含了表面花紋和壓痕花紋兩種既相關又有差異的數據, 造成類間相似度降低, 從而分類任務難度增加.
相比其他算法, 基于圖神經網絡的小樣本學習算法在輪胎花紋表面數據集和壓痕數據集上的分類精度差異最小, 而且在混合花紋數據集上的分類精度最高. 這說明基于圖神經網絡的小樣本學習算法適用于輪胎花紋數據集的分類研究. 下一步工作中, 我們將對比更多算法, 并進行更進一步的研究.
3.3?? 不同模型的小樣本圖像分類算法的討論
針對第3.1節和第3.2節的實驗分析結果, 本節進一步分析了各類算法之間的特點, 并分別對卷積神經網絡模型和圖神經網絡模型進行討論.
1)對卷積神經網絡模型的討論.
如表7所示, 卷積神經網絡模型中的遷移學習、元學習、對偶學習都可以使用數據增強的方式來解決小樣本圖像分類問題, 當增強的樣本具有較大的數量和豐富的語義內容時, 小樣本數據集的分類結果會有所提升.
表?7??小樣本圖像分類算法的對比
Table?7??Comparison of small sample image classification algorithms
| 算法 | 數據增強 | 訓練策略 | 分類度量方式 | 數據集 | |
| 基于特征的遷移學習 | 文獻 [61] | 函數變換增加訓練樣本 | CNN 表示學習階段 + 小樣本學習階段 | 全連接層 + Softmax | ImageNet |
| SSMN[62] | CNN + LSTM 局部特征度量 + 全局特征度量 | 嵌入向量 + 點乘 | DiPART、PPM、Cross-DiPART-PPM | ||
| 基于關系的遷移學習 | 文獻 [39] | 采用偽樣本數據 | CNN 知識蒸餾 | 全連接層 + Softmax | MNIST |
| 文獻 [75] | CNN 1×1卷積核知識蒸餾 | 全連接層 + Softmax | CIFAR-10、CIFAR-100 | ||
| 基于共享參 數的遷移 學習 | 文獻 [76] | 裁剪 | CNN 預訓練模型 + 微調 | 全連接層 + Softmax | PASCAL VOC 2007、PASCALVOC 2012 |
| 文獻 [77] | CNN 分類權重嵌入 | 全連接層 + Softmax | CUB-200 | ||
| PPA[55] | CNN 在激活函數和 Softmax 之間建模, 預測類別的分類參數 | 全連接層 + Softmax | Mini-ImageNet | ||
| 基于度量的元學習 | 文獻 [43] | CNN 孿生網絡 + 距離度量 | 嵌入向量 + 歐氏距離 | Omniglot | |
| MN[9] | 仿射變換 | CNN + LSTM 注意力模塊 + 樣本間匹配 | 嵌入向量 + 余弦距離 | Omniglot、Mini-ImageNet | |
| MMN[42] | CNN + bi-LSTM 記憶讀寫控制模塊 + 樣本間匹配 | 嵌入向量 + 點乘 | Omniglot、Mini-ImageNet | ||
| PN[29] | CNN 聚類 + 樣本間原型度量 | 嵌入向量 + 歐氏距離 | Omniglot、Mini-ImageNet | ||
| RN[30] | 旋轉 | CNN 不同樣本在特征空間比較 | 全連接層 + Softmax | Omniglot、Mini-ImageNet | |
| 文獻 [81] | CNN 利用嵌入特征回歸分類參數 + 不同樣本映射到同一嵌入空間進行相似性度量 | 全連接層 + Softmax | Omniglot、Mini-ImageNet | ||
| 基于優化的元學習 | MAML[79] | 旋轉 | 利用基于梯度的學習來更新每個元任務的參數 | Omniglot、Mini-ImageNet | |
| Reptile[89] | 將梯度下降計算的參數與初始化參數的差用于參數梯度更新 | Omniglot、Mini-ImageNet | |||
| 文獻 [90] | 利用 LSTM 模型學習優化算法 | Mini-ImageNet | |||
| 基于模型的元學習 | Meta-Nets[78] | 旋轉 | CNN + LSTM記憶模塊 + Meta learner + Base learner | 全連接層 + Softmax | Omniglot、Mini-ImageNet |
| DML[32] | CNN 概念生成器 + 概念判決器 + Meta learner | 全連接層 + Softmax | CUB-200、CIFAR-100、Mini-ImageNet | ||
| 文獻 [34] | CNN + LSTM對樣本和標簽進行綁定編碼使用外部記憶存儲模塊 | 全連接層 + Softmax | Omniglot | ||
| 基于模型的元學習 | 文獻 [85] | 函數變換增加訓練樣本 | CNN 利用數據增強提升元學習 | 全連接層 + Softmax | ImageNet |
| 文獻 [86] | CNN 減小大數據集和小數據集分類器間的差異 | SVM | CUB-200 | ||
| AAN[87] | CNN 注意力模塊 + 增量學習 + 元學習針對樣本生成相應的分類參數 | 全連接層 + Softmax | Mini-ImageNe、Tiered-ImageNet | ||
| 自動編碼機 | SFA[31] | 使用編碼 ? 解碼機制進行特征增加 | CNN 通過擾動語義空間特征實現樣本特征增加 | 全連接層 + Softmax | CUB-200、CIFAR-100、Mini-ImageNet |
| 圖卷積神經網絡 | GCN[107] | GCN 利用圖節點標簽信息, 隱式地對類內和類間樣本關系進行建模 | 全連接層 + Softmax | Omniglot、Mini-ImageNet | |
| EGNN[108] | GCN 通過預測邊標簽, 顯式地對類內和類間樣本進行建模 | 全連接層 + Softmax | Mini-ImageNet、Tiered-ImageNet | ||
| TPN[109] | GCN 流型假設 + 標簽傳播 | 全連接層 + Softmax | Mini-ImageNet、Tiered-ImageNet |
下載:?導出CSV?
|?顯示表格
對偶學習目前在小樣本圖像分類中的主要應用是數據增強, 不同于之前的圖像變換方法, 對偶學習中可以利用自編碼機在圖像的視覺特征空間和語義特征空間之間相互變換, 它可以和現有的圖像特征提取模型進行結合, 利用自編碼機尋找好的數據增強方式.
相對于遷移學習、元學習和對偶學習, 貝葉斯學習目前在小樣本學習中的應用較少, 可以更好地應用于訓練數據量較少的情況, 但需要指定參數的先驗分布, 而且對于樣本的獨立性要求較高, 但是現實生活中的樣本和類別都具有一定的相關性, 因此建模方式存在偏差, 可將其與其他小樣本圖像分類方法相結合.
目前小樣本圖像分類中應用最多的是遷移學習和元學習, 兩種方法都可以借助預訓練模型來進一步學習, 或者借助遷移學習思想和元學習策略對小樣本數據進行訓練, 遷移學習更多側重于得到表示性更強的遷移特征, 元學習在度量方式、模型設計以及初始化策略上都有考量. 同時, 對傳統機器學習分類器的使用也使得模型的解耦性增強, 更好地進行網絡架構的設計, 其中基于歐氏距離、余弦距離和點乘方式度量在基于度量的元學習中使用較多.
2)對圖神經網絡模型的討論.
本文所述的圖神經網絡模型利用CNN對歐幾里得圖像數據進行特征提取, 由于圖神經網絡模型的節點和邊可以表示更多的圖像信息, 因此圖神經網絡對于樣本間的復雜關系有更強的表示能力, 也有助于探索更多潛在于小樣本數據集中的信息. EGNN相比較于GCN和TPN其模型的復雜度更高, 體現在對圖中相鄰節點關系的表示上, EGNN不僅利用了類內樣本間的相關性, 而且也對類間樣本的不相關性進行建模, 再通過迭代不斷地學習類內相關性和類間不相關性. 從表4中可以發現, 其在Mini-ImageNet數據集上的5way-5shot分類精度達到了75.77 %. 圖神經網絡對數據的建模方式與卷積神經網絡模型不同, 它能夠將圖像間的聯系以圖連接的形式呈現出來, 圖中的邊可以顯式表達這種聯系, 圖模型構建以及圖的更新方式目前還有待更多研究.
4.?? 技術挑戰與未來研究趨勢
目前, 小樣本圖像分類算法在模式較為簡單的字符型數據集Omniglot上已取得很好的分類結果, 但是對于相對復雜的數據集, 雖然分類結果不斷提升, 但是仍然不理想. 利用數據增強、正則化、對特征提取過程建模等方式, 可以有效地緩解小樣本帶來的過擬合問題, 也能夠增強圖像特征的表示能力, 但仍然需要在克服過擬合問題和增強圖像的表示能力之間進行權衡. 除此之外, 小樣本圖像分類仍然面臨一些挑戰, 本節將對此進行介紹, 同時從技術角度對小樣本圖像分類未來的研究趨勢進行展望.
4.1?? 小樣本圖像分類面臨的挑戰
1)權衡過擬合問題和圖像特征表示能力
小樣本圖像分類模型往往需要克服過擬合問題, 同時又要從少量的樣本中學習到能夠表示圖像的有效特征. 遷移學習中對小樣本數據集進行特征提取[61], 元學習中從元任務中獲取元信息[29]等都需要對圖像特征進行提取, 為了緩解過擬合問題, 通常使用的網絡結構較為簡單, 不足以對圖像中蘊含的信息進行有效表達, 而Resnet網絡[87]和其他殘差網絡[32]能夠加深網絡的層數, 記憶模塊能夠對歷史信息進行存取和使用[34,?62,?78,?90], 從而增強了圖像特征的表示能力. 因此, 如何權衡過擬合問題和圖像特征表示能力是小樣本圖像分類需要面臨的挑戰.
2)不同應用領域的小樣本圖像分類
從上述的實驗分析中可以看出, 多數小樣本圖像分類算法, 在模式簡單、背景單一的字符型數據集Omniglot上具有非常好的分類效果[30,?79,?89], 在模式較為復雜的其他類型的數據集, 同一個小樣本圖像分類算法在不同的小樣本數據集上的分類結果具有一定的差異[31-32]. 針對不同應用領域圖像數據內容的不同特點, 如何設計合適的小樣本圖像分類算法, 或者具有一定普適性適應不同數據集的算法, 這也是小樣本圖像分類目前的難點.
4.2?? 小樣本圖像分類未來的研究方向
1)應用注意力機制
小樣本學習的訓練樣本量較少, 提取到的信息相對有限, 可以利用注意力機制在有限的訓練樣本下, 提取到對圖像具有表示性更強的特征, 并且使得該特征能夠顯著影響分類效果. 小樣本學習從本質上講是想讓機器學會人類的學習方式以及泛化能力, 人類能夠在圖像識別任務中很好地利用注意力機制, 此外, 注意力機制能夠提高神經網絡的可解釋性[111], 軟注意力機制和硬注意力機制[112]、自注意力機制[113]、互注意力機制[114]等注意力模型, 其直觀性、通用性以及可解釋性能夠對小樣本圖像分類任務提供重要幫助.
2)將CNN中圖像特征的標量表示替換為向量表示
CNN利用卷積核能夠檢測出相應的圖像特征, 但如果樣本不夠豐富, 一些重要信息就會檢測不到, 比如位置等信息, 因此, CNN需要更多的樣本來增強它的性能, 提高圖像特征的表示性. 膠囊網絡通過向量來對圖像特征進行表示, 向量中可以包含任意個值, 每個值代表當前需要識別的物體的一個特征, 而傳統的卷積操作是通過線性加權求和的結果, 得到的是標量. 膠囊網絡利用動態路由算法進行信息傳遞, 它需要較少的訓練數據, 而且能夠保留圖像特征的位置和姿態信息, 對旋轉、平移以及其他仿射變換也有很強的魯棒性[115].
5.?? 結束語
本文針對當前基于小樣本學習的圖像分類算法進行了歸類總結, 依據對不同數據類型的建模方式, 將小樣本圖像分類算法分為卷積神經網絡模型和圖神經網絡模型兩大類, 其中, 卷積神經網絡模型又分為遷移學習、元學習、貝葉斯學習和對偶學習四種學習范式, 并針對數據集處理、特征提取和分類器設計三個環節, 對兩類算法進行了詳細介紹. 遷移學習更多側重于得到表示性更強的遷移特征; 元學習在度量方式、模型設計以及初始化策略上都有考量; 貝葉斯方法目前難以單獨應用于小樣本圖像分類; 對偶學習應用于小樣本圖像分類的是編碼—解碼結構, 可進行數據增強; 圖神經網絡可側重于對圖像間關系進行建模. 最后針對目前小樣本圖像分類算法的不足, 分析了小樣本圖像分類面臨的挑戰, 同時從技術角度探索了小樣本圖像分類的未來研究趨勢.
【轉載聲明】轉載目的在于傳遞更多信息。如涉及作品版權和其它問題,請在30日內與本號聯系,我們將在第一時間刪除!
總結
以上是生活随笔為你收集整理的基于小样本学习的图像分类技术综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下的Tomcat服务器修改se
- 下一篇: 小白学JAVA,与你们感同身受,JAVA