稀疏編碼 Sparse Coding

2021-10-07 06:07:18 字數 1247 閱讀 7817

影象是有一些基的線性組合形成。自然影象是個稀疏結構,即任何給定影象都可以用大資料裡面的少數幾個描述符(基)來表示。尋找使得每個係數的概率分布是單模態並且在0處是峰分布的低熵(low-entropy)方法。

2023年,神經稀疏編碼的概念由mitchison提出,由牛津大學的rolls等正式引用。靈長目動物顎葉視覺皮層和貓視覺皮層的電生理實驗報告和一些相關模型的研究結果都說明了視覺皮層複雜刺激的表達是採用稀疏編碼原則的。研究表明:初級視覺皮層v1區第四層有5000萬個(相當於基函式),而負責視覺感知的視網膜和外側膝狀體的神經細胞只有100萬個左右(理解為輸出神經元)。說明稀疏編碼是神經資訊群體分布式表達的一種有效策略。2023年,加州大學伯克利分校的olshausen等在nature雜誌發表**指出:自然影象經過稀疏編碼後得到的基函式類似v1區簡單細胞感受野的反應特性(空間區域性性、空間方向性、資訊選擇性)。

x = as

式中,x 表示輸入影象,表示為多個基函式的線性組合,a 為基函式組成的矩陣,s 為線性組合時基函式的權值向量

稀疏編碼模型可以解釋為,人的視覺感知系統將輸入影象刺激 x 通過感受野 a 的特徵提取,將其表

示為視覺細胞的活動狀態 s。s 即為輸入影象的稀疏編碼。

i( x,y) 表示輸入影象 x 中的畫素值,,ϕi(

x,y)

\phi_i( x,y)

ϕi​(x,

y)為基函式矩陣 a 中的第 i 個列向量,a

ia_i

ai​為向量 s 的第 i 個響應值。

第 1 項用原始影象與重構影象之間的誤差平方和表示重構影象的資訊保持度,第 2 項反映了編碼的稀疏程度

典型的sparse coding的過程分為訓練和測試。

training:給定一些訓練樣本(training samples)[ x1, x2, …, xm(in rd)],學習一本字典的基(bases)[φ1,φ2……(also in rd)]。可是用k-means等無監督的方法,也可以用優化的方法(這時training完了同時也得到了這些training samples的codes,這是乙個lasso和qp問題的迴圈迭代);

coding:用優化的方法求解測試樣本的codes(此時字典已經學得)

個人稀疏編碼筆記

b ax其中,a rn m b r n,x rm,n m 因為的行數 方程個數 n 多於未知引數的個數 m,因此上述方程組是欠定的,其解為 無解or無窮多解,為了保證上述方程有解,此後我們假定 a 是滿秩矩陣。我們追求的結果是找到 b 的稀疏表示方法,也即設法找到a,x使得在該對映變換下,x 是 b...

快速稀疏編碼演算法

self taught learning是 honglak lee 等開發的乙個 matlab 框架,能夠實現他們在 self taught learning transfer learningfrom unlabeled data 和efficient sparse coding algorith...

稀疏編碼筆記1

稀疏編碼近幾年來是個十分熱門的研究領域,它是一種無監督學習演算法,它通過尋找一組超完備基 即字典 來捕捉資料中的高層次語義,同時學習得到資料這組基下的稀疏座標。最早被用於建模人類視覺皮層 human visual cortex 而如今,稀疏編碼已經用於許多領域,如影象復原,訊號分類,人臉識別,分類等...