当前位置:   article > 正文

神经网络参数初始化的常见方法

神经网络参数初始化的常见方法

参数初始化

bias偏置:直接初始化为0
weight权重:

  • 随机初始化

    • 在高斯分布的数据中随机采样
  • 标准初始化

    • 在均匀分布的随机数中采样
  • Xavier初始化
    该方法的基本思想是各层的激活值和梯度的方差在传播过程中保持一致,也叫做Glorot初始化。

    • 正态化Xavier初始化
      在这里插入图片描述

      import tensorflow as tf
      #正态分布的
      #实例化
      initializer = tf.keras.initializers.glorot_normal()
      values = initializer((9,1))
      print(values)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 标准化Xavier初始化

      在这里插入图片描述

      import tensorflow as tf
      #标准化的
      initializer = tf.keras.initializers.glorot_uniform()
      values = initializer((9,1))
      print(values)
      
      • 1
      • 2
      • 3
      • 4
      • 5
  • He初始化

    he初始化也称Kaiming初始化,出自大神何凯明之手,它的基本思想是正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。

    • 正态化的he初始化

      在这里插入图片描述

      import tensorflow as tf
      #正态分布
      initializer = tf.keras.initializers.he_normal()
      #采样得到权重
      values = initializer((9,1))
      print(values)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 标准化的he初始化

      在这里插入图片描述

      import tensorflow as tf
      #标准化-均匀分布
      initializer = tf.keras.initializers.he_uniform()
      #采样得到权重
      values = initializer((9,1))
      print(values)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/838905
推荐阅读
相关标签
  

闽ICP备14008679号