深度学习基础算法梳理
1、實質用途
深度學習用來處理圖像、語音等任務,也可用來處理數值型分類、回歸任務。深度學習無需特征選擇過程,具有較強的自學習能力,能擬合任意函數。
2、算法列表
2.1 感知器
感知器是由神經元,組成的一個基本的線性深度學習模型。用來解決線性分類問題。
感知器可實現基本的與、或函數、基本的二分類。它可以擬合任何的線性函數,任何線性分類或線性回歸問題都可以用感知器來解決。
(1)感知器的定義
感知器為神經網絡的組成單元,感知器的結構圖片如下
感知器的公式如下:
激活函數的公式如下:
感知器由輸入權值、激活函數(階躍函數)、輸出組成。
(2)感知器的訓練
權重更新的公式如下:
注意:此處t、y為一批輸入的所有訓練數據的y值。輪次則代表這個w更新幾輪。如果輪次為1的話,此處w只更新一次。圖中的學習率為每次更新的參數的跨度。
2.2 線性單元
感知器只能解決線性可分的情況,面對線性不可分的情況無法處理,線性單元就是為了解決線性不可分的情況。
激活函數的公式為
f(x)=xf(x)=x f(x)=x
以上這種簡單的激活函數,為線性回歸,可以解決回歸問題。
因此線性單元的公式為,其中X0為1,代表偏置b。目標函數為
y=wTxy=w^Tx y=wTx
e=12(y?y ̄)2e=\frac{1}{2}(y?\overline{y})^2 e=21?(y?y?)2
2.3 全連接神經網絡
在線性單元的基礎上,激活函數變換為sigmoid等其他的激活函數,目標函數為均方差。因此參數更新公式如下
反向傳播算法
代表從輸出層往前一直求解權重的過程。
由于全連接神經網絡參數太多,一般無法將參數傳遞超過3層。因此需要用其他網絡來優化算法。
2.4 卷積神經網絡
圖像和語音識別一般選擇卷積神經網絡。激活函數一般選擇relu為max(0,x)
relu速度快、減輕梯度小時、稀疏性
卷積神經網絡由卷積層、池化層、全連接層組成。
卷積層:局部連接、權值共享【某一片節點連接1個輸出,公用一個權值】提升計算效率可保留局部特征。(卷積相當于矩陣的內積,是對一片區域的特征提取過程,得到一個featuremap)
池化層:下采樣【均值、最大值】
LeNet-5是實現手寫數字識別的卷積神經網絡,在MNIST測試集上,它取得了0.8%的錯誤率。
2.5 循環神經網絡
某些任務需要能夠更好的處理序列的信息,即前面的輸入和后面的輸入是有關系的。同時輸入的長度不是固定的。
網絡結構如下,S值取決于當前的x值與上次隱藏層的s值。可以理解為當前來了個單次要看下一個單次是什么,不僅要拿當前單次,還要拿以前存儲的信息庫的信息。
循環神經網絡為向前看,雙向循環神經網絡【結合向前看和向后看】
深度循環神經網絡,代表中間有多個隱藏層
循環神經網絡存在梯度爆炸和梯度消失問題,并不能真正的處理好長距離的依賴(雖然有一些技巧可以減輕這些問題)
2.6 長短時記憶神經網絡
針對循環神經網絡,增加一個來存儲長期狀態。包含輸入門、遺忘門、新值門、輸出門,其中原來RNN的狀態不變,只是增加了一個C來存儲長期狀態。可以理解為上一個信息經過多重變換,保留信息的原始性,放在了h中。
3、基礎概念
3.1目標函數
(1)0-1 loss函數
(2)交叉熵函數
(3)Hinge loss
(4)均方差損失
Hinge loss被用來解SVM問題中的間距最大化問題。回歸任務的損失(5)L1損失(MAE)
(6)L2損失(MSE)
3.2激活函數
(1)sigmoid
(2)tanh
(3)relu
relu優勢計算速度快、不存在梯度飽和的問題
4、常用實例
梯度下降
一般情況我們求解一個函數的極值是通過求導來求解的,但是有很多函數求導很復雜,且計算器不會求導,計算機是通過試出來的,這種嘗試的方式就是梯度下降。
所謂的梯度下降也就是對當前函數針對參數求導,導數乘以步長作為梯度的反方向去下降找到最小誤差值點。(梯度下降也可理解為,尋找一個最能找到極值點的方向去移動)
https://www.cnblogs.com/pinard/p/5970503.html
詳細內容參考以上文獻。
隨機梯度下降與批梯度下降
批梯度下降,使用全部樣本進行更新,更新速度慢。
隨機梯度下降每次選取一個樣本來優化權重,方向變化大不一定能很快得到局部最優解
最小二乘法
尋找一條線到所有的點距離最短,采用求導的方式計算
超參數設置
神經網絡的層數,一般根據經驗來確定。層的節點個數根據公式來定,比如根號nl,或者log。學習率、單批次大小、輪次
softmax
給定多維向量,輸出對應的概率
相關學習鏈接
總體參考技術博客
https://cuijiahua.com/
NLP學習視頻
https://www.bilibili.com/video/BV17A411e7qL?p=4
圖像識別課程
OpenCV視頻教程計算機視覺圖像識別從基礎到深度學習實戰
https://www.bilibili.com/video/BV1uW41117GE?p=8
撰寫目的
以最通俗的方式,記錄深度學習學習進程,以應用為主。
總結
以上是生活随笔為你收集整理的深度学习基础算法梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是AIFF?
- 下一篇: 深度学习(一)深度学习简介以及常用算法