论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述
隨著監督學習在機器學習領域取得的巨大發展,如何減少人工在樣本方面的處理工作,以及如何使模型快速適應層出不窮的新樣本,成為亟待解決的問題。零樣本學習(Zero-Shot Learning, ZSL)的提出,則有效地解決了此類問題,它利用樣本之間潛在的語義關系,使得模型可以處理一些之前從未處理過的樣本,對于探索實現真正的人工智能具有非常重要的意義。而知識圖譜作為包含豐富語義知識的一種載體,在零樣本學習建立語義關系方面成為一種天然的幫助。
因此,本次論文淺嘗將針對零樣本學習現有的研究方法以及其中的知識圖譜工作做一些分享。考慮到目前 ZSL 在 CV 領域應用比較廣泛,此次的論文分享也以“圖片分類”等與圖片相關的任務為主。
1 Introduction
1.1 Zero-Shot Learning(ZSL)定義
(1)相關符號
訓練數據 X_tr 及其類別標簽 ?Y_tr,即模型可用來訓練的數據(馬,老虎,熊貓);
測試數據 X_te 及其類別標簽 Y_te,即模型待分類的數據(斑馬);
類別描述(class/labeldescription) A,對應類別集合(Y=Y_tr+Y_te)中的每一個類別(class) y_i ∈ Y ,可表示為一個語義向量 a_i∈A。
(2)ZSL定義:
?????? 對于測試集中的樣本,模型先使用訓練數據 X_tr 及其類別標簽 Y_tr 進行訓練,再通過學習訓練類別標簽(training classes)和測試類別標簽(testingclasses)之間的語義信息,實現對測試數據的分類,進而實現知識的遷移。
????????ZSL強調 Y_tr 和 Y_te 之間沒有重疊,即在訓練期間不會出現測試集的樣本數據。其中,將在訓練期間出現的類別稱為 seen class,只在測試期間出現的類別稱為 unseen class。
1.2 相關數據集
如下圖所示列舉了目前ZSL使用較多的各個數據集,分別列舉了數據集的規模、粒度、包含class的數量、圖片的數量,以及數據集圖片相關屬性描述的attribute數量。其中Awa是與動物相關的數據集,Awa1僅包含屬性,但沒有original image的數據集,Awa2表示根據Awa1提供的class從互聯網上收集圖片組織到的數據集;CUB數據集與鳥類相關;而ImageNet是由WordNet組織的圖片數據集,規模較大,且圖片類別,即包含細粒度的劃分,也包含粗粒度的劃分,但它不包含圖片的屬性信息。
?
2 Current Work
總結現有的工作,ZSL 工作的框架主要分為三個部分:
(1)??樣本數據特征空間 X 的學習,如利用深度網絡提取圖片特征;
(2)??關于語義空間 A 中 class 的描述,即構建 seen class 和 unseen class 之間潛在的語義關系;
(3)??特征空間 X 和語義空間 A 之間的映射。
其中,圖片分類任務方面,特征空間的表示學習現階段已經趨于成熟,而語義空間A的構建則是目前比較關注的點。A的表示主要有以下幾種方式:
(1)??attribute description:數據集中的每個class都附加了一些與可描述圖片的 attribute,如黑色/白色/水生/陸生;
(2)??embedding 表示:每個 class 可作為詞,獲取語義向量;
(3)??Knowledge Graph/Knowledge Base:每個 class 可對應KG/KB中的一個實體。
下面的部分,以語義空間A的構建方式為劃分,分享若干論文。
2.1 ZSL相關論文
1、基于attribute description構建語義空間 A
論文題目:Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer
論文鏈接:http://pub.ist.ac.at/~chl/papers/lampert-cvpr2009.pdf
??????? 基于 attribute description 的方法,其數據集中的每張圖片都標注了若干attribute用以描述圖片信息。一些標注了attribute的示例圖片如下圖所示。
????????這篇論文通過上述每張圖片預定義的特征,構建了樣本數據的特征表示空間 X;同時,通過若干 classes 集合或圖片集合學習可用于表示數據集中所有 class 的 attribute description,完成語義空間 A 的構建;最后,論文提出了使用兩種方式建立X和A之間的映射。兩種方式為:Direct AttributePrediction(DAP)和Indirect Attribute Prediction(IAP),如下圖所示。
DAP:訓練時,由已知標簽的訓練集,學習有關 attribute 參數 β;預測時,為每一個測試樣本預測其 attribute 參數,進而根據 attribute 建立的 seen class(y) 和 unseen class(z) 之間的關系,推導得出測試樣本的 label。
IAP:訓練時,按多分類的方式學習參數 α;預測時,根據 attribute 建立的seen class(y) 和 unseen class(z) 之間的關系,推導得到 unseen class 的分布。
DAP在預測時僅依據屬性層,而IAP將訓練樣本的類標也作為一個中間層,一定程度上能限定測試樣本生成新類標的范圍,使得學習到的連接控制在對于Y來說,有意義的范圍內,因此可以增強系統的魯棒性。但實際上,在作者后面的實驗中,DAP的效果要比IAP的效果好很多。依據AwA1數據集,并收集class set相應圖片的實驗中,DAP的效果為40.5%,而IAP只有27.8%。
這是比較早期的一篇文章,雖然效果沒有傳統的深度學習方法好,但確實在一定程度上表達了“知識遷移”的思想,不僅利用圖片訓練相應的特征,更是加入了屬性這類的高維特征描述,實現了從“低維圖片特征分類器”到“高維語義特征(屬性)分類器”的轉變。
?
Attribute description相關論文列表:
<CVPR-2009>Describing Objects by their Attributes
<TPAMI-2014>Attribute-based Classification for Zero-Shot Visual Object Categorization
<TPAMI-2017>Zero-Shot Learning-A Comprehensive Evaluation of the Good, the Bad and the Ugly
<CVPR-2017>Semantic Autoencoder for Zero-Shot Learning
<CVPR-2016>Recovering the Missing Link: Predicting Class-Attribute Associations for Unsupervised Zero-Shot Learning
?
2、基于embedding表示構建語義空間A
論文題目:DeViSE: A Deep Visual-Semantic Embedding Model
論文鏈接:http://papers.nips.cc/paper/5204-devise-a-deep-visual-semantic-embedding-model.pdf
????? 本文提出的 DeViSE 模型,數據集每個 class/label 可作為一個詞在語義空間進行 embedding 表示,如使用預訓練 skip-gram 模型得到有關 class 的 language feature vector,同時利用預訓練的 CNN-based 模型提取圖片的 visualfeature vector,將兩個向量映射到同一維度的空間,進行相似度的計算。測試時,即可根據語義之間的相似性進行圖片的分類。模型結構如下圖所示。
考慮到訓練時負樣本發揮的作用,模型的損失函數選擇hingeloss。其中,通過dot-product計算相似度。
?????? 在 ZSL 場景下,最終實驗使用 ImageNet 1k class(seen class) 訓練模型,ImageNet 2-hops/3-hops/all (unseen class)? 三個測試集測試模型的效果,同時也考慮了generalized ZSL,即在真實場景下測試時也會處理訓練集中出現過的 class(如使用 1k+2-hops 的數據作為測試)。實驗結果如下圖所示。
Embedding表示相關論文列表:
<ICCV-2015>Predicting Deep Zero-Shot Convolutional Neural Networks using TextualDescriptions
<CVPR-2016>Learning Deep Representations of Fine-grained Visual Descriptions
<CVPR-2015>Evaluation of Output Embeddings for Fine-grained Image Classification
<CVPR-2016>Latent Embeddings for Zero-shot Classification
?
3、基于KG/KB構建語義空間A
(1)論文1:Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs
論文鏈接:https://arxiv.org/pdf/1803.08035.pdf
????????本文基于 Graph Convolutional Network(GCN,一種處理 Graph-structured 數據的神經網絡)引入 Knowledge Graph 的 hierarchy 結構進行計算。模型分為兩個獨立的部分,首先使用 CNN-based 方法(如 resnet, inception 等)為輸入的圖片抽取特征向量,即 CNN 部分(圖所示上方的 CNN 網絡);其次,GCN 部分(圖所示下方的 GCN 網絡)將數據集中的每個 class 作為 Graph 中的一個節點,并對其作 embedding 表示輸入 GCN 網絡(即輸入為由 N 個 k 維節點組成的 N*k 特征矩陣),通過神經網絡每一層之間信息的傳遞和計算,為每個節點(class)輸出一組權重向量(D維),即輸出是一個 N*D 的特征矩陣。
????? 模型訓練時,Graph 中 seen class 節點有來自 CNN 部分的圖片特征向量作為監督信號(圖所示綠色節點)訓練 GCN 模型的參數;而測試時,Graph 中的 unseen class 節點輸出對應的權重向量,同時,與 CNN 部分對應圖片輸出的特征向量,最終得到分類的結果。
??????????? 這里提及的 Graph 為可表示 ImageNet class 之間結構的 WordNet 知識庫,實驗選取了其中一部分與 ImageNet 相關的子集。
(2)論文2:Rethinking Knowledge Graph Propagation for Zero-Shot Learning
論文鏈接:https://arxiv.org/pdf/1805.11724v1.pdf
????? 本文在論文 1 的基礎上進行了改進,包括以下幾個方面:
?????? (1)更少的 GCN 層數,論文 1 中使用了 6 層神經網絡進行訓練,考慮到模型參數的優化問題,本文只使用了 2 層神經網絡進行計算,即 GPM;
?????? (2)減少層數的同時,一些較遠節點將不被考慮在內,為了解決這個問題,作者將一些節點的祖先節點/子孫節點直接與該節點相連,生成了更密集的圖,即DGPM;同時,這些直接相連的邊按照距離的遠近,加入attention機制進行了加權計算,即 ADGPM;
????? (3)作者還提出了在CNN部分根據graph信息進行fine tune的計算方式,使得提取圖片特征的卷積網絡可根據一些新出現的class進行更新。
?????? 作者使用了與論文1中相同的數據集,即ImageNet 2012 1kclass(seen class)作為訓練,ImageNet 2-hops/3-hops/all(unseen class)三個測試集作為測試。對比結果如下,其中GCNZ代表論文1中的方法,GPM、DGPM、ADGPM分別表示上述優化的(1)(2)方面,GPM(f)、DGPM(f)、ADGPM(f)表示finetune的結果,同樣地,“2-hops+1k”表示generalizedZSL。
?
KG/KB相關論文列表:
<IJCAI-2018>Fine-grained Image Classification by Visual-Semantic Embedding
<CVPR-2018>Multi-Label Zero-Shot Learning with Structured Knowledge Graphs
<NIPS-2009>Zero-Shot Learning with Semantic Output Codes ?
少樣本學習(Few-Shot Learning, FSL)
????? 前面 2.2 部分提到的論文,其遷移知識的方式主要是通過在語義空間構建 seen class 與 unseen class 之間的關系(下圖左),而 Transductive Setting 則提出可通過 seen class 和 unseen class 的少量樣本訓練得到class之間的關聯(下圖右),即少樣本學習(Few-ShotLearning, FSL)。
論文題目:Learning to Compare: RelationNetwork for Few-Shot Learning
論文鏈接:https://arxiv.org/pdf/1711.06025.pdf
?????? 本文從每個 class 中采樣少量樣本,作為參考樣本(如下圖左側 5 張圖片,分別代表 5 個 classes),以建立 class 之間的關系。本文所構建的 class relation 主要為相似關系,模型通過 embedding module 提取圖片的特征向量,再分別將測試圖片(下圖所示袋鼠圖片)的特征向量與參考樣本的特征向量進行拼接輸入 relation module,通過神經網絡計算測試圖片和參考樣本圖片之間的相似性,最終判斷測試圖片屬于參考圖片代表 class 的哪一類。
FSL相關論文列表:
<ICLR-2018>Few-Shot Learning with Graph Neural Networks
<BigData-2017>One-shot Learning for Fine-grained Relation Extraction via ConvolutionalSiamese Neural Network
<NIPS-2016>Matching Networks for One Shot Learning
<NIPS-2017>Prototypical Networks for Few-hot Learning
<ICLR-2017>Optimization as a model for few-shot learning
<ICML-2016>Meta-learningwith Memory-augmented Neural Networks
?
論文筆記整理:耿玉霞,浙江大學直博生,研究方向:知識圖譜、零樣本學習。
?
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鲍捷 | 知识图谱从 0 级到 10 级
- 下一篇: 谷歌大改Transformer注意力,速