零样本学习的相关概念——综述
零樣本學(xué)習(xí)的一些相關(guān)概念
零樣本學(xué)習(xí)概念
注1:為了方便,文中已知類別(標(biāo)簽)都指訓(xùn)練集中出現(xiàn)的類別,未知類別標(biāo)簽指測試集中出現(xiàn)的新類別。
注2:特征空間指樣本的原始信息(即x)所在的空間,語義空間類別描述信息所在空間,已知類別和未知類別在語義空間中被聯(lián)系起來。(將可見和不可見通過語義空間聯(lián)系起來)
文中用到的公式符號含義如下圖所示:
零樣本學(xué)習(xí)概念
零樣本學(xué)習(xí)屬于遷移學(xué)習(xí),是遷移學(xué)習(xí)的一個子領(lǐng)域,遷移學(xué)習(xí)可以分為同質(zhì)遷移學(xué)習(xí)和不同質(zhì)遷移學(xué)習(xí),前者兩個域的特征空間和標(biāo)簽空間都相同,后者特征空間和標(biāo)簽空間不同,因為零樣本學(xué)習(xí)的特征空間相同,但是源領(lǐng)域的標(biāo)簽空間(seen class)已知,目標(biāo)領(lǐng)域的標(biāo)簽空間(unseen class)未知,所以零樣本學(xué)習(xí)屬于不同質(zhì)的遷移學(xué)習(xí),零樣本學(xué)習(xí)就是:在測試集中,有的類別不在訓(xùn)練集中,利用訓(xùn)練集的樣本訓(xùn)練一個模型, 使之應(yīng)用到測試集能正確識別那些在訓(xùn)練集不存在的標(biāo)簽。
額外信息
因為零樣本學(xué)習(xí)的特殊性,即測試集中包含訓(xùn)練集中不存在的類別,所以零樣本學(xué)習(xí)需要引入一些額外信息,這些額外信息通常是對所有類別(包括已有類別和未知類別)的描述,由于這些描述通常是語義層面的,所以額外信息組成的空間又叫語義空間,而原始樣本組成的空間稱為特征空間。
語義空間:對所有類別(已知類別和未知類別)的描述。
語義空間
根據(jù)語義空間如何構(gòu)建,可以把語義空間分為手工語義空間和學(xué)習(xí)得到的語義空間,分類如下圖所示:
手工語義空間
手工語義空間即人們手動構(gòu)造的一些關(guān)于類別的額外信息,主要分為屬性空間、詞法空間、文本關(guān)鍵詞空間。
屬性空間即找到關(guān)于類別的一些屬性,基于這些屬性值構(gòu)建語義向量。如在動物識別中,動物類別的屬性也可以包括**:毛色、速度、體積等。通過手動構(gòu)造這些屬性和屬性值**,得到類別的語義向量,其中每一維都是一個屬性值。
詞法空間即語義空間由類別的一些詞法信息構(gòu)成,這些詞法信息可以來自一些泛化知識庫如WordNet,或者來自一些針對特定問題的詞法分析工具,如依存樹。或者來自一些大型的語料,利用在語料中類別的共現(xiàn)關(guān)系,具體構(gòu)造方法有很多:比如利用類別在WordNet中的父子關(guān)系,類別語義向量的每一維代表一個類別,如果是父子關(guān)系類別,則相應(yīng)的位置置1.
文本關(guān)鍵詞空間即從類別描述信息中抽取出關(guān)鍵詞構(gòu)成語義空間,可以采用:tf-idf、Bag of words等技術(shù)得到。
手工語義空間優(yōu)點是可解釋好、靈活i性高,缺點是需要手工制造,費時費力,并且由于手工構(gòu)造的局限性導(dǎo)致語義信息丟失。
構(gòu)造方法:屬性空間、詞法空間、文本關(guān)鍵詞空間等。
學(xué)習(xí)得到的語義空間
學(xué)習(xí)得到的語義空間不是手工構(gòu)造的,而是通過其他機(jī)器學(xué)習(xí)模型訓(xùn)練得到的,這些語義向量可以是針對其他任務(wù)預(yù)訓(xùn)練好的,也可以專門針對那些零樣本學(xué)習(xí)訓(xùn)練得到的,語義向量每一維沒有實際的意義,整個語義向量代表了這個類別的信息。
學(xué)習(xí)得到的語義空間包括標(biāo)簽向量空間,文本向量空間、圖像表示空間等。
- 標(biāo)簽向量空間:
通過類似于詞向量的方式得到每個標(biāo)簽的向量表示,常用的技術(shù)有word2vec、glove等。核心思想:具有相似含義的標(biāo)簽具有相似的語義向量。 - 文本向量空間
類似于標(biāo)簽向量空間,只不過其對標(biāo)簽描述信息進(jìn)行向量化,把標(biāo)簽的描述信息輸入到預(yù)訓(xùn)練好的模型中,輸出向量即可以表示為這個標(biāo)簽的語義信息。 - 圖像表示空間
把某種類別對應(yīng)的圖像作為描述信息,輸入到預(yù)訓(xùn)練模型如GoogleLeNet,得到的輸出向量做這個標(biāo)簽的語義信息。
學(xué)習(xí)得到的語義空間就是節(jié)省了人力、依賴機(jī)器學(xué)習(xí)模型可以捕捉到更多的語義信息,缺點是語義向量含義是隱式的,不利于分析。
(標(biāo)簽向量空間、文本向量空間、圖像表示空間)
直推式學(xué)習(xí)和歸納式學(xué)習(xí)
直推式學(xué)習(xí)和歸納學(xué)習(xí)是機(jī)器學(xué)習(xí)的基本概念,按直推式學(xué)習(xí)和歸納式學(xué)習(xí)的程度,零樣本可以分為如下圖所示方式:
在訓(xùn)練過程中,如果使用了測試集中的樣本,則稱為實例直推式,否則稱為實例歸納式,如果用到了未知類別的描述信息,則稱為類別直推式,否則稱為類別歸納式。所以按上述進(jìn)行分類,零樣本的學(xué)習(xí)過程可以分為上圖所示三種:訓(xùn)練過程中利用的信息越多,可能會過擬合,越少可能欠擬合。甚至導(dǎo)致領(lǐng)域漂移,所謂領(lǐng)域票移指的是源領(lǐng)域和目標(biāo)領(lǐng)域數(shù)據(jù)差別太大,比如說:已有類別是家具,未知類別是動物,這種情形下采用傳統(tǒng)的零樣本學(xué)習(xí)也達(dá)不到很好的效果,因為很難根據(jù)類別相似來識別新類別。
零樣本學(xué)習(xí)方法的分類
零樣本學(xué)習(xí)可以分為兩大類,基于分類器的方法和基于實例的方法,基于分類器的方法主要致力于直接學(xué)習(xí)到一個用于未知類別的分類模型。是一個改進(jìn)模型的方法,從模型入手,不改變訓(xùn)練數(shù)據(jù),而基于實例的方法主要致力于未知類別構(gòu)造樣本,然后利用這些構(gòu)造樣本去訓(xùn)練一個分類器,是一個改進(jìn)數(shù)據(jù)的方法。從改變訓(xùn)練數(shù)據(jù)入手, 讓訓(xùn)練數(shù)據(jù)包含那些未知樣本,這樣訓(xùn)練出的模型就能夠正確分類未知樣本啦。
整個分類如下圖所示:
基于分類器的方法
根據(jù)分類器的構(gòu)造方法,基于分類器的零樣本學(xué)習(xí)又可分為映射方法,關(guān)系方法和組合方法。
首先需要說明的是,基于分類器的方法的主要思想:它是基于**“1對多”的方式來訓(xùn)練N個分類器**(想想為什么要多個分類器,而不是一個?),N為類別的數(shù)量,即它為每個類別單獨訓(xùn)練一個分類器,每次訓(xùn)練的時候用屬于當(dāng)前待識別類別的樣本做為正樣本,其他所有樣本做為負(fù)樣本。
因為測試集中的有些類別不在訓(xùn)練集中,所以直接用訓(xùn)練集訓(xùn)練一個分類器,用在測試集上效果會很差。基于分類器方法的主要思想是利用額外知識----類別描述信息(語義空間),具有相似類別描述信息的類別,其分類器也比較相似。比如驢和馬,它們之間的類別描述信息很相似,則用驢構(gòu)成的訓(xùn)練集訓(xùn)練一個二分類模型f來判斷樣本是否屬于驢,則這個二分類模型f利用到馬構(gòu)加粗樣式成的測試集上效果也不會很差:用1表示屬于(驢)馬,0表示不屬于(驢)馬,則f在驢數(shù)據(jù)集上訓(xùn)練時**,分類器輸出越接近1則越有信息認(rèn)為它是一頭驢**,越接近0則相反;把訓(xùn)練好的f用到馬數(shù)據(jù)集上分類馬時,因為馬和驢很相似,所以分類器的輸出和在驢數(shù)據(jù)集上的輸出相似,于是也大概率能正確分類出馬。但是我們不可能只給訓(xùn)練集中出現(xiàn)的類別各自訓(xùn)練一個分類器,因為這樣還是無法分類測試集中的具有新類別的樣本(因為測試集中的新種類可能有多個,你不知道這個測試樣本屬于新種類還是訓(xùn)練集中的種類,如果是新種類你也不知道是哪個新種類),所以需要對每個類別(包括已知類別和未知類別)都構(gòu)建一個二分類器,這樣對于每個測試樣本,可以采取**“依次帶入這些分類器取概率最高的類別做為它的類別**”。通過上述分析我們知道,馬和驢的分類器參數(shù)應(yīng)該是相似的,現(xiàn)在的問題是**,模型事先并不知道馬和驢是相似的**,所以也就不知道讓馬和驢的分類器參數(shù)相似,所以這時就需要額外信息的加入。通過加入類別描述信息,模型知道了馬和驢相似,于是把馬的分類器參數(shù)訓(xùn)練得和驢相似,也就得到了新類別馬的分類器模型。
有了上面的主要思想,則要做的就是如何把類別的描述信息加入模型,被模型所感知和利用?于是有了以下的各種方法。
映射方法
首先針對訓(xùn)練集中的每個類別訓(xùn)練一個二分類器fif_ifi?,得到識別每個類別所需要分類器參數(shù)wiw_iwi?.
- 用訓(xùn)練集中每個類別的描述信息tit_iti?作為輸入,wiw_iwi?作為一個標(biāo)簽訓(xùn)練一個模型φ\varphiφ,得到模型中間參數(shù)ζ\zetaζ,這個模型φ\varphiφ即為映射函數(shù),其作用是求出每一種類別對應(yīng)的分類器的參數(shù),求出映射函數(shù)φ\varphiφ后,對于每個未知類別,用其描述信息tjt_jtj?作為輸入,輸入到φ\varphiφ,就可以得到相應(yīng)的類別分類器參數(shù)wjw_jwj?, 即得到了新類別的分類器參數(shù),基于的思想正是具有相似描述信息的類別,它們的分類器參數(shù)也相似。
在測試階段,對于每個測試樣本,帶入到每個類別的分類器中,取概率最大的類別作為它的類別。
上述方法是一個最基礎(chǔ)的方法,現(xiàn)在研究大多基于以上思想進(jìn)行了改進(jìn),比如上述方法中,類別分類器和映射函數(shù)是分開學(xué)習(xí)的,一個改進(jìn)的思想是讓分類器和映射函數(shù)聯(lián)合學(xué)習(xí),以便它們之間彼此促進(jìn),這種方法損失函數(shù)如下所示:
上述方法只使用了訓(xùn)練樣本和訓(xùn)練樣本類別的描述信息,而沒有使用測試樣本和測試樣本類別的描述信息,根據(jù)前文直推式學(xué)習(xí)和歸案式學(xué)習(xí)對零樣本學(xué)習(xí)分類,訓(xùn)練過程中也可以使用測試樣本和測試樣本類別的描述信息,這里不再詳細(xì)展開。
關(guān)系方法
關(guān)系方式主要借助于類別之間的關(guān)系來構(gòu)建模型。其核心思想和映射方法一樣,即相似的類別描述信息,其類別分類器也相似。
它的過程如下:
(1)利用訓(xùn)練集中的樣本和標(biāo)簽,對訓(xùn)練集中出現(xiàn)的每個類別訓(xùn)練一個二分類器。
(2)對于測試集中每個新類別,通過對已有類別二分類器加權(quán)平均的方式,得到新類別的分類器。即
其中δ(ciu,cis)\delta(c^u_i,c^s_i)δ(ciu?,cis?)為新類別CiuC^u_iCiu?和訓(xùn)練集中的類別CisC^s_iCis?之間的相似度,作為類別CisC^s_iCis?的分類器權(quán)重,把所有已知類別分類器加權(quán)平均,即為未知類別分類器。
類別之間的關(guān)系 (相似度)有多種計算方法,比如計算它們描述信息的余弦相似度,或者了利用WordNet中的兩個類別 之間的結(jié)構(gòu)關(guān)系,類別分類器的選擇可以與未知類別關(guān)系最密切(相似度最高),的**KKK個類別加權(quán)平均**。
訓(xùn)練的時候也可以加入未知類別信息,一些工作已已知類別和未知類別為節(jié)點在語義空間中構(gòu)建一個關(guān)系圖,圖的邊權(quán)重為類別之間的關(guān)系。然后在圖上學(xué)習(xí)類別的二分類器。
組合方法
有點類似貝葉斯公式,具體細(xì)節(jié)需要閱讀這方面的論文,在此省略。
基于實例的方法
基于實例的方法從數(shù)據(jù)入手,為那些訓(xùn)練集中沒有出現(xiàn)過的類別構(gòu)造樣本,然后把這些樣本加入訓(xùn)練集訓(xùn)練一個分類器或進(jìn)行聚類(KNN)。根據(jù)這些樣本是如何構(gòu)造的,基于實例的方法可分為擬合方法,借助其他實例方法和合成方法。
擬合方法
擬合方法基本思想是:類別描述信息可以被當(dāng)做樣本標(biāo)簽看待(構(gòu)造新實例),首先,通過擬合函數(shù)將樣本xix_ixi?和類別描述信息tjt_jtj?擬合到一個同一空間P:
語義空間作為擬合空間
語義空間作為擬合空間,這種設(shè)置下類別描述信息tjt_jtj?不用改變,只通過擬合函數(shù)θ\thetaθ將樣本xix_ixi?擬合到語義空間 損失函數(shù)為:
樞紐度問題
使用語義空間做擬合空間并且使用回歸函數(shù)做擬合函數(shù)時,會產(chǎn)生樞紐度問題。在擬合空間P中,一些類別描述信息是很多樣本的最近鄰,而這些樣本實際上類別并不相同,這個描述信息就被稱為"樞紐(hubs)“,這種現(xiàn)象稱為"樞紐度問題(hubness)”。
一些工作為了解決樞紐度問題,采用其他損失函數(shù)如rank loss或采用不同的距離度量函數(shù)如余弦相似度等。
特征空間作為擬合空間
特征空間作為擬合空間,即通過擬合函數(shù)ζ\zetaζ,將類別描述信息tjt_jtj?擬合到特征空間,而樣本特征xix_ixi?不用改變,損失函數(shù)為:
損失函數(shù)主要思想是和語義空間做擬合空間一樣,這里不再贅述,把特征空間做擬合空間緩解了樞紐度問題。
其他
還有一些其他方法既不使用語義空間做擬合空間,也不使用特征空間做擬合空間,而是使用一些其他的空間甚至多個空間。具體可以參考一些相關(guān)論文。
借助其他實例方法
合成方法
合成方法通過一些生成模型來生成未知類別的樣本。未知類別的樣本假設(shè)服從某些分布,比如高斯分布或均勻分布,首先求出已知類別的分布參數(shù),然后根據(jù)未知類別描述信息和已知類別描述信息的關(guān)系求出未知類別的關(guān)系分布(比如對于高斯分布,參數(shù)是均值和方差)。有了未知類別樣本的分布,就可以根據(jù)生成模型生成一些樣本。生成模型比如generative mo-ment matching network (GMMN), denoising autoencoder, adversarial autoencoder, conditional variational autoencoder-based architecture, generative adversarial networks (GAN)等。生成模型的輸入通常是未知類別描述信息和符合某一分布的噪音。
零樣本學(xué)習(xí)方法比較
學(xué)習(xí)心得
會自己通過建模來進(jìn)行零樣本的學(xué)習(xí)與收入。
未來研究方向
-
一.樣本的一些特性
樣本的一些特性沒有用到。比如圖像物體識別,除了圖像本身**,物體的其他方面的特征也可以用上**;一些多模態(tài)的數(shù)據(jù);時間序列的特點等。 -
二.訓(xùn)練數(shù)據(jù)的選擇
(1)現(xiàn)有的零樣本學(xué)習(xí),訓(xùn)練集和測試集往往是同一種類型,比如都是圖片,或都是文字。實際上訓(xùn)練集和測試集的數(shù)據(jù)所對應(yīng)的類別可以不在同一個語義空間,比如訓(xùn)練集是物體圖片,測試集是場景圖片。甚至訓(xùn)練集和測試集的實例都不相同,比如訓(xùn)練集是音頻,測試集是圖片。有些語義類型的數(shù)據(jù)很容易得到,而有的不容易得到,所以嘗試一下異構(gòu)零樣本學(xué)習(xí)也是很有必要的。(異構(gòu)零樣本學(xué)習(xí))
(2)通過主動學(xué)習(xí)挑選訓(xùn)練數(shù)據(jù)。可以減輕標(biāo)注壓力 -
三.額外信息的選擇和保持
額外信息不僅僅是在語義空間,也可以使用其他類型的語義信息。比如屬性空間(attribute space),也有研究不適用語義空間,而使用人工構(gòu)造的類別相似度信息。
加粗樣式得到額外信息后,如何在訓(xùn)練中保持這些額外信息也很重要,即使這些信息在訓(xùn)練過程中不丟失,不改變。因為當(dāng)只學(xué)習(xí)樣本分類器的時候,額外信息就很容易丟失。有些工作加入了重構(gòu)模塊,以盡大可能使額外信息在訓(xùn)練中保持。
- 四.更加實際和更加針對于特定任務(wù)的問題設(shè)置
(1)在現(xiàn)實生活中,測試集中往往即包括訓(xùn)練集中出現(xiàn)的類別,也包括未出現(xiàn)的類別,這種問題設(shè)置稱為廣義零樣本學(xué)習(xí)(generalized zero-shot learning)。在這種問題設(shè)置下,模型的效果要比零樣本學(xué)習(xí)差很多,所以有很大改進(jìn)的地方。
(2)針對不同的任務(wù)設(shè)置不同的零樣本學(xué)習(xí)方法。
理論研究
現(xiàn)有方法大多是一些啟發(fā)式的,并沒有嚴(yán)格的證明。比如(1)如何選擇額外信息(2)哪些來自訓(xùn)練樣本的信息對測試樣本分類有幫助?(3)如何阻止無關(guān)信息遷移和負(fù)遷移?
與其他學(xué)習(xí)方法相結(jié)合。
比如zero-shot和few-shot相結(jié)合;與機(jī)器學(xué)習(xí)方法相結(jié)合,比如零樣本學(xué)習(xí)可以做為主動學(xué)習(xí)之前的步驟來加強(qiáng)主動學(xué)習(xí)的效果等等。
總結(jié)
以上是生活随笔為你收集整理的零样本学习的相关概念——综述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA 12563 Jin Ge Jin
- 下一篇: ]Kinect for Windows