零樣本問題可以看作是數據缺失問題。由於目標域數據不可見,導致模型訓練時的數據不均衡。一個直觀的想法就是生成目標域的數據。生成圖像是最簡單的想法,但是本文提出直接生成目標域的特徵,而不是圖像。我認爲,這樣做確實能夠提高精度,因爲最後做分類都是在特徵上做的,直接生成特徵,能夠緩解生成圖像質量不好的問題。
1 簡介
介紹一篇CVPR 2018的文章:Feature Generating Networks for Zero-Shot Learning。作者使用GAN在特徵空間生成數據的思想來解決zero-shot learning的問題。相比GAN生成圖像,該方法能取得更好的結果。
爲什麼生成特徵比生成圖像好?
- 生成的特徵的數量是沒有限制的
- 特徵生成網絡FGN的輸入是提取的高質量特徵,使得FGN可以比較簡單,計算高效
- 生成的特徵判別性很強
- 同樣判別性的要求下,生成特徵的維度要遠遠低於生成圖像。
問題:
- 圖像生成對數量的限制數量是什麼原因?
- 爲什麼生成圖像的判別性弱?作者說生成的圖像缺少必須的判別性的細節。應該是圖像生成質量不夠好,缺失了一些信息。
2 模型
f-CLSWGAN模型相對比較簡單,訓練如圖1所示。
-
第一行是真實圖像的特徵提取過程。首先,用CNN網絡提取特徵;然後,將特徵 與其對應的屬性描述 拼接後輸入判別器,並判別爲真。
-
第二行是生成特徵的分支,隨機生成一個變量,與屬性描述拼接後輸入生成器,生成特徵,再次將 與屬性描述 拼接後輸入判別器並判別爲假。
-
爲提高生成質量,加一個auxiliary classifier,對生成的數據進行分類,類別爲。
CNN網絡:可以是GoogleNe,ResNet,ImageNet上預訓練的模型,特定任務微調過的模型,本文采用的是預訓練模型。
3 實驗
觀察GZSL的實驗結果,沒有生成數據的時候,所有模型的可見類精度明顯高於未見類精度,說明許多樣本被錯分類爲已見類。令人驚奇的是,只使用簡單的softmax分類器就能得到SOTA的結果。這表明生成的特徵潛力和泛化能力。
4 總結
f-CLSWGAN有兩個創新點:
- 一是在特徵空間生成數據,而不是直接生成圖像;
- 二是添加了auxiliary classifier,提高了生成器的性能。
5 有意思的地方
- 關於爲什麼進行ZSL?
論文說深度學習需要大量數據。但是你不能標註所有的類別。 - 關於生成圖像判別性不足?
4.4 中: 基於觀察,許多生成圖像有正確視覺外觀,比如鳥和花,但是他們缺少必須的判別性信息來進行正確的分類,而且生成圖像的類別不一致。判別性不足也和類別的力度有關係,細粒度應該更難生成判別性的圖像或者特徵。 - 關於細粒度ZSL?
實驗中CUB和Flowers數據集是細粒度圖像數據集。生成方法在細粒度ZSL中可能會有發展。 - 關於分類器提高生成質量在ZSL中的表現?
論文沒有對比使用和不使用auxiliary classifier的性能對比。 - 關於方法沒有使用Batch Normalization?
作者沒有采用BN,他們的經驗評估表明使用BN後精度會有很大的降低。