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