神經網路中的稀疏編碼和自動編碼了解一下

2021-08-25 17:38:33 字數 992 閱讀 9510

autoencoder自動編碼器

deep learning最簡單的一種方法是利用人工神經網路的特點,人工神經網路(ann)本身就是具有層次結構的系統,如果給定乙個神經網路,我們假設其輸出與輸入是相同的,然後訓練調整其引數,得到每一層中的權重。自然地,我們就得到了輸入i的幾種不同表示(每一層代表一種表示),這些表示就是特徵。自動編碼器就是一種盡可能復現輸入訊號的神經網路。為了實現這種復現,自動編碼器就必須捕捉可以代表輸入資料的最重要的因素,就像pca那樣,找到可以代表原資訊的主要成分。

sparse coding稀疏編碼

稀疏編碼演算法是一種無監督學習方法,它用來尋找一組「超完備」基向量來更高效地表示樣本資料。稀疏編碼演算法的目的就是找到一組基向量ϕi

ϕ

i,使得我們能將輸入向量

x x

表示為這些基向量的線性組合: x=

∑i=1

kaiϕ

i(9)

(9)x=∑

i=1k

aiϕi

雖然形如主成分分析技術(pca)能使我們方便地找到一組「完備」基向量,但是這裡我們想要做的是找到一組「超完備」基向量來表示輸入向量 x∈

rnx ∈r

n(也就是說,k > n)。超完備基的好處是它們能更有效地找出隱含在輸入資料內部的結構與模式。然而,對於超完備基來說,係數 ai 不再由輸入向量 \mathbf 唯一確定。因此,在稀疏編碼演算法中,我們另加了乙個評判標準「稀疏性」來解決因超完備而導致的退化(degeneracy)問題。

這裡,我們把「稀疏性」定義為:只有很少的幾個非零元素或只有很少的幾個遠大於零的元素。要求係數 ai 是稀疏的意思就是說:對於一組輸入向量,我們只想有盡可能少的幾個係數遠大於零。選擇使用具有稀疏性的分量來表示我們的輸入資料是有原因的,因為絕大多數的感官資料,比如自然影象,可以被表示成少量基本元素的疊加,在影象中這些基本元素可以是面或者線。同時,比如與初級視覺皮層的模擬過程也因此得到了提公升。

具體實現思路請參考

稀疏自動編碼之視覺化自動編碼器

對於訓練出的乙個稀疏自動編碼器,現在想看看學習出的函式到底是什麼樣子。對於訓練乙個 的影象,計算每乙個隱層節點 的輸出值 我們要視覺化的函式,就是這個以一副2d影象為輸入,以 為引數 忽略偏置項 由隱層節點 計算出來的函式。特別是,我們把 看作是輸入 的非線性特徵。我們很想知道 什麼樣的的影象 能使...

神經網路 神經網路中的矩陣的理解

在 深度學習入門 基於python的理論與實現 書中,看到講解矩陣的章節,加深了我對矩陣的理解。脫離應用理解數學是很難的。將矩陣放在深度學習的環境裡可以較好的理解矩陣的含義。這裡假設你已經學過矩陣。對於神經網路,我更傾向於理解為 因素 輸入層 影響因子 權重 結果 輸出層 這更貼近實際中的因果關係。...

《論引數眾多的物料如何進行自動編碼》

我們都知道物料編碼是erp系統工作的基本前提條件,絕大多數業務物料編碼比較容易,有什麼物料就先確定乙個編碼然後錄入系統即可。我今天要討論的話題是,在某些行業的物料編碼可沒有那麼簡單,而眾所周知的erp產品軟體,似乎也不支援解決這種問題的好方案。讓我們看下是什麼樣的物料編碼如此困難吧。在珠寶行業裡面,...