當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。