基礎深度學習概念備忘錄翻譯自DeepLearning Cheat Sheet。筆者仍是菜鳥一枚,如有謬誤請多多賜教,另外若是但願瞭解更多機器學習&深度學習的資料能夠參考筆者的面向程序猿的數據科學與機器學習知識體系及資料合集以及程序猿的數據科學與機器學習實戰手冊。git
深度學習可能對於不少初學者是一頭霧水,在高速發展的同時有不少新的概念名詞被拋出,而本文則是對一些常見名詞的備忘介紹。github
梯度便是某個函數的偏導數,其容許輸入多個向量而後輸出單個值,某個典型的函數便是神經網絡中的損失函數。梯度會顯示出隨着變量輸入的增長輸出值增長的方向,換言之,若是咱們要下降損失值則反梯度逆向前行便可。網絡
簡稱爲Back prop,即將前向傳播輸入值計算得出的偏差反向傳遞到輸入值中,常常用於微積分中的鏈式調用。機器學習
用於將神經元的輸出結果限制在[0,1]
範圍內的閾值函數,該函數的輸出圖形看起來有點像S
型,在希臘語中就是所謂Sigma。Sigmoid函數是Logistic函數的某個特例。函數
Sigmoid函數的輸出間隔爲[0,1]
,而ReLU的輸出範圍爲[0,infinity]
,換言之Sigmoid更合適Logistic迴歸而ReLU更適合於表示正數。深度學習中ReLU並不會受制於所謂的梯度消失問題(Vanishing Gradient Problem)。學習
Tanh函數有助於將你的網絡權重控制在[-1,1]
之間,並且從上圖中能夠看出,越靠近0的地方梯度值越大,而且梯度的範圍位於[0,1]
之間,和Sigmoid函數的範圍一致,這一點也能有助於避免梯度誤差。spa
最先見於Recurrent Neural Networks,不過一樣能夠用於其餘內存單元較少的地方。其主要能夠在訓練中保持輸入的狀態,從而避免以前由於RNN丟失輸入先驗上下文而致使的梯度消失問題。翻譯
Softmax函數經常使用於神經網絡的末端以添加分類功能,該函數主要是進行多元邏輯斯蒂迴歸,也就能夠用於多元分類問題。一般會使用交叉熵做爲其損失函數。3d
正則化項經過對係數添加懲罰項來避免過擬合,正則化項也可以指明模型複雜度。L1與L2的區別在於L1可以保證模型的稀疏性。引入正則化項可以保證模型的泛化能力而且避免在訓練數據中過擬合。code
Drop out一樣能夠避免過擬合,而且能以近似指數的時間來合併多個不一樣的神經網絡結構。該方法會隨機地在每一層中選擇一些顯性層與隱層,在咱們的實踐中一般會由固定比例的層Drop out決定。
在深度學習中,若是有太多的層次會致使所謂的Internal Covariate Shift,也就是訓練過程當中由於網絡參數的變化致使網絡激活分佈的變化。若是咱們能減小這種變量遷移,咱們可以更快地訓練網絡。Batch Normalization則經過將每一個處理塊進行正則化處理來解決這個問題。
也就是損失函數或者Optimization Score Function,某個深度學習網絡的目標便是最小化該函數值從而提高網絡的準確度。
用於衡量某個模型的準確度的標準:
F1 = 2 * (Precision * Recall) / (Precision + Recall) Precision = True Positives / (True Positives + False Positives) Recall = True Positives / (True Positives + False Negatives)
用於計算預測標籤值與真實標籤值之間的差距,基本的定義以下: