【論文閱讀】Learning Deep Representations of Fine-Grained Visual Descriptions
論文:Learning Deep Representations of Fine-Grained Visual Descriptions
代碼:https://github.com/reedscot/cvpr2016來源:CVPR2016
Introduction
學習論文《Generative Adversarial Text to Image Synthesis》提到用了本文的方法得到文本特徵,故閱讀此篇論文。
本文提出了一個模型,可以用來幹什麼了?就是給你一句話,搜出滿足這句話的圖像。也叫zero-shot classification。
zero-shot
遷移學習的兩種極端形式是一次學習 (one-shot learning) 和零次學習 (zero-shot
learning),有時也被稱為零數據學習 (zero-data learning)。只有一個有標籤的樣本的遷移任務被稱為一次學習;沒有有標籤的樣本的遷移任務被稱為零次學習。考慮一個零次學習情景的例子,學習器已經讀取了大量文本,然後要解決對象識別的問題。如果文本足夠好地描述了對象,那麼即使沒有看到某對象的圖像,也能識別出該對象的類別。例如,已知貓有四條腿和尖尖的耳朵,那麼學習器可以在沒有見過貓的情況下猜測該圖像中是貓。
Deep Structured Joint Embedding
聯合images and fine-grained visual descriptions:不使用雙線性契合函數,而是使用由深度神經編碼器生成的特徵的內積。比如使用字級LSTM模型(下面有說)。直觀地說,最大化描述和匹配圖像之間的兼容性,並最大限度地減少與其他類圖像的兼容性。
Objective.
上式優化目標叫做DS-SJE:deepsymmetric structured joint embedding,同時在圖像和文本中學習預測。而對於以前文本分類的方法,卻只對f v(或f t)訓練,叫deep asymmetric structuredjoint embedding (DA-SJE)。論文在zero-shot classification上對這兩種方法進行比較。
Inference.
定義兼容函數F : V ×T → R使用來自可學習的圖像編碼函數θ(v)的特徵和文本函數φ(t) 。
計算image and text 分類器:
從文本編碼器的角度來看,這意味著文本特徵必須對匹配圖像產生更高的兼容性得分,與1)具有任何不匹配文本的圖像的得分以及2)具有任何不匹配圖像的文本的得分相比。 我們發現1)和2)對於使用單個模型的準確識別和檢索是重要的。
Learning.
由於0-1損失是不連續的,講Objective.改為優化連續和凸的函數。
錯誤分類的損失寫成:
實驗的文本編碼器模型都是不一樣的(下文舉了三個例子),所以通過所有文本網路參數反向傳播來進行端到端的訓練。
對於圖像編碼器,將網路權重固定在原始的GoogLeNet上。
Text encoder models
論文實驗中將以下三個文本編碼器 方法同傳統方法做了比較。
- Text-based ConvNet (CNN)
基於文本的卷積神經網路在這篇論文Character-level convolutional networks for text classification. In NIPS, 2015有深入研究——文本分類。
基於文本的CNN可以被看作是標準的圖像CNN,除了圖像寬度是1像素並且通道數量等於字母大小。 2D卷積和空間max-pooling被1D卷積和時間max-pooling替代。 在每個卷積層之後,使用整流線性激活單元(ReLU)。整個網路是利用卷積,池化和閾值激活函數,然後通過全連接來投影到嵌入空間。 文本嵌入函數 ——是CNN的最後隱藏層。
字元序列的最大輸入長度受網路體系結構的限制,但是在這個限制之下的可變長度序列是通過在最終輸入字元後零填充。 Word-CNN與Char-CNN完全相同,除了Char-CNN的字母表被替換為Word-CNN的辭彙之外。 當然,辭彙量要大得多,通常至少有幾千字,而字母表中只有幾十個字元。 但是,序列長度顯著減少。
- Convolutional Recurrent Net (CNN-RNN)
純卷積文本模型的一個潛在缺陷是它們缺少沿著輸入文本序列的強烈的時間依賴性。 但是CNN模型又是非常快速的,可以很好地適應像字元串這樣的長序列。 為了獲得循環模型和CNN的好處:在一個中等水平的時間CNN隱藏層之上疊加一個循環性網路。 直觀上,CNN隱藏激活沿著時間維度(當維度減少到8)被分割並且被當作輸入向量序列。 整個網路仍然是端到端的。
這種方法的優點是可以利用快速卷積網路有效地學習low-level的時態特徵,而時態結構仍然可以在更為抽象的中層特徵層次上被利用。 這可以被看作是在抽象或概念層面建模時間結構,而不是由字邊界來嚴格界定。 該方法非常適合字元級處理(Char-CNN-RNN)的情況。 我們也評估一個字級版本(Word-CNN-RNN)。
最終的編碼特徵是序列上的平均隱藏單元激活,即 ,其中 是第 幀的隱藏激活向量,L是序列長度。 得到的評分函數可以看作是與查詢圖像兼容的線性累積(如圖1所示)。 它也是一個關於文本序列的線性化版本。這具有的優點是在分類或檢索的測試時間,可以使用平均隱藏單元作為特徵,但是為了判斷,可以將分數計算回溯到文本處理的每一步。
- Long Short-Term Memory (LSTM)
與CNN模型相反,LSTM明確地考慮了從文字或字元開始的時間結構。 為了從LSTM文本編碼器中提取文本嵌入,取最後一層隱藏單元的時間平均,即 (類似於上一節定義)。
Experimental results
Datasets
- Caltech-UCSD Birds(CUB)
- Oxford Flowers-102 (Flowers)
文本編碼器
- word-level models (BoW, Word-LSTM, Word-CNN, Word-CNN-RNN):The CNN input size (sequence length) was set to 30.
- character-level models (Char-LSTM, Char-CNN, Char-CNN-RNN):201
長的超出限制的文本輸入在最後一點被截斷,較短的文本被零填充。所有文本嵌入使用1024維嵌入層來匹配圖像嵌入的大小。保持圖像編碼器固定,並使用RMSprop優化器,base learning rate為0.0007,minibatch為40。
圖像編碼器
對於圖像特徵,從GoogLeNet中提取了1,024維的池化單元,且實現批量歸一化。 對於每個圖像,提取原始的和水平翻轉的圖像的中間,左上,右上,左下和右下的crops,導致每個訓練圖像有10個視圖。 在測試時間,只使用原始圖像調整到224×224。
Results
Conclusion
論文開發了一個深對稱聯合嵌入模型,收集了一個高質量的細粒度視覺描述數據集,並對幾個深度神經文本編碼器進行了評估。展示了一個從頭開始對字元或單詞進行訓練的文本編碼器,可以在CUB上實現最先進的 zero-shot 識別精度,性能優於其他方法,論文的文本編碼器實現了有競爭力的檢索結果,而且可以直接用於構建基於語言的檢索系統。
論文的視覺描述數據對使用BoW和word2vec編碼器提高了 zero-shot 精度。 雖然這些在較小的數據體系中獲勝,但是當有足夠的數據可用時,較高容量的編碼器佔主導地位。因此,論文的貢獻(數據,目標函數和文本編碼器)提高了訓練多種文本大小的的性能。
推薦閱讀:
TAG:深度學習DeepLearning | 卷積神經網路CNN | 分類 |