BatchNormalization批量歸一化


動機:

防止隱層分布多次改變,BN讓每個隱層節點的激活輸入分布縮小到-1和1之間.

好處:

縮小輸入空間,從而降低調參難度;防止梯度爆炸/消失,從而加速網絡收斂.

BN計算公式: 

 

keras.layers.normalization.BatchNormalization(axis=-1,momentum=0.99,epsilon=0.001,center=True,scale=True,beta_initializer='zeros',gamma_initializer='ones',moving_mean_initializer='zeros',moving_variance_initializer='ones',beta_regularizer=None,gamma_regularizer=None,beta_constraint=None,gamma_constraint=None)

參數

  • axis: 整數,指定要規范化的軸,通常為特征軸。例如在進行data_format="channels_first的2D卷積后,一般會設axis=1。
  • momentum: 動態均值的動量
  • epsilon:大於0的小浮點數,用於防止除0錯誤
  • center: 若設為True,將會將beta作為偏置加上去,否則忽略參數beta
  • scale: 若設為True,則會乘以gamma,否則不使用gamma。當下一層是線性的時,可以設False,因為scaling的操作將被下一層執行。
  • beta_initializer:beta權重的初始方法
  • gamma_initializer: gamma的初始化方法
  • moving_mean_initializer: 動態均值的初始化方法
  • moving_variance_initializer: 動態方差的初始化方法
  • beta_regularizer: 可選的beta正則
  • gamma_regularizer: 可選的gamma正則
  • beta_constraint: 可選的beta約束
  • gamma_constraint: 可選的gamma約束


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM