本論文提出了一個無監督的持續學習組件STAM(Self-Taught Associative Memory)
如下圖:
上圖中,Ci爲所有聚類簇的集合。當一個圖片Xi輸入到這個結構中時,會被打碎成若干個重疊的可接受域(Receptive Fields,RFs)。需要注意的是,每一個STAM結構處理一個可接受域。這些可接受域經過函數c(xi,m)=j=1...∣Ci∣argmin∣∣xi,m−wi,j∣∣的處理會將各個可接受域轉爲相應的聚類簇。上圖中ci(xi,.m)意爲第i層的聚類簇中,與xi,.m距離最近的聚類簇(歐氏距離),而xi,m意爲第i層,第m個可接受域的輸入數據。然後將通過函數c(⋅)處理的的可接受域重組輸出爲處理後的圖片輸出爲Yi,Yi雖然與Xi具有相同的特徵維度,但是因爲Xi的每一個可接受域做了分類處理,所以Yi的實際特徵維度可能小於Xi。此外,聚類簇的集合可能會更新。沒當我們隊xi,m進行分類時,若xi,m分類至第i層,第j個聚類簇wi,j,則聚類簇向量wi,j需要進行更新,公式爲:
wi,j=αxi,m+(1−α)wi,jwhenc(xi,m)=j
此外,由於持續學習的不確定性,難免乎有新的聚類簇也會動態的生成,它會分成兩個步驟判斷是都要生成新的聚類簇。更新第j的聚類簇對應的平均值和標準差。
對於輸入的可接受域xi,m,如果其與離它最近的聚類簇j,存在以下關係,則可以判定xi,m是一個新的類,以該可接受域初始化產生新的聚類簇,判別準則如下:
但是爲了區分極端值與真正的新的類簇,我們可以再做一個判定。若yi+1,m是輸出Yi+1的一部分,其對應的是第i層,第m個STAM的輸出,計算ci(yi+1,m),並根據上面的判別準則判定yi+1,m是否屬於新的類簇,如果yi+1,m與xi,m都是新的類簇,則生成新的聚類簇。如果xi,m是新類簇而y_{i+1,m}不是$,則不生產新的類簇。
當我們對輸入的數據x進行最終分類時,遵循以下步驟,這塊不難理解就不做解釋了: