当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.uniform_unit_scaling_initializer用法及代码示例


生成没有缩放方差的张量的初始化程序。

用法

tf.compat.v1.uniform_unit_scaling_initializer(
    factor=1.0, seed=None, dtype=tf.dtypes.float32
)

参数

  • factor 浮点数。一个乘法因子,值将被缩放。
  • seed 一个 Python 整数。用于创建随机种子。有关行为,请参见tf.compat.v1.set_random_seed
  • dtype 默认数据类型,如果在调用初始化程序时没有提供 dtype 参数,则使用该类型。仅支持浮点类型。

在初始化深度网络时,原则上保持输入方差的规模不变是有利的,因此它不会在到达最后一层时爆炸或减小。如果输入是 x 和操作 x * W ,并且我们想随机初始化 W ,我们需要从中选择 W

[-sqrt(3) / sqrt(dim), sqrt(3) / sqrt(dim)]

保持比例不变,其中dim = W.shape[0](输入的大小)。卷积网络的类似计算给出了类似的结果,dim 等于前 3 个维度的乘积。当存在非线性时,我们需要将其乘以常数 factor 。请参阅 (Sussillo et al., 2014) 了解更深入的动机、实验和常数的计算。在第 2.3 节中,常数是用数值计算的:对于线性层,它是 1.0,relu:~1.43,tanh:~1.15。

参考:

Sussillo 等人,2014 年(pdf)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.uniform_unit_scaling_initializer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。