深度学习相关概念:梯度下降
深度學(xué)習(xí)相關(guān)概念:梯度下降法、動(dòng)量法與自適應(yīng)梯度
- 1. 梯度下降概念
- 2. 梯度下降的目的
- 3. 梯度下降的原理
- 4. 梯度計(jì)算
- 5. 梯度下降算法的類別及計(jì)算效率
- 5.1 批量梯度下降(BGD)
- 5.2 隨機(jī)梯度下降(SGD)
- 5.3 小批量梯度下降(MBGD)
1. 梯度下降概念
??在深度學(xué)習(xí)中,你一定聽(tīng)說(shuō)過(guò)“梯度下降”,在絕大部分的神經(jīng)網(wǎng)絡(luò)模型里有直接或者間接地使用了梯度下降的算法。深度學(xué)習(xí)的核心:就是把數(shù)據(jù)喂給一個(gè)人工設(shè)計(jì)的模型,然后讓模型自動(dòng)的“學(xué)習(xí)”,通過(guò)反向傳播進(jìn)而優(yōu)化模型自身的各種參數(shù),最終使得在某一組參數(shù)下該模型能夠最佳的匹配該學(xué)習(xí)任務(wù)。那么如果想要這個(gè)模型達(dá)到我們想要的效果,這個(gè)“學(xué)習(xí)”的過(guò)程就是深度學(xué)習(xí)算法的關(guān)鍵。梯度下降法就是實(shí)現(xiàn)該“學(xué)習(xí)”過(guò)程的一種最常見(jiàn)的方式,尤其是在深度學(xué)習(xí)(神經(jīng)網(wǎng)絡(luò))模型中,BP反向傳播方法的核心就是對(duì)每層的權(quán)重參數(shù)不斷使用梯度下降來(lái)進(jìn)行優(yōu)化。雖然不同的梯度下降算法在具體的實(shí)現(xiàn)細(xì)節(jié)上會(huì)稍有不同,但是主要的思想是大致一樣的。
2. 梯度下降的目的
??在之前我們介紹過(guò)交叉熵函數(shù),交叉熵函數(shù)就是損失函數(shù)的一種,損失函數(shù)用來(lái)衡量模型的精確度。一般來(lái)說(shuō),損失函數(shù)的值越小,我們訓(xùn)練的模型的精確度就越高。如果要提高模型的精確度,就需要盡可能降低損失函數(shù)的值。而降低損失函數(shù)的值,我們一般采用梯度下降這個(gè)方法。所以,梯度下降的目的,就是最小化損失函數(shù)。
3. 梯度下降的原理
梯度下降就是尋找損失函數(shù)的最低點(diǎn)。那么如何尋找損失函數(shù)的最低點(diǎn)呢?在這里,我們使用了微積分里導(dǎo)數(shù),通過(guò)求出函數(shù)導(dǎo)數(shù)的值,從而找到函數(shù)下降的方向或者是最低點(diǎn)(極值點(diǎn))。
計(jì)算梯度后如何找到最低點(diǎn)?如下圖路線所示
4. 梯度計(jì)算
梯度的計(jì)算分為數(shù)值法和解析法:
5. 梯度下降算法的類別及計(jì)算效率
5.1 批量梯度下降(BGD)
在梯度下降的每一步中,我們都用到了所有的訓(xùn)練樣本,我們需要進(jìn)行求和運(yùn)算,在梯度下降中,在計(jì)算微積分時(shí),每一個(gè)樣本都需要計(jì)算,會(huì)導(dǎo)致運(yùn)算速度比較慢。
5.2 隨機(jī)梯度下降(SGD)
隨機(jī)梯度下降法和批量梯度下降法是兩個(gè)極端,批量梯度下降每次采用所有數(shù)據(jù)下降,隨機(jī)梯度下降每次用一個(gè)樣本來(lái)梯度下降。
- 訓(xùn)練速度:隨機(jī)梯度下降法由于每次僅僅采用一個(gè)樣本來(lái)迭代,訓(xùn)練速度很快。
- 精準(zhǔn)度:隨機(jī)梯度下降法每次訓(xùn)練僅僅用一個(gè)樣本決定梯度的方向,可能得到局部最小值,精準(zhǔn)度不高。
- 收斂速度:由于隨機(jī)梯度下降法一次迭代一個(gè)樣本,導(dǎo)致迭代方向變化很大,不能很快的收斂到局部最優(yōu)解。
5.3 小批量梯度下降(MBGD)
小批量梯度下降每次迭代使用一個(gè)以上但又不是全部的樣本。小批量梯度下降是集中了隨機(jī)梯度下降(SGD)和批量梯度下降(BGD)的優(yōu)點(diǎn):使用多個(gè)樣本相比SGD提高了梯度估計(jì)的精準(zhǔn)度,小批量的估計(jì)。缺點(diǎn):同SGD一樣,每次梯度的方向不確定加粗樣式,可能陷入局部最優(yōu)。通常在使用MBGD之前先將數(shù)據(jù)隨機(jī)打亂,然后劃分Mini-batch,所以MBGD有時(shí)也稱SGD。Mini-batch 大小的選擇通常使用2的冪數(shù),可以獲得更少的運(yùn)行時(shí)間。
但是梯度下降3種算法都有缺點(diǎn),都可能會(huì)陷入局部最優(yōu)或者計(jì)算量大。應(yīng)該如何改進(jìn)?
目前人們已經(jīng)提出動(dòng)量法和自適應(yīng)梯度來(lái)解決本文中的問(wèn)題。詳情見(jiàn)我的下一篇博客——深度學(xué)習(xí)相關(guān)概念:動(dòng)量法與自適應(yīng)梯度
總結(jié)
以上是生活随笔為你收集整理的深度学习相关概念:梯度下降的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中国研发磁悬浮高铁新技术 再次实现自我超
- 下一篇: 小波变换图像融合_图像视频降噪的现在与未