論文《Continual Unsupervised Representation Learning》解讀

這篇論文提出了他們的表示學習的模型,即CURL(Continual Unsupervised Representation Learning)。這個模型包含以下三大部分,推斷任務。動態拓展,混合生成回放。

推斷任務

在上圖中,x是輸入到數據,經過共享層的編碼,將數據進行處理。其中,經過softmax,根據q(yx)q(y|x)確定輸入的數據屬於哪個任務。此外,經過特定組件的編碼獲得這個任務對應的高斯參數即μz(y)σz(y)\mu_z(y)、\sigma_z(y),高斯參數確定後即可確定潛在變量zz的表示,然後對z通過解碼器輸出重構後的xxxx^{'}

關於這塊如何將xxzz,可參照源碼:在reparameterize函數中,可以看到zz被在期望與方差的作用下被編碼。

上面模型的loss公式爲:

對於給定的數據點,模型可以選擇高熵的q(yx)q(y|x),在這種情況下,所有的組件損失必須是低的,或者爲某個kk指定高q(y=kx)q(y = k|x),並使用該組件對數據進行建模。通過利用輸入數據的多樣性,該模型可以學會對數據中不同的離散結構(例如類)使用不同的組件。

在上圖中,yy代表當前的任務,zz代表針對yy生成的特定任務參數的分佈。zz會在解碼器中解碼再生成xx^{'}

動態拓展

在這一部分,模型會維護一些差建模的樣本即無法良好提取特徵的xx,當樣本集(任務集)大小達到臨界值時,則初始化新的組件到上圖Figure 2中。那麼何時創建新的組件呢,在CURL模型中,主要通過閾值來控制新組件的創建。即:存在一個集合DnewD_{new},當任意一個帶有對數極大似然值小於cnewc_{new}的樣本,都添加到DnewD_{new},當DnewD_{new}中的樣本數達到NnewN_{new},我們就創建新組件,每個組件對應一個概念(或者說一種類型的任務)。這個組件的各個參數的賦值如下,即將既有的組件中能夠與DnewD_{new}中樣本集既有的任務滿足近似條件概率之和最大:

直觀的說,就是新的組件(概念/任務類型)與既有的組件(概念/任務類型)關聯儘可能大。也就是循序漸進的插入新的不同的組件。

混合生成回放

爲了對抗災難性遺忘,本模型提出了混合生成回放。這個方法的的思想是交替的將真實數據xdataDx_{data} \in D與生成數據xgenx_{gen}(這種數據是基於先前的模型快照生成的)交替的用於訓練。爲了充分利用此前的信息,模型會保持一個count,這個count由此前的組件使用情況所決定,這將有利於使用的最頻繁的組件,這個過程稱爲混合生成回放。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章