深度學習 深度學習基礎知識 Adagrad

2021-10-03 23:25:59 字數 997 閱讀 7482

adagrad是一種基於梯度的優化演算法:它將學習速率與引數相適應,對不同的變數提供不同的學習率(它增加了罕見但資訊豐富的特徵的影響)。因此,它非常適合處理稀疏資料。

在基本的梯度下降法優化中,有個乙個常見問題是,要優化的變數對於目標函式的依賴是各不相同的。對於某些變數,已經優化到了極小值附近,但是有的變數仍然在梯度很大的地方,這時候乙個統一的全域性學習率是可能出現問題的。如果學習率太小,則梯度很大的變數會收斂很慢,如果學習率太大,已經趨於收斂的變數可能會不穩定。下圖就是原始sgd更新引數的方式:

針對上面的問題,adagrad(adaptive gradient)優化方法出現了,字面上理解就是自適應學習率。adagrad的基本思想是對每個變數用不同的學習率,這個學習率在一開始比較大,用於快速梯度下降。隨著優化過程的進行,對於已經下降很多的變數,則減緩學習率,對於還沒怎麼下降的變數,則保持乙個較大的學習率:

上式中t

tt代表迭代的次數。ϵ

ϵϵ一般是乙個極小值,作用是防止分母為0 。gi,

tg_i,t

gi​,

t表示了前t

tt 步引數θ

iθ_i

θi​梯度的平方累加.把沿路的gradient的平方根,作為regularizer。分母作為regularizer項的工作機制如下:

訓練前期,梯度較小,使得regularizer項很大,放大梯度。[激勵階段]

訓練後期,梯度較大,使得regularizer項很小,縮小梯度。[懲罰階段]

adagrad的缺點是雖然不同變數有了各自的學習率,但是初始的全域性學習率還是需要手工指定。如果全域性學習率過大,優化同樣不穩定;而如果全域性學習率過小,因為adagrad的特性,隨著優化的進行,學習率會越來越小,很可能還沒有到極值就停滯不前了。

深度學習基礎知識整理

卷積神經網路相關知識 池化層 作用是在語義上把相似的特徵合併起來。卷積神經網路的應用 檢測 分割 物體識別以及影象的各個領域。這些應用都是使用了大量的有標籤的資料。比如交通訊號識別,生物資訊分割,面部探測,文字 行人以及自然圖形中的人的身體部分的探測。今年,卷積神經網路的乙個重大成功應用是人臉識別。...

深度學習基礎知識介紹

這是一篇medium上獲得近2萬讚的深度學習入門指南,用 為你詳解深度學習中的各個基礎概念。在我們的日常生活中,幾乎隨處可見ai和機器學習這些術語。但,絕大多數人並不明白什麼是ai。理解深度學習如何工作的第一步是掌握下列重要術語之間的區別。1 人工智慧 ai v.s.機器學習 ml 人工智慧是對人類...

深度學習基礎知識框架

作為剛入門的新手來說,cs231n提供了乙個特別好的深度學習框架,本人也在學習這門課程,我以2018年課程計畫為藍本,把知識拆成小的部分,打算有時間乙個乙個的弄懂 課目主題 知識點備註 lecture 1 課程概述 course introduction 計算機視覺概述 computer visio...