當前位置:
首頁 > 最新 > 深度學習基本概念筆記

深度學習基本概念筆記

由於在圖像,語音,和自然語言處理等領域的成功運用以及在大數據量訓練的突出表現,神經網路迎來了研究和應用的大爆發。神經網路是在多層神經元感知器之間進行正向計算分類和梯度下降反向傳播的反覆迭代過程。

向量化:正向反向計算的向量化是通過減少循環計算而對層內輸入節點向量化,多層計算向量化和多訓練樣本的矩陣化提高計算的效率。由此引入的向量運算和矩陣運算又推動了GPU等硬體的飛速發展。

代價函數:一般神經網路通過計算多個類別所有樣本預測分類和實際分類的交叉熵來衡量模型的準確性。

激活函數:為了避免單純的線性組合和增強表達問題的能力,神經網路引入了非線性的激活函數。神經網路的計算就是圍繞著線性賦權和激活函數的計算和求導進行。常用的激活函數有Sigmoid函數, 正切函數,Relu和Leaky Relus函數。Softmax激活函數通過計算不同類別的概率從而實現多類別分類。

權值矩陣初始化:一般採用高斯分布或均勻分布隨機初始化權值矩陣從而避免梯度膨脹和梯度消失並提高訓練的效率。

輸入層和隱藏層數據歸一化:為了減少不同輸入和中間層量綱的差別,通過均值和標準差對輸入樣本和中間層數據進行標準化處理,可以提高訓練的收斂速度和模型的精度。

正則化:通過對代價函數增加正則化項,從而在減少模型分類代價的同時使正則化項盡量小,從而降低模型複雜性防止過擬合。正則化有L2正則化和L1正則化等方法。防止過擬合的方法還有樣本數據變換和提前中止等方法。

結構性丟棄:訓練過程中對模型的神經元按照一定的概率進行隨機丟棄,進而減少神經元之間的依賴而防止模型過擬合。

小批量梯度下降:通過對部分樣本而非所有樣本小批量的計算迭代(64,128,256,512,1024個樣本),在內存計算量和收斂速度中權衡,進而在不犧牲太多收斂速度的同時提高模型訓練速度。

加權平均梯度下降和學習率衰減:通過加權平均減少梯度下降隨機噪音控制梯度曲線的平滑度從而加快訓練收斂速度。常用方法有Monmentum,RMSprop和Adam.學習率衰減也能平滑訓練過程加快收斂速度。

訓練集/開發集/測試集:通常對標註樣本進行訓練,開發和測試集的劃分。一般訓練集用於對選定的模型進行訓練。開發集用於測試調試模型和基本參數。測試集用於對訓練後的模型進行交叉驗證和性能測試。當訓練集偏差較大時一般需要訓練更大的模型,或者訓練更長時間或需要更優化的訓練演算法,或者更改神經網路架構和基本參數。當開發測試集差異較大時一般需要更多的訓練數據,或者調整正則化,或者更改神經網路架構和基本參數。一般應用人類識別錯誤率和訓練集錯誤率的差衡量訓練集可避免偏差。一般應用訓練集錯誤率和開發測試錯誤率的差衡量開發測試集的差異。

錯誤類型分析:一般需要對模型分類錯誤進行錯誤類型分析,對不同類型的錯誤增加相關錯誤類型數據或人工數據合成等來提高模型精度。數據重劃分和數據收集合成可以解決訓練/開發/測試的數據分布和特證不相同的問題。

轉移學習和多任務學習:由於輸入數據相同,底層特徵相同和類別的相似,改變已有訓練模型的輸出層並進行少量的訓練即可完成類似類別的訓練即轉移學習。多任務學習也是利用了輸入數據和底層特徵相同的特點實現多個類別的同時訓練。

分階段系統學習:系統性解決實際問題需要整合不同模塊組件和深度學習模塊。通過對實際問題進行分階段子任務的訓練分類也是很好的解決實際問題提供分類學習的效率和準確度的關鍵。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 瘋子在奮鬥 的精彩文章:

TAG:瘋子在奮鬥 |