ECCV 2020 | GAN/VAE地位難保?Flow被首次用于零樣本學習

      網友投稿 873 2025-04-05

      計算機視覺三大會議之一的ECCV 2020剛剛落下帷幕,本文主要介紹阿聯酋起源人工智能研究院(IIAI)的科學家們在該會議上發表的一篇論文:《Invertible Zero-Shot Recognition Flows》。該工作首次提出了一種基于生成流(Generative Flow)模型的零樣本學習方法,并在多個數據庫上取得了目前最好的識別結果。

      全文鏈接:

      https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123610596.pdf

      一、零樣本學習簡介

      眾所周知,在當今計算機視覺領域,深度學習可謂“一統天下”,在諸多視覺任務中都取得了目前最好的(檢測、識別、分割等)結果。而數據可謂是深度學習算法的“Buff”,算法的好壞往往取決于是否有充足且多樣性的標注好的訓練數據。舉例而言,我們要識別下圖中的三種動物,那么首先我們需要標注大量老虎、兔子和斑馬的圖片,然后基于這些有標簽的圖片訓練深度學習模型,最后將未知類別的圖片輸入訓練好的模型中,才能夠準確識別出圖片中包含的動物類別。然而,在實際應用場景中,我們往往會遇到以下“尷尬”情況:當我們在訓練深度學習模型時,能“看見”的是標注好的大量老虎和兔子的圖片,然而我們需要識別的圖片中包含的卻是斑馬。可以預見的是,不管我們使用多么先進的模型架構,將斑馬輸入訓練好的模型后,所得到的預測結果很有可能就是老虎(為啥?很簡單,因為老虎和斑馬長得更像不是嘛)。如下圖所示,我們把斑馬稱作不可見類別(Unseen Class),而老虎和兔子就屬于可見類別(Seen Class),而這個問題則被稱為零樣本識別(Zero-Shot Recognition)問題,用來解決這一類問題的方法則被稱為零樣本學習(Zero-Shot Learning,ZSL)方法。

      在現實生活中,類似情況是十分常見的,因為:(1)“斑馬”可能是新型物種,我們使勁渾身解數也沒法捕捉到它那“迷人”的一瞬間;(2)有人見過“斑馬”,但還是沒法拍到它的照片,因為它可能是人體內的某個器官(每拍一次就會受一次輻射,這誰受得了)。換而言之,世界瞬息萬變,新物種、新概念、新類型層出不窮,我們無法或很難獲取某些類別的標注數據。

      那么,我們怎么才能識別這令人摸不著頭腦的“斑馬”呢?答案是——買裝備!哦不對,是借助語義信息(Semantics)。啥叫語義信息?很簡單,就是我們在描述某類事物特征時用到的一些形容詞,比如斑馬是“條紋狀的”、“黑白相間的”、“毛茸茸的”、“臉長長的”等等。同樣的,我們也可以對老虎和兔子進行描述。需要注意的是,這些描述類形容詞在三種動物間是共享的,更一本正經的說:這些形容詞共存于一個預先定義好的語義空間(Semantic Space)中,在這個空間中每種動物都有與之相對應的語義編碼(Semantic Embedding)。這樣一來,我們有了這些輔助信息,就可以自信地解決零樣本問題了。具體來說,目前主流的零樣本學習方法主要遵循以下三種思路:

      1. 學習視覺空間到語義空間的映射關系

      使用這種方式,我們就可以學習到老虎和兔子身上的各種屬性信息。當我們從未謀面的斑馬進入我們的視野,我們就可以用學習到的映射關系來描述它。比如,我們可以自信的說,我們見到了一種動物,它身上是條紋狀的、黑白相間的、毛茸茸的等等。從此,我們只要見到斑馬的圖片,就可以自然地把它們歸為我們不知道名字的那一類動物?;蛘?,我們也可以幫它取個名字叫“XX”,那我們就可以把斑馬圖片歸類為“XX”類動物。至此,我們就可以識別出未知的動物類別了。

      2. 學習語義空間到視覺空間的映射關系

      這種思路反其道而行之,學習語義到視覺空間的映射,這樣的話我們就可以基于斑馬的語義編碼生成斑馬的視覺特征,當新來一幅包含斑馬的圖片時,我們就可以根據它在視覺空間中與之前生成的斑馬特征進行相似度度量,從而識別出該圖片的所屬類別。值得一提的是,學習從語義到視覺空間映射這一任務與目前比較熱門的圖像生成(Image Generation)任務十分類似。因此,一些生成模型(Generative Model),比如生成對抗網絡(Generative Adversarial Network, GAN) 和變分自編碼器(Variational Autoencoder,VAE)都被廣泛地擴展并應用于零樣本識別任務,并且大多取得了目前最好(State-of-the-Art)的識別效果。

      3. 學習視覺和語義空間到一個共享的隱空間的映射關系

      這個思路也很直觀,除了已有的兩個空間外,我們還可以自定義一個“更好”的隱空間,然后把視覺特征和語義編碼都投影到該空間中,最后通過距離度量等方式來獲得最終的識別結果。

      二、零樣本學習與生成模型

      1. 基本思路

      一般而言,ZSL需要借助額外的知識來將模型的感知能力推廣到不可見類別與模式上?;谏赡P偷腪SL框架也基本遵循這個思路,只不過在策略上和傳統方法稍有不同。近年來我們可以看到大量的生成式ZSL的工作,該類方法的大致流程如下圖所示:

      (1)先在可見(Seen)類別上訓練一個可用于條件生成(Conditional Generation)的生成模型;

      (2)利用語義空間的連續性,以不可見(Unseen)樣本類別的語義特征作為輸入,通過先前訓練好的生成模型生成一些近似的未知類別樣本;

      (3)使用生成的不可見類別的樣本作為訓練數據,訓練一個獨立的分類器。

      現階段較為流行的深度生成模型大致可以被歸納為如下幾類:

      (1)生成對抗網絡(GAN):ZSL中最常見的選擇,早期的工作極大提高了ZSL的效能。但訓練不夠穩定,加入額外正則項的時候有可能會導致不可預測的訓練結果。

      (2)變分自編碼器(VAE):ZSL中另一個常見的選擇。訓練較為穩定,但是變分推斷所使用的下界模型(ELBO)有時對于樣本空間的描述不夠精準(尤其是Conditional VAE),再加之其訓練過程對于隱空間的特性有要求(主要是Reparametrization Trick需要一個可導的采樣策略),使得條件生成的效果往往不夠好,進而影響后續分類器的識別能力。

      (3)自回歸模型(Auto-Regressive Model):自回歸模型一般情況下不作為視覺問題的主要解決策略,這很大程度上(大概)是因為CNN不像RNN一樣可以方便地進行自回歸迭代 (而且也不需要),生成過程的并行化能力不夠強。在這里不做討論。

      (4)生成流(Generative Flow):我們的選擇,它可以直接描述樣本空間的概率特性,擁有較為簡單而穩定的訓練過程,也有不錯的生成效果。具體比較可見下表:

      在以往的ZSL研究中,人們往往為了克服GAN的問題而去選擇VAE,亦或為了克服VAE的問題而去選擇GAN。那么,我們何不考慮開辟一條新的道路來同時解決更多問題呢?這個時候,Generative Flow進入了我們的視野……

      2. Generative Flow背景

      Flow與VAE不同的是,VAE僅會給出樣本概率的下界,而Flow則會直接計算單個樣本的概率質量:

      其中z是由關于x的一組雙射性(Bijective)變換z=fθ(x)得到的。pθ(z)一般會選用比較好參數化的先驗分布(例如0均值的高斯分布)。其核心理論是基于概率模型中的變量替換(The Change of Variables Formula)具體可以參考這個wiki頁面:

      https://en.wikipedia.org/wiki/Probability_density_function#Dependent_variables_and_change_of_variables

      Generative Flow的生成過程依賴于變換函數f()的逆變換 g=f^-1:

      這個模型先前并沒有在CV領域引起很廣泛的關注,主要原因在于以下兩個難點:

      (1)尋找一個任意深度神經網絡的逆變換并不方便;

      (2)雅可比行列式det(dz/dx)的計算并不方便。

      這些問題在近幾年已經被逐步改善,核心思路是構造特定的網絡結構,在保證整體逆變換不需要改變計算圖的前提下,形成三角陣樣式的雅可比矩陣。我們這里列出幾個在這個方面具有代表性的工作:

      ●?NICE:?https://arxiv.org/abs/1410.8516

      ●?RealNVP:?https://arxiv.org/abs/1605.08803

      ●?Glow:?https://arxiv.org/abs/1807.03039

      我們本次的工作很大程度上是站在以上巨人的肩膀上完成的。更詳細的綜述可以參考:

      ●?Normalizing Flows: An Introduction and Review of Current Methods:

      https://arxiv.org/abs/1908.09257

      三、我們的方法: IZF

      ECCV 2020 | GAN/VAE地位難保?Flow被首次用于零樣本學習

      Generative Flow并不是為零樣本學習而存在的,因此并不能直接做到即插即用。為此,本文提出了三個貢獻來讓生成流方法更好地服務于ZSL問題:

      ●?我們通過將網絡的輸出分解為語義和非語義部分,從而將語義信息注入生成流方法中,這也是首次生成流方法被用于零樣本識別任務。

      ●?我們提出了一個簡單有效的方法,即度量和控制可見-不可見(Seen-Unseen)類別間的樣本分布差異,從而解決零樣本識別中普遍存在的偏移(Bias/Shift)問題。

      ●?我們在四個經典的零樣本識別數據庫(AwA1&2、CUB、SUN、aPY)上,在兩種不同實驗設置(Classic/Generalized Setting)下,均達到了國際領先的識別效果。

      這是我們方法(Invertible Zero-shot Flow, IZF)的示意圖,可以看到,生成流方法本質上是一個可逆網絡,網絡兩邊的輸入(也是輸出)分別是特征空間和語義空間。值得注意的是,這和上文所提到的三種思路有所不同,我們通過學習特征和語義空間的一種雙向映射關系來解決零樣本識別問題。

      IZF的具體網絡結構如上圖所示,網絡的正向傳播路徑和逆向傳播路徑(注意這里并不是神經網絡優化時使用的反向傳播,即Back-Propagation)分別顯示在示意圖的上半部分和下半部分。

      1. 條件生成式Flow

      我們使用v來代表任意一張圖片的視覺特征;y作為其分類標注;c代表對應類別的語義特征。在最終目標為利用Unseen類別的語義特征進行條件生成的前提下,我們略微改寫了Flow,將其輸出分為了語義相關部分(c)和語義不相關部分(z):

      我們對兩部分的輸出進行不同的正則:

      其中語義相關部分會被關聯至該圖片原本標簽的語義特征,而非語義部分則保持原有Flow的設計。這兩個先驗概率在最終計算的時候都會化為2范數的形式,因此使用起來非常方便。當然,這樣的設計非常經驗主義,但已經足夠好用。

      整個生成過程和常見的模型類似,唯一的區別在于IZF不需要使用額外的Decoder網絡,而只需要Encoder的逆變換:

      這個過程和CVAE的Decoder以及GAN的Generator過程類似。

      2. 修正Seen-Unseen偏差:擴大MMD

      大部分模型都有可能有將輸出結果“聚攏”在一起的傾向,對于ZSL而言這可能導致生成的Unseen樣本或特征長得和Seen樣本過于接近,這將直接影響整個模型的判別能力,而這一直以來也是ZSL的一個核心問題。已經有相關研究證明Generative Flow本身對于這種現象并沒有什么抵抗力。為了讓我們的模型更好地服務于ZSL,我們決定人為地略微擴大(生成的)Unseen樣本的概率分布與Seen樣本的概率分布之間的距離:

      我們選擇使用MMD來衡量兩個概率分布之間的差異。這種做法在很多模型中已經被證明是一種行之有效的手段,例如Wasserstein Auto-Encoder以及MMD-GAN。不同點在于,已有的研究工作中往往通過最小化MMD來對齊兩個不同的概率分布,而我們考慮略微增大Seen與Generated Unseen分布之間的MMD以達到更好的ZSL效果。所提出的損失函數如下:

      這個思路對于難以參數化的分布來說應該是再合適不過了。當然,這個正則項會帶來一些負面效果,例如會驅使模型生成一些不合理的樣本,這個特性在我們的實驗中也完整地體現了。

      3. 訓練

      IZF的訓練完全依賴于梯度下降,因此十分方便快捷。我們使用三項目標函數的組合作為最終的損失函數:

      其中

      ● L_Flow即單個樣本的負對數似元(Negative Log-Likelihood),由本文章節三.1確定,是Generative Flow的常規訓練目標函數。在只需要Encoding輸出的情況下合理化模型的生成結果。這也是Flow的一大便捷特性。

      ●?L_iMMD由本文章節三.2確定。

      ● L_C是常見的規范Classification Prototype的正則項,在此就不贅述了。

      四、實驗結果

      1. 模擬數據的仿真結果

      我們首先在模擬數據上做了一些仿真性實驗,用來驗證我們的兩個研究動機:1)生成流是否比GAN和VAE更適用于零樣本識別任務?2)所提出的iMMD損失函數是否能夠解決零樣本識別中普遍存在的偏移問題?

      具體而言,給定圖(a)所示四類仿真數據,其中三類可見,一類不可見。圖(b)是我們方法生成的數據分布結果,圖(c)和(d)分別是GAN和VAE加上我們提出的iMMD損失的結果。顯而易見,GAN和VAE由于訓練不穩定等因素,無法生成滿意的數據分布。而我們方法生成的數據則比較符合真實的數據分布。圖(f-h)則展示了不同參數下iMMD損失的效果??梢钥吹剑翰患觟MMD損失生成的不可見類別數據會向可見類別有所偏移;加過大的iMMD損失同樣無法得到穩定的數據生成結果;加正向的MMD損失則會放大原本已經存在的偏移問題。

      2. 真實數據庫的實驗結果

      我們在國際通用的四個數據庫(AwA1&2、CUB、SUN、APY)上將我們方法與目前最好方法進行了一系列對比。我們采用兩種不同的實驗設置,即經典零樣本學習(Classic ZSL,CZSL)和泛化零樣本學習(Generalized ZSL,GZSL)。下表展示的是在GZSL實驗設置下的實驗結果(圖中加粗的數據表示目前最好效果,表中“H”列是最重要的對比指標,最后兩行是我們方法的結果)??梢钥闯?,我們方法在不同數據庫上均領先于目前已有算法,并且在H指標上有著不小的提升(比如在APY數據庫上比排名第二的方法提升了約6%)。

      下表展示的是不同方法在CZSL設置下的實驗結果,除了CUB數據庫(我們比最好方法低了0.5%),我們在其他數據庫上都取得了目前最好的零樣本識別效果。比如在AwA2數據庫上,我們比第二名提升了6.4%。

      我們也對所提出的生成流方法進行了一系列對比實驗/性能分析(Ablation Study),如下表所示。具體而言,我們對所提出框架中的一些關鍵因素通過控制變量方法,從而得出每個部件在整體模型中的作用。我們首先嘗試將生成流模型替換為條件VAE模型,可以看出,識別率大幅下降,某些指標下降幅甚至達到50%,這也從側面證明了生成流模型對零樣本識別任務的貢獻和重要性。其次,我們還嘗試移除我們提出的兩個損失函數,可以看到,整個模型的效果大打折扣。通過指標下降幅度,我們也可以看出在這兩個損失中,iMMD損失對整體識別效果更具有決定性作用。

      此外,我們還針對不同參數做了一些對比實驗,也展示了一些可視化結果,感興趣的讀者可以點擊閱讀原文進一步閱讀。

      下載

      本文論文PDF已打包好,在CVer公眾號后臺回復:IZF,即可下載訪問

      下載1:動手學深度學習

      在CVer公眾號后臺回復:動手學深度學習,即可下載547頁《動手學深度學習》電子書和源碼。該書是面向中文讀者的能運行、可討論的深度學習教科書,它將文字、公式、圖像、代碼和運行結果結合在一起。本書將全面介紹深度學習從模型構造到模型訓練,以及它們在計算機視覺和自然語言處理中的應用。

      機器視覺 AI 知識圖譜

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么關閉自動升級(手機怎么關閉自動升級)
      下一篇:excel2019怎么刪除外部鏈接
      相關文章
      在线亚洲精品自拍| 亚洲人成网网址在线看| 亚洲人成人网毛片在线播放| 亚洲综合区图片小说区| 久久亚洲国产成人亚| 久久久久亚洲AV综合波多野结衣| 国产精品亚洲综合网站| 亚洲AV无码精品国产成人| 亚洲中文字幕久久久一区| 亚洲熟妇丰满xxxxx| 亚洲日韩国产一区二区三区在线| 亚洲精品国产精品国自产网站| 亚洲另类古典武侠| 亚洲国产精品日韩在线| 亚洲日本国产精华液| 亚洲人成综合在线播放| 中文字幕亚洲男人的天堂网络| 亚洲福利视频网址| 亚洲明星合成图综合区在线| 亚洲婷婷综合色高清在线| 亚洲美女精品视频| 亚洲国产日韩在线成人蜜芽| 亚洲中文字幕在线无码一区二区| 亚洲区精品久久一区二区三区| 国产精品亚洲自在线播放页码| 日韩亚洲国产综合高清| 亚洲国产成人综合| 亚洲人成网站18禁止| 国产亚洲人成在线影院| 亚洲日韩在线第一页| 久久久久久久综合日本亚洲 | 亚洲综合色区中文字幕| 亚洲一区中文字幕在线观看| 亚洲综合色一区二区三区| 亚洲国产精品99久久久久久| 日批日出水久久亚洲精品tv| 久久国产成人亚洲精品影院| 日韩亚洲人成在线综合日本| 亚洲综合综合在线| 亚洲AV男人的天堂在线观看| 亚洲AV无码一区二区三区电影|