標籤:

Zero-Shot Learning with Semantic Output Codes(NIPS2009)

基於語義輸出碼的Zero-Shot Learning

zero-shot learning的目的是學習一個分類器 f:X
ightarrow Y ,分類器可以預測出訓練集里遺漏缺失的新值。為此我們定義語義輸出碼分類器(semantic output code classifier(SOC))的概念,它可以利用 Y 的語義只是來推斷新的類。論文給出了這類分類器的形式並研究了在PAC框架下的理論性質,顯示在一定條件下分類器可以準確預測新類。文中針對一個神經解碼任務(neural decoding task)建立了一個SOC分類器,結果顯示即使沒有一些辭彙的訓練例子訓練,它仍可以經常預測出人的核磁共振圖像所想的辭彙。

論文中提出的廣義問題是:給定很多類的語義編碼,我們能否建立以一個分類器來識別出訓練集中沒有的類。

直觀上我們的目的是不把每個類看成一個簡單的原子標籤,而是用一個語義向量來表示,這個語義向量確定了很多可能的類。我們的模型學習輸入數據和語義特徵間的關係。它們利用學到的關係來預測新輸入數據的類標記。給定新的輸入數據,模型將會預測出和輸入數據對應的語義特徵集合,然後在知識庫中尋找和預測特徵最適匹配的類。如果輸入數據中有一個新類包含在知識庫中,這個預測過程仍然有效。

定義:語義特徵空間(Semantic Feature Space)

一個 p 維的語義特徵空間是一個度量空間,每一維編碼一個語義性質的值。這些性質可能是categorical或者可能包含real-valued data。

例如考慮一個描述動物高水平性質的語義空間。在這個例子中,我們考慮一個小空間 p=5 .每一維是一個是否特徵:有沒有毛皮?有沒有尾巴?可以在水下呼吸嗎?是否肉食?動作緩慢嗎?在這個語義空間中典型的狗的概念可以表示為點 {1,1,0,1,0} .

定義2.語義知識庫(Semantic Knowledge Base)

一個包含 M 個例子的語義知識庫 mathcal K 是一個集合 {f,y}_{1:M} , fin F^{p}p 維語義空間 F^{p} 中的一個點, yin Y 是集合 Y 中的一個類標記。我們假定類標記和語義空間中的點是一對一的關係。

一個動物的語義知識庫會包含許多動物的語義編碼和標記。

定義3.語義輸出碼分類器(Semantic Output Code Classifier)

一個語義輸出碼分類器 mathcal H:X^d
ightarrow Y 將原始輸入空間 X^d中的點映射為集合 Y 中的標記。 mathcal Hmathcal Smathcal L 兩個函數組成: egin{split}mathcal H=&mathcal L(mathcal S(cdot))\ mathcal S:&X^d
ightarrow F^p\ mathcal L:&F^p
ightarrow Y end{split}

這個zero-shot分類器模型首先把原始輸入空間中的點映射到語義空間中,然後把語義編碼映射為一個類標記。例如,我們把一條狗的數字圖像的一些原始輸入特徵映射為描述一條狗的語義編碼,然後把語義編碼映射為類標記狗。因此,我們的類標記可以看成一個語義輸出碼。

作為訓練輸入的一部分,給定這個分類器一個數據集 mathcal D ,其中含 N 個樣本 {x,y}_{1:N} , xin X^d,yin Y 。同時給定分類器一個含 M 個樣本 {f,y}_{1:M} (fin F^p, yin Y) 的知識庫 mathcal K 。通常 M>>N ,也就是在語義空間中的數據比在原始輸入空間有更多的類標記。因此

當知識庫 mathcal K 涵蓋的 Y 的值比輸入數據集 mathcal D 更多的時候,一個語義輸入碼分類器可能會發揮作用。

為了學習映射 mathcal S ,分類器首先構建一個含 N 個樣本 {x,f}_{1:N} 的新的數據集,即通過知識庫 mathcal K 把每個 y 替換為相應的語義編碼 f

這兩個階段過程的直觀理解:分類器通過輸入空間相對較少的訓練樣本可能學習原始輸入空間和語義特徵空間單個維度間的關係。當一個新樣本出現的時候分類器根據學到的映射 mathcal S 來預測其語義編碼,如果預測和真正的類編碼相近,那麼映射 mathcal L 會恢復其正確的標記。舉一個具體的例子,如果模型預測的物體有皮毛和尾巴,那麼就有可能給出類標記,即使在訓練過程中模型沒有遇到過狗的圖片。

簡言之,通過豐富的類標記的語義編碼,分類器可以推斷識別出新的類。

3.理論分析(ToDo)

推薦閱讀:

崛起中的機器文明
《集異璧》作者侯世達瘋狂吐槽谷歌翻譯,AI讓譯者失業?還早著呢!
十分種讀懂KNN
word embedding之GLOVE代碼
激活函數的實現與梯度檢查<五>

TAG:機器學習 |