【CS224n】Neural Networks, Backpropagation

寫在前面:
最近在學習CS224n,系統的學習NLP理論。後面會把相關的學習筆記和代碼公開,歡迎大家和我一起討論。
#############################可愛的分割線###################################
CS224n系列:
【CS224n】Neural Networks, Backpropagation
【CS224n】Neural-Dependency-Parsing
【CS224n】Language Models, RNN, GRU and LSTM
【CS224n】Neural Machine Translation with Seq2Seq
【CS224n】ConvNets for NLP

1. Neural Networks: Foundations

1.1 A Neuron(單個神經元)

在這裏插入圖片描述
在這裏插入圖片描述

1.2 A Single Layer of Neurons(多個神經元的單層網絡)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ycykeixs-1589083782344)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p48)]
在這裏插入圖片描述

1.3 Feed-forward Computation(前向計算)

在這裏插入圖片描述
在這裏插入圖片描述

1.4 Maximum Margin Objective Function(最大邊界損失函數)

在這裏插入圖片描述
在這裏插入圖片描述
其中,s爲正標籤樣本得分,scs_c爲負標籤樣本得分,Δ\Delta爲邊界寬度,類似於SVM的分類間隔。

1.5 Training with Backpropagation – Element(反向傳播)

隨機梯度下降(SGD):
在這裏插入圖片描述
反向傳播準則爲鏈式法則,推導較長,參考:http://web.stanford.edu/class/cs224n/readings/cs224n-2019-notes03-neuralnets.pdf
在這裏插入圖片描述

2 Neural Networks: Tips and Tricks

2.1 Gradient Check(梯度檢查)

我們可以使用以下方法來對反向傳播計算的梯度結果做檢查:
在這裏插入圖片描述
該公式爲對參數θ\theta求導,反向傳播計算的梯度結果應該接近於該結果。
實際應用中不直接求導的原因是真實場景的神經網絡的參數量巨大,每個參數每次迭代都要計算一次,使用該方法非常耗時。(反向傳播中使用矩陣運算可以大大提高效率)

2.2 Regularization(正則化)

正則化是爲了防止模型過擬合。
L2L_2正則化:
在這裏插入圖片描述
在這裏插入圖片描述
L1L_1正則化:參數WW的絕對值之和。

2.3 Dropout

Dropout也是一種正則化技術,同樣可以防止模型過擬合。
基本原理爲:訓練階段,每一次訓練過程,以p的概率隨機選擇一部分參數進行訓練,其他參數不動;測試階段,使用所有參數進行預測。
Dropout有效的原因:因爲dropout的隨機選擇訓練參數的特性,相當於訓練了很多個小網絡(指數級增長),最後平均化訓練結果(相當於做了ensemble,模型泛化能力更強)。

2.4 Neuron Units(激活函數)

激活函數主要關注公式及對應的曲線;

2.4.1 Sigmoid

在這裏插入圖片描述
在這裏插入圖片描述
sigmoid 求導:
在這裏插入圖片描述

2.4.2 Tanh

tanh函數爲sigmoid函數的可替代品,且比sigmoid函數更快收斂。區別在於sigmoid取值範圍爲[0,1],而tanh函數取值範圍爲[-1,1]。
在這裏插入圖片描述
在這裏插入圖片描述

2.4.3 Hard tanh

在這裏插入圖片描述
在這裏插入圖片描述

2.4.4 Soft sign

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jS2DiNMr-1589083782359)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p72)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lUFW8g0x-1589083782360)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p73)]

2.4.5 ReLU(Rectified Linear Unit)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0GVRWkZj-1589083782361)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p74)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dZqBM1J3-1589083782362)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p75)]

2.4.6 Leaky ReLU

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5iBn7v5N-1589083782363)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p76)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-G97wsc2O-1589083782363)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p77)]

2.5 Data Preprocessing(數據預處理)

2.5.1 Mean Subtraction(去均值化)

Mean Subtraction就是在訓練數據中,計算均值,對每個樣本減去均值。一個重要的點是:均值計算過程只在訓練集中進行,得到的均值同時適用於訓練集,驗證集,測試集。

2.5.2 Normalization(歸一化)

歸一化是爲了把不同維度的特徵規範到同個範疇內,具體做法是對每個特徵除以各自的標準差。

2.5.3 Whitening

白化是將數據轉換爲恆等協方差的矩陣。

2.6 Parameter Initialization

一個好的參數初始化的策略是:將權重初始化在0附近的較小隨機數
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-06wbaP2v-1589083782364)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p80)]
實驗表明,上述初始化策略對於sigmoid和tanh激活函數,能更快地收斂和達到更低的錯誤率。
而偏置通常被初始化爲0.

2.7 Learning Strategies

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wsJODoPH-1589083782365)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p81)]
其中,α\alpha爲學習率,可以控制模型參數的學習速率。學習率的設置應該是先大後小。

2.9 Adaptive Optimization Methods

自適應優化方法,目的是爲了更好地控制學習率。
RMS:
在這裏插入圖片描述
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nrT2W0oU-1589083782367)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p86)]

從該式子可以看到,學習率跟訓練過程中的梯度有關,梯度累積越大,學習率越小(梯度累積越大,說明模型學到的東西更多,隨着學習過程的進行,學習率應該越來越低)。
Adam:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DjCJo8ft-1589083782368)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p83)]
相比RMS,Adam多了個參數m,來控制學習率的變化。

參考:Neural Networks, Backpropagation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章