18 批標準化 超引數選擇原則

2021-10-11 14:45:15 字數 1252 閱讀 7528

batch normalization ,批標準化和普通的資料標準化類似,是將分散的資料統一的一種方法,也是優化神經網路的一種方法。

批標準化,不僅在將資料輸入模型之前對資料做標準化,而且還在網路的每一次變換之後都做標準化。即使在訓練過程中均值和方差隨時間發生變化,它也可以適應性地將資料標準化。

我們知道在資料預處理時做標準化可以加速收斂,同理,在神經網路中使用標準化也可以加速收斂,而且還有更多的好處。

(1)具有正則化的效果

(2)提高模型的泛化能力

(3)允許更高的學習速率從而加速收斂

(4)批標準化有助於梯度傳播,因此允許更深的網路,對於有些特別深的網路,只有包含多個batchnormalization 層時才能進行訓練

batchnormalization 廣泛用於keras 內建的高階卷積神經網路架構,比如resnet50、inception v3 和xception.

batchnormalization 層通常在卷積層或密集連線層之後使用。

layers.batchnormalization()

網路容量: 可以認為其與網路中的可訓練引數成正比。 網路中的神經單元數越多,層數越多,神經網路的擬合能力越強,但是隨著神經單元數的增多,訓練難度將增加,訓練速度也將減緩,越容易出現過擬合。

所謂的超引數,也就是搭建神經網路中,需要我們自己選擇的引數。比如中間層的神經元個數、學習速率等。(網路的權重,偏置等那些通過梯度下降優化出來的引數不是超引數)

在說如何選擇超引數之前,先想一下如何提高網路的擬合能力?

一種顯然的想法是增大網路容量:

1、增加層

2、增加隱藏神經元的個數

那這兩種方法哪一種更好呢?

單純的增加神經元個數對於網路效能的提高並不明顯,然而增加層會大大的提高網路的擬合能力,這也是為什麼現在深度學習的層越來越深的原因。(但是單層的神經元個數也不能設定得太小,不然會造成資訊瓶頸,會丟失有用資訊,使得模型欠擬合)

話說回來,好的引數選擇可以將模型調成理想模型,理想模型就是剛好在欠擬合和過擬合的界線上,也就是正好擬合資料。

步驟:首先開發乙個過擬合的模型:

(1)新增更多的層

(2)讓每一層變得更大。

(3)訓練更多的輪次。

然後,抑制過擬合:

(1)dropout

(2) 正則化

(3)影象增強

再次,調節超引數: 學習速率,隱藏層單元數,訓練輪次。

超引數選擇沒有捷徑(除非運氣好到爆,一下就弄對了),它是乙個經驗與不斷測試的結果,所以慢慢積累經驗吧

批標準化 Batch Norm

bn作用 加速收斂 控制過擬合,可以少用或不用dropout和正則 降低網路對初始化權重不敏感 允許使用較大的學習率 一 如何加速收斂?通過歸一化輸入值 隱藏單元值,以獲得類似的範圍值,可加速學習。限制了在前層的引數更新會影響數值分布的程度,使層的輸出更加穩定,神經網路的之後的層就會有更堅實的基礎 ...

深度學習批標準化

傳統機器學習中標準化也叫做歸一化,一般是將資料對映到指定的範圍,用於去除不同維度資料的量綱以及量綱單位。資料標準化讓機器學習模型看到的不同樣本彼此之間更加相似,這有助於模型的學習與對新資料的泛化。常見的資料標準化形式 標準化和歸一化,將資料減去其平均值使其中心為 0,然後將資料除以其標準差使其標準差...

SEO工作中URL標準化的12條原則

完整的seo 優化過程式設計客棧程中,url標準化是乙個不可或缺的步驟,在這裡筆者結合自己的經驗做乙個總結性的歸納與分類,提醒大家夥兒在以後的url優化中,能夠分清該做那些工作 要避免哪些失誤,以便提高seo工作的效率。以下是整理的一些技巧,也許在短時期內你可能沒看到什麼效果,但對於 優化的長期發展...