一、背景
文章題目:《Hyperbolic Visual Embedding Learning for Zero-Shot Recognition》
文章下載下傳位址:https://openaccess.thecvf.com/content_CVPR_2020/papers/Liu_Hyperbolic_Visual_Embedding_Learning_for_Zero-Shot_Recognition_CVPR_2020_paper.pdf
文獻引用格式:Shaoteng Liu, Jingjing Chen, Liangming Pan, Chong-Wah Ngo, Tat-Seng Chua and Yu-Gang Jiang. "Hyperbolic Visual Embedding Learning for Zero-Shot Recognition." In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020
項目位址:https://github.com/ShaoTengLiu/Hyperbolic_ZSL
二、文章摘要
This paper proposes a Hyperbolic Visual Embedding Learning Network for zero-shot recognition. The network learns image embeddings in hyperbolic space, which is capable of preserving the hierarchical structure of semantic classes in low dimensions. Comparing with existing zeroshot learning approaches, the network is more robust because the embedding feature in hyperbolic space better represents class hierarchy and thereby avoid misleading resulted from unrelated siblings. Our network outperforms exiting baselines under hierarchical evaluation with an extremely challenging setting, i.e., learning only from 1,000 categories to recognize 20,841 unseen categories. While under flat evaluation, it has competitive performance as state-of-the-art methods but with five times lower embedding dimensions. Our code is publicly available.
本文提出了雙曲視覺嵌入學習網絡,用于zero-shot識别。網絡在雙曲空間内學習圖像嵌入,這樣能夠在低維中能夠獲得語義類别的分層結構。與其他zero-shot方法相比,該方法更加魯棒,因為嵌入特征到雙曲空間能夠更好表示類别層級,進而避免誤分類。該模型的表現更好,可以學習1000種類别,對20841張沒有見過的圖檔進行分類。
三、文章介紹
現實中的圖像識别往往需要面對數以萬計的目标類别,但是收集大量資料費時費力,是以産生了0樣本學習,即能夠識别一個在訓練過程中沒有見過的新類别。然而,0樣本學習是一個非常困難的事,在ImageNet上,zero-shot在top-5上的精度還不到10%,遠低于顯示世界的應用。
一方面,WordNet中定義的類别既有泛化的也有精細的,比如狗,和它的子類都千差萬别,但是我們注意到,即使小類别無法預測,但是大類别如果能正确預測,使用者對其接受程度是遠遠大于小類别預測錯誤。比如下圖所示:
如果模型訓練中,沒有見過的紅松鼠,盡管預測為樹松鼠,其可接收程度也要遠遠大于預測為袋鼠。是以作者認為,一個魯棒的模型,可以先從正确預測大類做起。
現有的工作都沒有對zero-shot的魯棒性進行研究,都是直接學習從視覺空間到語義空間的映射。語義空間常常用一個語義向量來表示,可以利用GloVe或者Word2Vec模型。而對于類别之間的分層關系,并未在語義空間中編碼。對于分層類别的研究,也有少量的工作,但是這些很難處理類别數量增加的情況。
本文發現利用雙曲空間能夠很好的解決這些問題,并得到一個更為魯棒的模型。雙曲空間是黎曼幾何中流形空間(manifold space)的一種,這與歐式空間不同。雙曲空間非常适用于模組化分層資料,比如表示一棵樹,我們隻需要在雙曲空間中用二維嵌入的分支因子(branching factor)就可以了。另外,在雙曲空間中,一個類别與它的父輩特别接近,但是與它的同輩(siblings)非常遠。
是以本文提出ZSL架構,在雙曲空間中學習分層感覺的圖像嵌入特征。整個模型結構如下所示:
本文的主要貢獻在于:
• We propose the Hyperbolic Visual Embedding Learning Network that learns hierarchical-aware image embeddings in hyperbolic space for ZSL. As far as we know, this is the first attempt to introduce NonEuclidean Space for zero-shot learning problem.提出了雙曲視覺嵌入學習模型。這是首次将非歐式空間引入到zero-shot中。
• We conduct both empirical and analytic studies to demonstrate that introducing hyperbolic space into ZSL problem results in a model that produces more robust predictions. 引入雙曲空間到zero-shot中的結果表明會産生更魯棒的預測。
1. 相關工作
早期的zero-shot主要是資料驅動屬性和使用者定義的屬性。近期的zero-shot工作主要是基于深度學習來做的,主要可以分成兩類,一種是基于語義嵌入(semantic embeddings)的,即直接将視覺空間映射到語義空間;第二種是直接在不同類别之間進行關系模組化。近期的另一些工作表明,如果同時使用隐含知識和确定知識,能夠使模型在識别上表現更好。
2. 預備
主要介紹雙曲空間的一些概念,這裡不多介紹。
3. 方法
如上圖所示,提出方法主要包含兩個子產品(1) Hyperbolic Label Embedding Learning和(2)Poincare´ Image Feature Embedding learning
(1)Hyperbolic Label Embedding Learning
對于文本标簽,這裡主要i研究了兩種:Poincare hierarchy embedding model 和Poincare Glove。
Poincare embedding:作者将WordNet Noun hierarchy嵌入到Poincare ball中,其中包含82115個同義詞和743241個上位關系。
Poincare GloVe:GloVe在歐式空間進行詞嵌入,用于學習類别之間的語義關系。是以作者在Poincare ball中訓練Glove,這裡的一個難點在于,對于雙曲空間的内積(inner-product),是沒有明确定義的。于是,作者把Glove的loss函數中的内積替換為了Poincare距離,該距離的定義如下:
于是GloVe的loss函數變為:
Feature Fusion:将Poincare嵌入和Poincare Glove嵌入進行連結,構成最後Poincare ball中的類别嵌入,最後的這個嵌入包含了類别的結構和語義資訊。這裡将兩個嵌傳入連結接後,有可能會超出Poincare ball的半徑,是以又用一個指數映射,確定其嵌傳入連結接仍在Poincare ball内,指數映射關系的計算公式為:
(2)Hyperbolic Image Embedding Learning
對于圖像,這裡使用ResNet來提取特征,最後提取的結果是歐式空間的2048維向量,為了将這個向量轉換到雙曲空間,這裡使用了雙曲特征轉換網絡(hyperbolic visual feature transform network)。網絡主要包含兩部分,指數映射(exponential map)将圖像特征從歐式空間映射到雙曲空間,M¨obius轉換網絡(M¨obius transformation network)用來對齊圖像和标簽。
Exponential Map指數映射:和上面公式(1)的映射計算一樣。
M¨obius Transformation:這裡是為了對齊提取的圖像特征和前面的标簽嵌入。M¨obius transformer使用兩個在雙曲空間下的回報型神經網絡。我們将任意一個歐式空間的函數轉換到雙曲空間下,可以表示為:
f右上角的那個符号表示:
基于公式(10),可以在雙曲空間下建構兩層前饋性網絡。
Model Training:模型訓練使用的是Rank loss,Poincare Glove嵌入的優化器使用的是RADAGRAD,Poincare嵌入的優化器使用的是Riemannian stochastic gradient descent (RSGD)。
4. 實驗
(1)資料集
資料集使用的是ImageNet,從中選擇了已知的1000類資料,未知的資料來自于三個資料集,“2-hops”, “3-hops” and “All”。“2-hops”有1589個類别,“3-hops”有7860個類别,“All”有20841個類别。
(2)模型
參與比較的模型包括:
DeViSE
DeViSE*
ConSE
SYNC
GCNZ
DGP
(3)實驗設定
模型的GPU是GTX 1080Ti GPU,語言用的pytorch。
(4)分層評估(Hierarchical Evaluation)
标準評估使用的是Top-k Hit Ratio ([email protected]),結果如下圖所示:
下圖是一些例子:
(5)性能比較
ZSL的性能比較結果如下:
GZSL的性能比較結果如下:
(6)消融實驗
消融實驗的結果如下圖所示:
其中,PH Only表示模型隻用Poincare Hierarchy嵌入, PG Only表示模型隻用Poincare´ GloVe嵌入, PH + PG表示兩個嵌入都用。
(7)次元分析
對三種不同的模型進行嵌入次元的分析,分析結果如下: