這篇論文提出了他們的表示學習的模型,即CURL(Continual Unsupervised Representation Learning)。這個模型包含以下三大部分,推斷任務。動態拓展,混合生成回放。
推斷任務
在上圖中,x是輸入到數據,經過共享層的編碼,將數據進行處理。其中,經過softmax,根據確定輸入的數據屬於哪個任務。此外,經過特定組件的編碼獲得這個任務對應的高斯參數即,高斯參數確定後即可確定潛在變量的表示,然後對z通過解碼器輸出重構後的,。
關於這塊如何將爲,可參照源碼:在reparameterize函數中,可以看到被在期望與方差的作用下被編碼。
上面模型的loss公式爲:
對於給定的數據點,模型可以選擇高熵的,在這種情況下,所有的組件損失必須是低的,或者爲某個指定高,並使用該組件對數據進行建模。通過利用輸入數據的多樣性,該模型可以學會對數據中不同的離散結構(例如類)使用不同的組件。
在上圖中,代表當前的任務,代表針對生成的特定任務參數的分佈。會在解碼器中解碼再生成。
動態拓展
在這一部分,模型會維護一些差建模的樣本即無法良好提取特徵的,當樣本集(任務集)大小達到臨界值時,則初始化新的組件到上圖Figure 2中。那麼何時創建新的組件呢,在CURL模型中,主要通過閾值來控制新組件的創建。即:存在一個集合,當任意一個帶有對數極大似然值小於的樣本,都添加到,當中的樣本數達到,我們就創建新組件,每個組件對應一個概念(或者說一種類型的任務)。這個組件的各個參數的賦值如下,即將既有的組件中能夠與中樣本集既有的任務滿足近似條件概率之和最大:
直觀的說,就是新的組件(概念/任務類型)與既有的組件(概念/任務類型)關聯儘可能大。也就是循序漸進的插入新的不同的組件。
混合生成回放
爲了對抗災難性遺忘,本模型提出了混合生成回放。這個方法的的思想是交替的將真實數據與生成數據(這種數據是基於先前的模型快照生成的)交替的用於訓練。爲了充分利用此前的信息,模型會保持一個count,這個count由此前的組件使用情況所決定,這將有利於使用的最頻繁的組件,這個過程稱爲混合生成回放。