zoukankan      html  css  js  c++  java
  • 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约束
  • 相关阅读:
    Struts2.5 利用Ajax将json数据传值到JSP
    io/nio
    Elasticsearch 、 Logstash以及Kibana 分布式日志
    zookeeper
    mybatis
    Kubemetes
    线程池
    @Builder
    jdk命令行工具系列
    什么是分布式事务
  • 原文地址:https://www.cnblogs.com/wzdLY/p/9726884.html
Copyright © 2011-2022 走看看