論文《Unsupervised Continual Learning And Self-Taught Associative Memory Hierarchies》解讀

本論文提出了一個無監督的持續學習組件STAM(Self-Taught Associative Memory)
如下圖:

上圖中,CiC_i爲所有聚類簇的集合。當一個圖片XiX_i輸入到這個結構中時,會被打碎成若干個重疊的可接受域(Receptive Fields,RFs)。需要注意的是,每一個STAM結構處理一個可接受域。這些可接受域經過函數c(xi,m)=arg minj=1...Cixi,mwi,jc(x_{i,m})=\argmin_{j=1...|C_i|} ||x_{i,m}-w_{i,j}||的處理會將各個可接受域轉爲相應的聚類簇。上圖中ci(xi,.m)c_i(x_{i,.m})意爲第ii層的聚類簇中,與xi,.mx_{i,.m}距離最近的聚類簇(歐氏距離),而xi,mx_{i,m}意爲第ii層,第mm個可接受域的輸入數據。然後將通過函數c()c(·)處理的的可接受域重組輸出爲處理後的圖片輸出爲YiY_iYiY_i雖然與XiX_i具有相同的特徵維度,但是因爲XiX_i的每一個可接受域做了分類處理,所以YiY_i的實際特徵維度可能小於XiX_i。此外,聚類簇的集合可能會更新。沒當我們隊xi,mx_{i,m}進行分類時,若xi,mx_{i,m}分類至第ii層,第jj個聚類簇wi,jw_{i,j},則聚類簇向量wi,jw_{i,j}需要進行更新,公式爲:
wi,j=αxi,m+(1α)wi,jwhenc(xi,m)=j w_{i,j}=\alpha x_{i,m}+(1-\alpha)w_{i,j} when c(x_{i,m})=j
此外,由於持續學習的不確定性,難免乎有新的聚類簇也會動態的生成,它會分成兩個步驟判斷是都要生成新的聚類簇。更新第jj的聚類簇對應的平均值和標準差。

對於輸入的可接受域xi,mx_{i,m},如果其與離它最近的聚類簇jj,存在以下關係,則可以判定xi,mx_{i,m}是一個新的類,以該可接受域初始化產生新的聚類簇,判別準則如下:

但是爲了區分極端值與真正的新的類簇,我們可以再做一個判定。若yi+1,my_{i+1,m}是輸出Yi+1Y_{i+1}的一部分,其對應的是第ii層,第mm個STAM的輸出,計算ci(yi+1,m)c_i(y_{i+1,m}),並根據上面的判別準則判定yi+1,my_{i+1,m}是否屬於新的類簇,如果yi+1,mxi,my_{i+1,m}與x_{i,m}都是新的類簇,則生成新的聚類簇。如果xi,mx_{i,m}是新類簇而y_{i+1,m}不是$,則不生產新的類簇。

當我們對輸入的數據xx進行最終分類時,遵循以下步驟,這塊不難理解就不做解釋了:
在這裏插入圖片描述

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