深度學習-幾個常用概念


一、基礎概念

1.偏置

除了權重,另一個線性組件應用於輸入,稱為偏置。它被添加到輸入的權重乘法的結果中。這種偏置主要是為了改變權重的范圍。在添加偏置后,結果看起來像a*W1+偏置。這是輸入變換的最后一個線性分量。

2.神經元

神經網絡中的神經元接收一個輸入,處理它並產生一個輸出,輸出被發送到其他神經元進行進一步的處理,或者直接輸出。

3.權重

當輸入進入神經元時,會乘以一個權重。例如,如果一個神經元有兩個輸入,那么每個輸入都會有一個相關的權重分配給它。我們在模型訓練過程中隨機初始化權重,並更新這些權重。神經網絡經過訓練后,賦予重要的輸入更高的權重,而被認為不重要的輸入會得到不那么重要的權重。0的權重表示該特性是無關緊要的。假設輸入為a,和與a相關的權重W1。經過節點后,輸入變成了a*W1。

4.激活函數

激活函數將輸入信號轉換為輸出信號。激活函數應用后的輸出看起來像f(a*W1+b),f()是激活函數。激活函數一旦將線性分量應用於輸入,就會應用非線性函數。

假設有n個輸入,從X1到Xn,以及相應的權重Wk1到Wkn。我們有一個偏置值,即bk,權重首先乘以相應的輸入,加上偏置,共同組成u。激活函數被應用於u,即f(u),我們從神經元接收最終輸出,如yk=f(u)。

最常用的激活函數是——Sigmoid、ReLU和softmax。

5.輸入/輸出/隱含層

輸入層是接收輸入數據的,並且是網絡的第一層。輸出層是生成輸出數據的一層,或者是神經網絡的最后一層。處理層是神經網絡中的隱含層。這些隱含層對傳入數據執行特定任務並生成輸出數據傳遞到下一層。輸入層和輸出層是可見的,而中間層是隱含的。

6.神經網路

神經網絡構成深度學習的主干。神經網絡的目標是找到一個未知函數的近似值。它是由相互聯系的神經元形成的。這些神經元有權重和偏置,在神經網絡訓練期間根據錯誤進行更新。激活函數對線性組合進行非線性轉換,然后生成輸出。再由被激活的神經元的組合給出輸出。

神經網絡是由許多相互關聯的概念化的人工神經元組成的,它們之間傳遞數據,並且根據網絡的“經驗”來調整權重。神經元有激活閾值,如果通過的數據和權重組合滿足閾值,就會被觸發;而被激活的神經元的組合會導致“學習”。

7.MLP(多層感知機)

單個神經元無法執行高度復雜的任務,因此,我們使用堆棧的神經元來產生所需的輸出。在最簡單的神經網絡中,會有一個輸入層,一個隱含層和一個輸出層,我們稱其為感知機。每一層包括多個神經元,並且每一層中的所有神經元都連接到下一層的所有神經元。這個神經網絡也可以被稱為完全連接的神經網絡。在輸入層和輸出層之間加入多層隱含層,即為多層感知機。

8.前向傳播

前向傳播是指輸入層數據通過隱含層到輸出層的運動。在前向傳播中,信息沿着一個方向前進。輸入層將數據提供給隱含層,然后輸出層生成輸出。沒有反向運動。

9.反向傳播

當我們定義一個神經網絡時,可以將隨機權重和偏置值分配給每一個節點。一旦獲取了單次迭代的輸出值,就可以計算網絡的錯誤。把這個錯誤反饋給網絡,以及損失函數的梯度來更新網絡的權重。權重更新后可以減少后續迭代中的錯誤。使用損失函數梯度來進行權重的更新被稱為反向傳播。

在反向傳播中,網絡的運動是向后的,誤差隨梯度從外層流入,穿過隱含層,權重被更新。

10.批量標准化

批量標准化確保數據的分布和下一層希望得到的一樣。當我們訓練神經網絡時,每一步梯度下降后,權重會改變,這也改變了被發送到下一層的數據的形狀。但是,下一層會預計這種分布與之前看到的類似。因此,我們在將數據發送到下一層之前應明確地將數據標准化。

11.梯度下降

梯度下降是一種用於最小化損失函數的優化算法。

例如,在爬山的時候,人應該一步一步走下來,而不是一下子跳下來。因此,梯度下降要做的是,從一個點x出發,向下移動一點,即delta h,並將位置更新為x-delta h,繼續向下移動,直到達到底部,同時考慮最低成本點。在數學上,為了找到函數的局部最小值,應采取與函數的梯度的負數成比例的步長

12.學習速率

損失函數下降到最小值的速率就是學習速率,學習速率,不能非常高,也不能很低,這樣才能使網絡永遠收斂。

13.批次

