瞎聊深度學習 神經網路基礎(概念,正則化)

2021-09-23 10:16:46 字數 2493 閱讀 8726

神經網路是深度學習中最重要的一類模型,本文來講解一下神經網路基礎。

神經網路的基本構成

輸入層圖中粉色的部分(input layer)是輸入層,輸入層在神經網路中主要起到輸入資料的作用,是乙個神經網路的入口。

隱藏層圖中藍色的部分(hidden layer)是隱藏層,我們叫他為隱藏層因為我們並不能夠在訓練樣本中觀測到他們的值,隱藏層的主要作用是把輸入資料的特徵,經過隱藏層中啟用函式的計算,抽象到另乙個維度空間,來展現其更抽象化的特徵,這些特徵能更好的進行線性劃分,隱藏層可以有一層也可以有多層,同時每一層神經元(圖中每個白色的圓)的個數也可多可少。

輸出層圖中綠色的部分(ouput layer)是輸出層,輸出層同樣也會通過乙個啟用函式將經過多層(或者一層)隱藏層計算過的資料再次經過計算得到我們預期的輸出,通常使用softmax函式。

網路層數

網路層數也就是我們通常說的幾層神經網路,在計算網路層數時,我們只需計算參與了計算的層數(也就是隱藏層和輸出層的層數),例如上圖有兩層隱藏層和一層輸出層,我們就可以把該神經網路的層數記做三層。

啟用函式

啟用函式是我們新增在計算層的函式,在計算層中每一層都會將前一層的輸入資料通過啟用函式的計算轉化為新的輸入資料輸入給下一層進行計算,常用的啟用函式有sigmoid、tanh、relu、leaky relu、maxout、softmax等。

神經網路中最簡單最樸素的神經網路我們稱之為前饋神經網路,該神經網路中,各神經元從輸入層開始接收前一級的輸入,並輸入到下一層,直至輸出,整個網路中無反饋,可用乙個有向無環圖來表示。

通常我們說的前饋神經網路有兩種:一種叫back propagation networks——反向傳播網路(bp網路),一種叫rbf network——徑向基函式神經網路。

bp網路的主要思想在於對結果進行前向傳播,對誤差採用反向傳播,在反向傳播的過程中通過最優化各層神經元的輸入權值以及偏置,使得神經網路的輸出盡可能地接近期望輸出,以達到訓練(或者學習)的目的。

rbf網路的基本思想是:用rbf作為隱單元的「基」構成隱含層空間,這樣就可以將輸入向量直接對映到隱空間,而不需要通過權連線。當rbf的中心點確定以後,這種對映關係也就確定了。而隱含層空間到輸出空間的對映是線性的,即網路的輸出是隱單元輸出的線性加權和,此處的權即為網路可調引數。其中,隱含層的作用是把向量從低維度的p對映到高維度的h,這樣低維度線性不可分的情況到高維度就可以變得線性可分了,主要就是核函式的思想。

由於過程比較複雜本文不對兩種網路進行推導。

什麼是正則化?

在機器學習中,許多策略被顯式地設計來減少測試誤差(可能會以增大訓練誤差為代價),這些策略被統稱為正則化,是一種旨在減少泛化誤差而不是訓練誤差的對學習演算法的修改。在深度學習的背景下,大多數正則化策略是對估計進行正則化,以偏差的增加換取方差的減少。

說一下常用的正則化方法(本文給出理解,不做具體推導)

1、引數範數懲罰

(1)l2引數正則化

l2正則化(嶺回歸)在深度學習中通常用於權重衰減,通過向損失函式新增乙個正則項

(2)l1引數正則化

l1正則化要我們在原始的代價函式後面加上乙個l1正則化項。即全部權重w的絕對值的和。

2、資料集增強

資料集增強是一種最簡單,也很常用的正則化方法,該方法主要是要求我們在資料集上下功夫。

通過此類方法我們就能夠將原有的資料數量擴大一定的倍數從而達到了資料增強的目的。

3、雜訊新增

對於部分模型來說,在輸入中新增一些方差極小的雜訊等價於對權重施以權重懲罰,通常情況下注入雜訊遠比簡單地收縮引數強大,雜訊被新增到隱藏單元時會更加強大。

4、dropout

當乙個神經網路的結構過於複雜(有很多的隱藏層,每層都有很多的神經元)時,我們的模型就很容易產生過擬合的現象,為了防止這種現象的發生,產生了一種常用的正則化方法——dropout。

dropout的工作流程如下:

(1)首先隨機(臨時)刪掉網路中一半的隱藏神經元,輸入輸出神經元保持不變;

(2)然後把輸入x通過修改後的網路前向傳播,然後把得到的損失結果通過修改的網路反向傳播。一小批訓練樣本執行完這個過程後,在沒有被刪除的神經元上按照隨機梯度下降法更新對應的引數(w,b);

(3) 然後繼續重複這一過程:

恢復被刪掉的神經元(此時被刪除的神經元保持原樣,而沒有被刪除的神經元已經有所更新)。

從隱藏層神經元中隨機選擇乙個一半大小的子集臨時刪除掉(備份被刪除神經元的引數)。

對一小批訓練樣本,先前向傳播然後反向傳播損失並根據隨機梯度下降法更新引數(w,b) (沒有被刪除的那一部分引數得到更新,刪除的神經元引數保持被刪除前的結果)。

不斷重複這一過程。

對於如何停止一半的神經元,我們在使用啟用函式的時候,給出一定的概率使得經過啟用函式計算後的結果為0即可。

(深度學習)神經網路基礎

一 神經網路定義 playground 通過這個位址了解神經網路 1.人工神經網路 artificial neural network,簡寫為ann 也簡稱為神經網路 nn 分別輸入層,輸出層以及隱藏層 2.特點 每個連線都有個權值,同一層神經元之間沒有連線,最後的輸出結果對應的層也稱之為全連線層 ...

機器學習,深度學習,神經網路,深度神經網路

先來說一下這幾者之間的關係 人工智慧包含機器學習,機器學習包含深度學習 是其中比較重要的分支 深度學習源自於人工神經網路的研究,但是並不完全等於傳統神經網路。所以深度學習可以說是在傳統神經網路基礎上的公升級。神經網路一般有輸入層 隱藏層 輸出層,一般來說隱藏層大於2的神經網路就叫做深度神經網路,深度...

深度學習 神經網路基礎 2

目錄 一 常用標記 樣本 x,y x 為輸入,y 為輸出 輸入 x x in mathbb 是乙個 n 維的特徵向量 輸出 y 取值為0或1 樣本數量 m 樣本空間 y x y x y 如何組織 按列來組織,每一列表示乙個樣本 矩陣 x x x x 矩陣 y y y y sigmoid函式 g z ...