神經網路學習筆記

2021-08-06 06:25:16 字數 1297 閱讀 6260

隱含層數越多,越容易擬合複雜函式

為了擬合複雜函式需要的隱含節點數目,基本上隨著隱含層數目的增加呈現指數下降的趨勢,也就是說層數越多,神經網路所需要的隱含節點可以越少。層數越深,概念越抽象,需要背誦的知識點(神經網路的隱含節點)就越少。

但是,層數越多,容易出現過擬合以及引數難以除錯以及梯度瀰散的問題。

過擬合:**模型在訓練模型上公升高在測試集上下降。泛化能力不行。

防止過擬合的方法:dropout

解決梯度瀰散:relu

解決引數多:使用adam adagrad等方法自適應引數調節方法

關於權重初始化:

sigmod做啟用函式: 將偏執b和權重都初始化為0,因為sigmod在0附近最敏感,梯度最大

relu做啟用函式:偏執設為0,權重初始化為正態分佈。有時候需要在引數上加一點雜訊來打破完全對稱並避免0梯度,有時候在偏執上賦一些小的非0值來避免死亡神經元。

此外,為了防止特徵過多帶來的過擬合,一般採用加入正則化項或者減少特徵的方式。一般採用l1正則會製造稀疏的特徵,大部分沒有用的特徵的權重會置為0,而l2正則會讓特徵的權重不能過大,會造成特徵的權重比較均勻。

解決上述問題,可以使用batch normalization

l2正則和lrn可以提公升模型的泛化能力,防止過擬合

關於使用lrn層:

lrn:區域性響應歸一化(local response normalization)

思想:這個方法源自生物學的「側抑制」。就是指被啟用的神經元會抑制相鄰神經元。歸一化的目的就是抑制。特別是對於relu函式的抑制作用特別大。用在卷積層(卷積後再啟用)之後,因為啟用函式是乙個非線性變換,會影響資料的分布,啟用函式改變了資料分布,就需要進行歸一化。

具體做法,對於例如10*10*36的特徵map,10*10是尺寸,36是層數。

那麼對於10*10中的每乙個點(36維向量),對這乙個向量進行歸一化。36維中的每乙個元素都除以所有的元素的和加乙個偏執。具體公式如下

這一部分的內容,參照這篇部落格。

對於深度學習而言,只要樣本足夠多,準確率會持續上公升。因此資料增強特別重要。如何提高影象的樣本使用率。增大樣本量。在alexnet中,具體資料做法是:

1.從256*256的原始影象中提取224*224大小的區域(以及水平翻轉的映象),相當於增加了(226-224)的平方×2倍的資料量。

2. 進行**的時候,取影象的四個角加中間共5個位置,並進行左右翻轉,一共獲得10張,對他們進行**並對10次結果求均值。

神經網路學習筆記

sigmoid函式是一種常見的擠壓函式,其將較大範圍的輸入擠壓到 0 1 區間內,其函式的表示式與形狀如下圖所示 該函式常被用於分類模型,因為其具有很好的乙個特性f x f x 1 f x 這個函式也會被用於下面的神經網路模型中做啟用函式。生物的神經網路系統中,最簡單最基本的結構是神經元。每個神經元...

神經網路 學習筆記

神經網路是用來解決分類問題的模型。他與感知機有著緊密的聯絡。神經網路中,神經元接收到的總輸入將與神經元的閾值進行比較,然後通過 啟用函式 處理以產生神經元的輸出。最理想的啟用函式是階躍函式,但是他不連續,不光滑,所以,採用sigmoid函式來進行替代。感知機只有輸出層神經元進行啟用函式處理,即只擁有...

神經網路學習筆記

python神經網路程式設計 這本書只認真讀完了第一章,大概80頁內容,就是簡單介紹了下三層前饋神經網路,以及推導了利用梯度下降法來反向傳播誤差,更新權重,即誤逆差傳播法 error backpropagation,bp 有點基礎的,這本書還是不推薦買了,完全可以直接閱讀 深度學習 周志華 第5章神...