零資料學習(零次學習)

什麼是零次學習,先講個小故事

 

倒黴同學一直希望小言裡失憶、遇霸道總裁、雞飛狗跳獲得真愛的橋段能發生在自己身上,有一天倒黴同學出門被石頭砸到頭了,失憶的橋段終於發生,然而倒黴同學之所以叫倒黴同學是有原因的,她只有失憶沒有霸道總裁。小言裡別人遇真愛,然而倒黴的倒黴同學忘記一切只能回爐再造。

故事就這樣展開

 

倒黴同學先去上了幼兒園

老師說:今天我們來教顏色,寶寶們跟我念,紅橙黃綠藍

倒黴同學乖乖記住了

老師又說:下面我們學數字,寶寶們跟我念,1234567

倒黴同學又乖乖記住了

老師拿出來一個紅色的1,告訴寶寶們,這個叫做紅1

倒黴同學再次乖乖記住了

老師此刻又拿出一個藍色的5,問,這個叫做神馬呢。

倒黴同學作為班上最優秀的學生搶答說,是藍5!

倒黴同學真優秀,都會搶答了

 

這個就是零次學習(zero-shotlearning)最開始的思路,雖然沒有見過某些類別,但是可以通過一些之前學到的屬性,以及未知類別的屬性知識,來實現對未知類別的認知。

說起零次學習就想說說他的大家長遷移學習,說到遷移學習不說表示學習好像也不怎麼對,說表示學習不講無監督學習也說不清楚,但是畢竟快到睡眠時間了,所以,嗯,還是能不說就不說吧。

上篇文章我們講過,隨著深度學習的發展,大家已經不僅僅侷限於處理大資料量、有監督的問題,小樣本甚至零樣本的問題提上日程。遷移學習是指利用在一個特定分佈A中學到的知識去改善另一個分佈B。也就是說在無監督和有監督學習之間轉移表示。遷移學習中,學習機要執行多個任務,如果第一種分佈中存在明顯更多的資料,將會有助於對第二種分佈中非常少的資料進行快速泛化。這其中就牽扯出來表示學習,表示學習的核心即相同的表示可能在兩種分佈中都是有用的,兩個設定中使用相同的表示使得表示可以受益於兩個任務的訓練資料。

首先,zero-shot假設我們有兩部分資料,對於已知類別,我們有完整的樣本和屬性資訊,對於未知類別,我們只有屬性資訊,沒有樣本例項。有一部分學者提出一些兩階段的演算法解決這個問題,第一階段我們對未知樣本的屬性進行預測,第二階段,我們利用預測的屬性,從未知類別中選擇最像的一個類別。以上面的例子來說,楊寶寶你首先在已知樣本中學到了顏色和數字兩個屬性,然後你又知道了藍5是屬性藍色與5的組合,所以一個藍5來了以後,你首先判斷它是藍色,它是個5,然後利用屬性知識就知道它是藍5了。還有一部分學者考慮多模態之間的對映關係。樣本特徵本身在空間有一個分佈,類別屬性又有另一個空間分佈。這部分學者希望學習這兩個空間之間的對映關係。樣本之間存在一些相似性關係,屬性空間也存在一些相似性關係,比如鴨子和鵝長得比較像,那麼它們在樣本特徵空間和屬性特徵空間的分佈都應該很接近。我們利用一些相似性度量作為限制,學習已知類別樣本空間到屬性空間之間的一個對映,對於未知樣本,利用這個對映講樣本投到這個屬性空間,然後尋找與它最接近的未知類別。

當然,也有人不學習這個對映,而是講這兩個空間同時投射到一個更基本的空間,使得樣本特徵與屬性特徵服從同一個分佈,然後在這個新空間中學習屬性的分類,再判斷所屬的類別。

可以看到,這裡屬性作為一箇中間媒介,是聯絡未知類別與已知類別的一個橋樑,可能是一種概率分佈,也可能與樣本本身有關,比如說鳥,有些種類的鳥,翅膀可能有很多種顏色,那它的翅膀顏色這個屬性就不是確定的。

zero-shot大概就講這麼多吧。唸叨兩句題外話,這是一個雙清小碩士,在時代的洪流和陰差陽錯中衝到了這個領域,寫部落格初衷是想記錄自己的點點滴滴,因為畢竟是Gibbs抽樣是個啥查了八次都沒記住的人,真的是給自己跪了。。。。

我的公眾號是: 柒柒的自言自語,二維碼如下,歡迎關注,筆芯