2013-03-22 78 views
3

動機:訓練神經網絡與約束單位

物體識別的技術算法的狀態是通過反向傳播,其中主要的問題就是如何讓網絡中的一個很好的解決培養了深厚的卷積神經網絡局部最小值:http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf

有可能記錄來自支持物體識別的神經元的大腦中的峯值計數,並且聲稱接近這些神經元的響應的神經網絡處於良好的局部最小值是合理的。 http://www.sciencedirect.com/science/article/pii/S089662731200092X

如果您要約束神經網絡中的某個單元子集,以重現特定輸入的某些值(例如,說明從神經元響應這些圖像記錄的尖峯計數),然後通過a受限的梯度下降,它可能會迫使網絡在一個良好的局部最小值中定居。

確切的問題:

什麼是最有效的計算辦法改變的方向,最大限度地考慮到網絡中的一些神經元必須有一定的預出錯的減少神經網絡的權重確定的價值?

進展迄今:

這似乎是一個非常困難的拉格朗日乘子問題,並做了一些工作,尋找有關該主題的現有文獻後,我想知道是否有人聽說過的類似工作。

+0

也許你可以通過標準反向傳播訓練受限制的神經元來產生所需的值,修正它們的權重,使它們只是一個複雜的特徵提取器,然後通過反向傳播僅對上層進行訓練以進行分類。無論如何,這可能是一個有趣的研究課題。我很好奇看到你的論文。 :) – alfa 2013-03-23 16:11:07

+1

問題在於沒有足夠的神經數據來避免在您建議的程序的第一步中過度擬合。但是,不要固定權重,然後在步驟1和步驟2之間切換。(步驟1 =列車約束神經元,步驟2 =列車分類) 如果我能以某種方式確保這些步驟之間的交替會收斂到一個穩定點,那將是非常好的,但最好的方法是簡單地嘗試它! – dardila2 2013-03-26 21:51:40

+0

@ dardila2我知道這不是你的問題的答案,但高斯變異將能夠平凡地解決這個問題。你真的需要漸變下降的方法嗎? – arman 2013-10-21 07:14:48

回答

1

你最好的選擇是Kullback-Liebler Divergence(KL)。它允許你設置你希望你的神經元接近的值。在蟒蛇是,

def _binary_KL_divergence(p, p_hat): 
    """ 
    Computes the a real, KL divergence of two binomial distributions with 
    probabilities p and p_hat respectively. 
    """ 
    return (p * np.log(p/p_hat)) + ((1 - p) * np.log((1 - p)/(1 - p_hat)))     

其中p是約束值,p_hat是你的樣品的平均激活值(或神經元值)。這與將術語添加到目標函數一樣簡單。所以,如果算法最小化方形誤差||H(X) - y||^2,新的形式將是||H(X) - y||^2 + KL_divergence_term

作爲成本函數的一部分,它會懲罰與p不同的平均激活,無論是更高還是更低(圖1)。權重更新的方式取決於新目標函數的部分區分。

enter image description here

     (Figure 1 : KL-Divergence Cost when `p = 0.2) 

其實,我從挖洞稀疏自動編碼器,其中更多的細節可以在Lecture Notes on Sparse Autoencoders可以看出這個想法。

祝你好運!

+0

我喜歡爲損失添加術語的想法,這實際上是我一直在嘗試的,所以我現在將選擇這個作爲答案。但是,爲什麼使用KL-Divergence而不是方差或其他一些簡單的度量? – dardila2 2014-04-03 19:02:36

+0

KL-Divergence的好處在於它的非對稱性和稀疏性控制。從上圖我們可以觀察到「p = 0.2」以下的值如何比較高的值更少受到懲罰,這意味着比使用更簡單的正則化術語更能激發稀疏性。其次,'p'的值決定了我們想要的稀疏程度。對於不同的數據,不同的稀疏值是可取的。 – Curious 2014-04-03 23:14:46