在訓練神經網絡時,並非把所有數據一次性輸入進去,而是把數據分成幾個大小相等的塊。對數據進行批量訓練的模型比整個數據集一次性輸入的模型更加廣義化。

14.訓練周期

訓練周期指的是前向傳播和反向傳播中所有批次的單一訓練迭代。這意味着1個訓練周期是所有輸入數據的單次向前和向后傳遞。可以選擇用來訓練你的網絡的訓練周期的數量。更多的訓練周期可能會顯示出更高的網絡精度,但是也需要耗費更長的時間。另外,你必須注意,如果訓練周期過多,網絡容易出現過擬合現象。

15.丟棄

這是一種正則化技術,可防止網絡過擬合。顧名思義,在訓練期間,隱含層中的一定數量的神經元被隨機丟棄。即訓練會發生在神經網絡的不同組合的幾個神經網絡架構上。可以把丟棄視為一種綜合技術,然后把多個網絡的輸出用於產生最終輸出。

 

二、卷積神經網絡

1.過濾器

卷積神經網絡的一個過濾器就像一個加權矩陣,我們將輸入圖像的一部分相乘,生成一個復雜的輸出。假設我們有一個28*28大小的圖像。我們隨機分配一個大小為3*3的過濾器,然后用不同的3*3部分的圖像相乘,形成一個復雜的輸出。過濾尺寸通常小於原始圖像尺寸。在成本最小化的反向傳播過程中,過濾器的權重值不斷更新。這個過濾器是一個3*3矩陣。它與圖像的每3*3部分相乘以形成卷積特性。

2.CNN(卷積神經網絡)

卷積神經網絡大部分用於處理圖像數據。假設我們有一個大小為(28*28*3)的輸入,如果我們使用一個正常的神經網絡,就會有2352(28*28*3)個參數。隨着圖像的大小增加,參數的數量變得非常大。我們“卷積”圖像來減少參數的數量(如17所示的過濾器)。當我們在輸入數據的寬度和高度上滑動過濾器時,會產生一個二維的激活映射,在每一個位置都輸出經過過濾器后的輸出。我們將在深層維度上堆疊這些激活映射,並生成輸出數據。

3.池化

在卷積層之間引入池化層更多是為了減少一些參數和防止過擬合。最常見的池類型是使用MAX操作的過濾大小(2*2)的池層。它用來選取原始圖像的每4*4矩陣中的最大值。還可以使用其他操作(如平均池)進行池化,但是最大池在實踐中表現更好。

4.填充

填充是指在圖像中添加額外的零層,這樣輸出圖像的大小與輸入圖像的大小相同,這就是同樣的填充。

在過濾器的應用中,相同填充的情況下的卷積層的大小與實際圖像大小相等。有效填充是指將圖像保存為具有實際或“有效”的圖像的所有像素。在這種情況下,經過過濾器后,每個卷積層輸出的長度和寬度不斷減小。
5.數據增強
數據增強是指在給定數據基礎上添加新數據,幫助預測。例如,增加圖像亮度可以更容易看到較暗的圖像中的貓,或者識別數字9時可以選擇稍微傾斜或旋轉。在這種情況下,旋轉能夠解決問題,並提高模型的准確性。通過旋轉或增亮,我們可以提高數據的質量。
 
三、遞歸神經網絡篇
1.循環神經元
神經元的輸出在T時間內被發送回輸入。輸出值被作為輸入值經過T次發送回來。展開的神經元就像連在一起的T個不同的神經元。這種神經元的基本優點是,它給出了一個更廣義的輸出。
2.RNN
循環神經網絡用於連續的數據,上一個輸出被用來預測下一個。在這種情況下,網絡內部有循環。隱含神經元內的循環可以在一段時間內存儲關於前幾個單詞的信息,從而能夠預測輸出。隱含層的輸出在T時間戳內再次被發送到隱含層。在完成所有的時間戳后,循環神經元輸出到下一層。發送的輸出更廣泛,而先前的信息將保留較長時間。
3.梯度消失

梯度消失問題出現在激活函數的梯度很小的情況下。當權重與這些低梯度相乘,逐層經過神經網絡時,會變得非常小,甚至“消失”。這使得神經網絡忘記了長期依賴。在循環神經網絡中這通常是一個問題,因為長期依賴關系對網絡的記憶非常重要。梯度消失問題可以通過使用像ReLu這種沒有小梯度的激活函數來解決。

4.梯度爆炸

和梯度消失問題正好相反,梯度爆炸問題指的是激活函數的梯度太大。在反向傳播過程中,梯度爆炸令特定節點的權重非常高,而其他節點的權重顯得微不足道。梯度爆炸可以通過剪切梯度來解決,這樣就不會超過某個值。

原文:https://blog.csdn.net/xuyuangdong/article/details/79626043(剛開始學習深度學習,所以將這篇博文的內容作為自己的學習筆記記了下來,感謝博主!)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM