深度神经网络关键词解释
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)的目的是找到使損失函數(shù)的值盡可能小的參數(shù)。這是尋找最優(yōu)參數(shù)的問題, 解決這個(gè)問題的過程稱為最優(yōu)化 (optimization)而由于參數(shù)空間復(fù)雜,無法輕易找到最優(yōu)解
1隨機(jī)梯度下降法 (stochastic gradient descent),簡稱SGD :
分步走, 朝著當(dāng)前所在位置的坡度(梯度)最大的方向前進(jìn),就是SGD的策略
缺點(diǎn)是 有些情況SGD低效,原因是梯度的方向并沒有指向最小值的方向,按照局部的梯度走,會(huì)出現(xiàn)來回往返的多余路線
?
2 Momentum法
Momentum方法給人的感覺就像是小球在地面上滾動(dòng),?物體在梯度方向上受力,在這個(gè)力的作用下,物體的速度增加這一物理法則, 減弱了SGD的“之” 字形的路線變動(dòng)程度
3?AdaGrad法
在關(guān)于學(xué)習(xí)率的有效技巧中,有一種被稱為學(xué)習(xí)率衰減 (learning rate decay) 的方法, 即隨著學(xué)習(xí)的進(jìn)行, 使學(xué)習(xí)率逐漸減小。
AdaGrad會(huì)為參數(shù)的每個(gè)元素適當(dāng)?shù)卣{(diào)整學(xué)習(xí)率,與此同時(shí)進(jìn)行學(xué)習(xí) (AdaGrad的Ada來自英文單詞Adaptive,即 “適當(dāng)?shù)摹?的意思)
AdaGrad會(huì)記錄過去所有梯度的平方和。因此,學(xué)習(xí)越深入,更新的幅度就越小。實(shí)際上,如果無止境地學(xué)習(xí),更新量就會(huì)變?yōu)?,完全不再更新。
4?Adam法 (結(jié)合Momentum與AdaGrad法)
Momentum參照小球在碗中滾動(dòng)的物理規(guī)則進(jìn)行移動(dòng),AdaGrad為參數(shù)的每個(gè)元素適當(dāng)?shù)卣{(diào)整更新步伐。這就是Adam法的基本思路
?上面我們介紹了SGD、Momentum、AdaGrad、Adam這4種方法,那 么用哪種方法好呢?一般而言,與SGD相比,其他3種方法可以學(xué)習(xí)得更快,有時(shí)最終的識(shí)別精度也更高。
?
超參數(shù) :學(xué)習(xí)率(數(shù)學(xué)式中記為η) 的值很重要。學(xué)習(xí)率過小, 會(huì)導(dǎo)致學(xué)習(xí)花費(fèi)過多時(shí)間;反過來,學(xué)習(xí)率過大,則會(huì)導(dǎo)致學(xué)習(xí)發(fā)散而不能 正確進(jìn)行
?
隱藏層的激活值的分布
觀察隱藏層的激活值A(chǔ)(激活函數(shù)的輸出數(shù)據(jù)) 的分布,可以獲得很多啟發(fā)
用直方圖繪制各層激活值的數(shù)據(jù)分布
使用標(biāo)準(zhǔn)差為1的高斯分布作為權(quán)重初始值時(shí)的各層激活值的分布
從圖可知,各層的激活值呈偏向0和1的分布,隨著輸出不斷地靠近0 (或者靠近1),它的導(dǎo)數(shù)的值逐漸接近0。因此,偏向0和1的數(shù)據(jù)分布會(huì)造成反向傳播中梯度的值不斷變小,最 后消失。這個(gè)問題稱為梯度消失 (gradient vanishing)?。層次加深的深度學(xué)習(xí) 中,梯度消失的問題可能會(huì)更加嚴(yán)重。
使用標(biāo)準(zhǔn)差為0.01的高斯分布時(shí),各層的激活值的分布
這次呈集中在0.5附近的分布,?因?yàn)槿绻卸鄠€(gè)神經(jīng)元都輸出幾乎相同 的值,那它們就沒有存在的意義了。比如,如果100個(gè)神經(jīng)元都輸出幾乎相 同的值,那么也可以由1個(gè)神經(jīng)元來表達(dá)基本相同的事情。因此,激活值在 分布上有所偏向會(huì)出現(xiàn) “表現(xiàn)力受限” 的問題
?
需求 :?各層的激活值的分布都要求有適當(dāng)?shù)膹V度
推薦辦法: 如果前一層的節(jié)點(diǎn)數(shù)為n,則權(quán)重初始值使用標(biāo)準(zhǔn)差為 1/根號n 的分布? (參考Xavier初始值)
設(shè)定了合適的權(quán)重初始值,則各層的激活值分布會(huì)有適當(dāng)?shù)膹V度,從而可以順利地進(jìn)行學(xué)習(xí)。那么,為了使各層擁有適當(dāng)?shù)膹V度, “強(qiáng)制性” 地調(diào)整激活值的分布會(huì)怎樣呢?實(shí)際上,Batch Normalization方法就是基于這個(gè)想法產(chǎn)生的:
Batch Normalization?雖然是一個(gè)問世不久的新方法,但已經(jīng)被很多研究人員和技術(shù)人員廣泛使用, 優(yōu)點(diǎn)如下:
1 可以使學(xué)習(xí)快速進(jìn)行 (可以增大學(xué)習(xí)率)
2 不那么依賴初始值 (對于初始值不用那么神經(jīng)質(zhì))?
3 抑制過擬合 (降低Dropout等的必要性)
Batch Norm的思路是調(diào)整各層的激活值分布使其擁有適當(dāng)?shù)膹V度。為此,要向神經(jīng)網(wǎng)絡(luò)中插入對數(shù)據(jù)分布進(jìn)行正規(guī)化的層
基于Batch Norm的效果:使用Batch Norm后,學(xué)習(xí)進(jìn)行得更快了, 通過使用Batch Norm,可以推動(dòng)學(xué)習(xí)的進(jìn)行。并且,對權(quán)重初 始值變得健壯 ( “對初始值健壯” 表示不那么依賴初始值) 。Batch Norm具備 了如此優(yōu)良的性質(zhì),一定能應(yīng)用在更多場合中
?
?
解決過擬合:
?
1 權(quán)值衰減是一直以來經(jīng)常被使用的一種抑制過擬合的方法。該方法通過在學(xué)習(xí)的過程中對大的權(quán)重進(jìn)行懲罰,來抑制過擬合。(很多過擬合原本就是因?yàn)闄?quán)重參數(shù)取值過大才發(fā)生的)
方法是:?損失函數(shù)加上權(quán)重的平方范數(shù) (L2范數(shù)) 。這樣一來,就可以抑制權(quán)重變大。
?
?
?
?
?
?
?
數(shù)據(jù)集分成了訓(xùn)練數(shù)據(jù), 測試數(shù)據(jù)和 驗(yàn)證數(shù)據(jù)
訓(xùn)練數(shù)據(jù)用于學(xué)習(xí)
測試數(shù)據(jù)用于評估泛化能力
驗(yàn)證數(shù)據(jù)用于調(diào)整超參數(shù)的數(shù)據(jù)
為什么不能用測試數(shù)據(jù)評估超參數(shù)的性能呢?這是因?yàn)槿绻褂脺y試數(shù) 據(jù)調(diào)整超參數(shù),超參數(shù)的值會(huì)對測試數(shù)據(jù)發(fā)生過擬合
?
?
?
?
池化層
在圖像識(shí)別領(lǐng)域,主要使用Max池化
使用im2col展開輸入數(shù)據(jù)
池化層的實(shí)現(xiàn)流程:池化的應(yīng)用區(qū)域內(nèi)的最大值元素用灰色表示
?
?
由此可以認(rèn)為今后半精度浮點(diǎn)數(shù)將 被作為標(biāo)準(zhǔn)使用 (16位的半精度浮點(diǎn) 數(shù)(half float))
轉(zhuǎn)載于:https://www.cnblogs.com/clemente/p/10096326.html
總結(jié)
以上是生活随笔為你收集整理的深度神经网络关键词解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 7 通过yum安装dnf
- 下一篇: 通过git将本地代码上传码云