慢特征分析(Slow Feature Analysis,SFA)
内容較多且枯燥,建議耐心了解,放上冰冰降降溫。
點選:
這裡有相應的SFA算法的程式可供參考。
1 Introduction
慢特征分析(Slow Feature Analysis,SFA),一種無監督降維方法,被用來學習過程監控的時間相關表示。SFA不僅可以通過監測穩态分布來檢測與運作條件的偏差,還可以根據時間分布來識别過程的動态異常。
時變信号的不變特征有助于分析和分類。慢特征分析(SFA)是一種從矢量輸入信号中學習不變或緩慢變化特征的新方法。它是基于輸入信号的非線性擴充和主成分分析對擴充信号及其時間導數的應用。它可以保證直接在函數族中找到最優解,并且可以學習提取大量的非相關特征,這些特征是根據它們的不變性程度排序的。SFA可分層應用于處理高維輸入信号和提取複雜特征。SFA首先應用于基于簡單單元輸出的複雜單元調諧特性,包括視差和運動。然後通過反複應用SFA來學習更複雜的輸入-輸出函數。最後,提出了一個層次網絡的SFA子產品作為一個簡單的視覺系統模型。同樣的非結構化網絡也可以學習一維物體的平移、大小、旋轉、對比度或光照不變性,隻依賴于訓練刺激。令人驚訝的是,隻有少數的訓練對象足以實作對新對象的良好概括。所生成的表示方法适用于物體識别。如果訓練網絡同時學習多個不變性,性能會下降。
總體思路如下圖1所示。假設三個不同的條紋字母形狀的物體以不同的方向和速度在視野中移動,例如,首先是S,然後是F,然後是a。在高水準上,這個激勵可以由三個随時間變化的變量來表示。第一個表示對象辨別,即目前哪個字母是可見的,假設一次隻有一個對象可見。這是什麼資訊。第二個和第三個變量分别表示物體的垂直和水準位置。這是資訊。這種表示法特别友善,因為它緊湊,激勵的重要方面可以直接擷取。
主要的傳感輸入——在這個例子中是光感受器的活動——分布在許多傳感器上,這些傳感器隻對物體的簡單局部特征做出反應,如局部灰階值、點或邊緣。由于傳感器對局部特征作出反應,它們的活動變化很快,即使激勵移動緩慢。例如,第一個光感受器對F的反應。因為這些條紋,當F僅以兩條條紋的寬度穿過感受器時,感受器的活動就會迅速地由低到高再傳回。這種初級感覺信号是一種低級的表征,隻隐含地包含相關資訊,如物體的身份和位置。然而,如果受體覆寫了整個視野,視覺刺激就被主要的感覺信号所反映,并且可能存在一個輸入-輸出函數,它可以提取相關資訊,并從這個低級表征中計算出如上所述的進階表征。
圖1:緩慢變化的激勵和快速變化的傳感器活動之間的關系。(上)三個不同的物體,字母S, F和A,一個接一個地穿過視野。三種不同位置的光感受器對這種刺激的反應被記錄下來,并與虛線上字母的灰值剖面相對應。(左下)三個(數量不多的)光感受器随時間變化的活動。當一個物體穿過它們的接收區域時,受體會做出強烈的反應,否則就會安靜下來。高值表示白色;低值表示黑色。(右下角)這三個圖表顯示了刺激物随時間的身份和位置的進階表征。
什麼可以作為一個總體目标來指導無監督學習,以找到這樣的輸入-輸出函數?高水準表達和主要感覺信号之間的一個主要差別在于它們變化的時間尺度。是以,一個緩慢變化的表示可以被認為比一個快速變化的表示具有更高的抽象級别。這裡需要注意的是,輸入-輸出函數僅根據輸入電流計算瞬時輸出信号。是以,輸出信号的緩慢變化不能通過時域低通濾波實作,但必須基于輸入信号固有的低和有用的方面的提取。絕大多數可能的輸入-輸出函數會産生快速變化的輸出信号,隻有很小一部分會産生緩慢變化的輸出信号。任務是找到這些罕見的函數。
圖1中的初級感覺信号與進階表征相比變化迅速,盡管初級感覺信号的成分由于激勵背景的空白而有廣泛的安靜期。例如,x1的傳感器隻對F做出反應,因為它的接受區位于視野的右下角。然而,這個說明性的例子是一個人工激勵,在更自然的條件下,初級感覺信号和進階表征之間的時間變化差異應該更加明顯。
圖1中的對象辨別和對象位置圖在表示對象的線性部分之間有間隙。這些空白需要以某種方式填補。例如,如果用某個常數值來做這件事,然後把圖形看作一個整體,那麼物體的身份和位置都有相似的時間尺度,至少與變化更快的主要感覺信号相比是這樣。這意味着可以基于慢變化的目标來學習目标位置和目辨別别,這為學習不變性問題提供了新的思路。通常的觀念是,物體的位置變化很快,而物體的身份變化緩慢或很少,識别系統必須學會隻表示物體的身份而忽略物體的位置。然而,對這種情況的另一種解釋是,物體翻譯引起初級感覺信号的快速變化,相比之下,物體身份和物體位置變化緩慢。這兩個方面都可以作為慢特征從初級感覺信号中提取。雖然從概念上說,物體身份是激勵的什麼資訊,而物體位置是在哪裡的資訊,這是友善的,但它們本質上是相似的,與初級感覺信号相比,它們可能在類似的時間尺度上發生變化。
在接下來的兩部分中,給出了學習問題的形式化定義,并提出了一種新的求解算法。接下來的部分将描述幾個示例應用程式。首先,在視覺皮層中發現的複雜行為可以從簡單的細胞輸出推斷出來。這在第二個例子中擴充到包括視差和運動方向。第三個例子說明,更複雜的輸入-輸出函數可以通過重複應用學習算法來逼近。第四個和第五個例子展示了一個層次網絡如何學習平移和其他不變性。在最後的讨論中,将該算法與之前的不變量學習方法進行了比較。
2 學習問題
第一步是給出不變性學習的數學定義。給定一個矢量輸入信号x(t),目标是找到一個輸入-輸出函數g(x),使輸出信号y(t):= g(x(t))變化盡可能慢,同時仍然傳遞一些關于輸入的資訊,以避免瑣碎的恒定響應。嚴格的不變性不是目标,而是變化緩慢的近似不變性。這可以正式表述如下:
3 慢特性分析(SFA)算法
是最小的。
假設所選擇的非線性函數hkare使擴充信号z(t)具有零均值和機關協方差矩陣。這樣一組非線性函數h k h_kh
k
可以很容易地通過一個球階從任意集合h k ′ h_{k}^{\prime}h
′
中導出,如下所述。然後我們發現限制條件(見公式2-4)
當且僅當我們限制權重向量為向量的标準正交集時,自動滿足。
是以,對于輸入輸出函數的第一個分量,優化問題簡化為尋找使方程(3.1)中的Δ ( y 1 ) \Delta\left(y_{1}\right)Δ(y
1
)最小的賦範權向量。解是矩陣⟨ z ˙ z ˙ T ⟩ \left\langle\dot{\mathbf{z}} \dot{\mathbf{z}}^{T}\right\rangle⟨
z
˙
T
⟩的賦範特征向量,它對應于最小的特征值(cf. Mitchison, 1991)。下一個更高的特征值的特征向量産生輸入-輸出函數的下一個分量與下一個更高的1個值。這就引出了解決上述優化問題的算法。
明确區分原始信号、來自訓練資料的精确歸一化信号和來自測試資料的近似歸一化信号是有用的。設x ~ ( t ) \tilde{\mathbf{x}}(t)
x
~
(t)是一個可以有任意均值和方差的原始輸入信号。為了計算友善和顯示的目的,信号被歸一化為零的平均值和機關方差。這種歸一化對訓練資料x(t)是精确的。用相同的偏移量和因子來校正測試資料,通常會得到一個近似歸一化的輸入信号x ′ ( t ) \mathbf{x}^{\prime}(t)x
(t),因為每個資料樣本的均值和方差略有不同,而歸一化總是使用從訓練資料中确定的偏移量和因子來完成。在下面,原始信号有一個波浪線,測試資料有一個破折号;沒有波浪線或破折号的符号通常(但不總是)指的是規範化訓練資料。
該算法現在有如下形式(參見下圖):
輸入信号。用于訓練,i維輸入信号為x ~ ( t ) \tilde{\mathbf{x}}(t)
(t)。
輸入信号歸一化。對輸入信号進行歸一化得到
重複。如果需要,将輸出信号y ( t ) y(t)y(t)(或它的前幾個分量或不同輸出信号的組合)作為輸入信号x ( t ) x(t)x(t),用于學習算法的下一個應用。繼續步驟3。
測試。為了對測試信号進行系統測試,将步驟2至6中推導的歸一化和輸入-輸出函數應用于新的輸入信号(屬于x0(T))。注意,這個測試信号需要使用與訓練信号相同的偏移量和因子進行歸一化,以準确地再現學習的輸入-輸出關系。是以,訓練信号隻是近似地歸一化降低
隻有在測試信号對訓練信号具有代表性的情況下,歸一化才是準确的。輸出信号也是如此
由于實際原因,在步驟4和步驟5中使用了奇異值分解而不是PCA。對于一些特征值非常接近于零的退化資料,奇異值分解是一種較好的分析方法,然後在步驟4中丢棄這些特征值。非線性展開有時會導緻退化資料,因為它産生高度備援的表示,其中一些成分可能具有線性關系。一般來說,特征值接近于零的信号分量通常包含噪聲,如舍入誤差,在歸一化後會非常迅速地波動和在任何情況下,SFA都不會在步驟5中選擇。是以,決定哪些小元件應該被丢棄并不重要。