丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能學術(shù) 正文
發(fā)私信給叢末
發(fā)送

0

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

本文作者: 叢末 2019-08-05 14:03
導(dǎo)語:聚焦網(wǎng)絡(luò)訓練時間過長,梯度消失與爆炸以及網(wǎng)絡(luò)初始化等問題進行優(yōu)化。

訓練一個深度神經(jīng)網(wǎng)絡(luò)以實現(xiàn)最佳的性能是一件具有挑戰(zhàn)的任務(wù)。在本文中,我將會探索這項任務(wù)中最常見的問題及其解決方案。這些問題包括網(wǎng)絡(luò)訓練時間過長,梯度消失與爆炸以及網(wǎng)絡(luò)初始化,我們在此統(tǒng)稱為優(yōu)化問題。而在訓練網(wǎng)絡(luò)中出現(xiàn)的另一類問題則稱作正則化問題,對此,我已經(jīng)在之前的文章中討論過了,如果你沒有閱讀過,可以點擊下方鏈接閱讀原文。

Improving Deep Neural Networks  

輸入數(shù)據(jù)標準化

當我們在訓練神經(jīng)網(wǎng)絡(luò)時,我們可能會注意到模型訓練的時間比預(yù)期的要久。這是因為網(wǎng)絡(luò)的輸入數(shù)據(jù)沒有進行標準化處理,讓我們嘗試通過下方兩個輸入特征來理解標準化的含義。

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

在原始數(shù)據(jù)中,數(shù)據(jù)的 X 軸(特征X)取值區(qū)間為5-50,Y軸(特征Y)取值區(qū)間為3-7。 另一方面,在標準化后的數(shù)據(jù)中,X軸取值區(qū)間時-0.15~0.15, Y軸的取值區(qū)間時-1.5~1.5。

通過標準化數(shù)據(jù),即縮放數(shù)值從而使其特征范圍非常接近:而標準化數(shù)據(jù)只需要兩步過程。

讓數(shù)據(jù)減去其均值,使得數(shù)據(jù)的均值為 0,之后再讓該數(shù)據(jù)除以其方差,從而縮放數(shù)據(jù)。

mu = np.mean(X)
X = X - mu

sigma = np.linalg.norm(X)
X = X/sigma

這里有一點值得注意的是,我們需要使用同樣的 mu 值和 sigma 值去轉(zhuǎn)換我們的測試數(shù)據(jù),因為我們想用同樣的方法來縮放它們。

為什么標準化會起作用呢? 

既然我們已經(jīng)知道了如何標準化數(shù)據(jù)集,那么讓我們試著理解為什么標準化能夠在下面的示例中起作用。下面是成本值 J,權(quán)重 W 和偏差 b 之間的等高線圖。中心表示我們必須達到的最小成本。 

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

右邊的圖看起來更對稱,這是標準化背后的工作原理的關(guān)鍵。

如果特征的范圍變化很大,則不同權(quán)重的值也會隨著發(fā)生很大的變化,并且將花費更多的時間來選擇完美的權(quán)重集。然而,如果我們使用標準化數(shù)據(jù),那么權(quán)重就不會有很大的變化,從而在較短的時間內(nèi)獲得理想的權(quán)重集。

此外,如果使用原始數(shù)據(jù),則必須使用較低的學習率來適應(yīng)不同的等高線高度。但是在歸一化數(shù)據(jù)的情況下,我們有更多的球面輪廓,通過選擇更大的學習速率,我們可以直接實現(xiàn)最小值。 

當特征在相似的尺度上時,優(yōu)化權(quán)重和偏差變得容易。 

梯度消失和梯度爆炸

梯度消失和梯度爆炸問題源于權(quán)值的初始化。 以上兩個問題都導(dǎo)致網(wǎng)絡(luò)的訓練不當和速度較慢問題。正如其名稱所暗示的那樣,當權(quán)重消失并最終變得太小時,就會出現(xiàn)梯度消失;然而在梯度爆炸中,權(quán)重會爆炸并變得過大。讓我們用一個案例來更好地理解它們。 

設(shè) W 是與單位矩陣 I  相近的經(jīng)初始化的所有層的權(quán)重矩陣。

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

在前向傳播中,一個特定層的輸出 Z  由以下公式定義,其中 W 是權(quán)重矩陣,X 是輸入,b 是偏差:

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

如果我們在 L 層(L 為層數(shù))上執(zhí)行上述計算,那么我們可以假設(shè)權(quán)重矩陣 W  將乘以 L 次,忽略偏差。

現(xiàn)在,如果特定值大于 1 ,例如 1.5,則層的激活將呈指數(shù)遞增,梯度將變大的,與此同時梯度下降將采取大的步長,并且網(wǎng)絡(luò)將花費很長時間來達到最小值。這種問題被稱為梯度爆炸。

同樣的,如果特定值小于 1,例如 0.9,則層的激活將呈指數(shù)遞減,梯度將變得很小,與此同時梯度下降將采取小的步長,并且網(wǎng)絡(luò)將需要很長時間才能達到最小值。 這種問題被稱為梯度消失。

為了避免梯度爆炸和梯度消失的問題,我們應(yīng)該遵循以下規(guī)則 :

  • 1. 激活層的均值應(yīng)該為 0

  • 2. 激活層的方差應(yīng)該在每一層都保持不變。

如果遵循上述規(guī)則,則能夠確保梯度下降不會采取太大或太小的步長,并以有序的方式向最小值方向移動,從而避免了梯度爆炸和梯度消失問題。這也意味著網(wǎng)絡(luò)將以更快的速度進行訓練和優(yōu)化。由于問題的根源在于權(quán)值的初始化不當,所以我們可以通過正確地初始化權(quán)值來解決這個問題。

Xavier 初始化 

當特定層的激活函數(shù)為 Tanh 時,則使用 Xavier 初始化。我們可以按照以下方式使用 Xavier 初始化:

# Let the dimesnion of weight matrix be(5,3)
# The variance is (1/neurons in previous layer)
# Randn ensure that the mean = 0

W = np.random.randn(5,3) * np.sqrt(1/3))

He 初始化

當特定層的激活函數(shù)為 ReLU  時,可使用 He初始化。我們可以通過以下方式使用 He初始化: 

# Let the shape of the weight matrix be(5,3)
# The variance is (2/neurons in previous layer)
# Randn ensure that the mean = 0

W = np.random.randn(5,3) * np.sqrt(2/3))

相關(guān)參考:

Deep Learning Notes

Coursera — Deep Learning Course 2

via https://medium.com/analytics-vidhya/optimization-problem-in-deep-neural-networks-400f853af406

本文譯者:Ryan、肖書忠   雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

如何優(yōu)化深度神經(jīng)網(wǎng)絡(luò)?

分享:
相關(guān)文章
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說