Penginisialisasi Glorot, juga disebut penginisialisasi Xavier.
Mengambil sampel dari distribusi acak.
Jika sebarannya TRUNCATED_NORMAL, maka sebarannya berpusat pada 0 dengan stddev = Math.sqrt(2. / (fanIn + fanOut))
dimana fanIn
adalah banyaknya unit masukan pada tensor bobot dan fanOut
adalah banyaknya unit keluaran dalam tensor berat.
Jika distribusinya SERAGAM, maka sampel diambil dari distribusi seragam dalam [-limit, limit]
, dengan limit = sqrt(6 / (fanIn + fanOut))
( fanIn
adalah jumlah unit masukan dalam tensor bobot dan fanOut
adalah jumlah unit keluaran).
Contoh:
Glorot Normal:
long seed = 1001l; Glorot<TFloat32, TFloat32> initializer = new org.tensorflow.framework.initializers.Glorot<>(tf, Distribution.TRUNCATED_NORMAL, seed); Operand<TFloat32> values = initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
Seragam Glorot:
long seed = 1001l; Glorot<TFloat32, TFloat32> initializer = new org.tensorflow.framework.initializers.Glorot<>(tf, Distribution.UNIFORM, seed); Operand<TFloat32> values = initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
CATATAN:
Untuk penginisialisasi setara GlorotNormal, gunakan TRUNCATED_NORMAL
untuk parameter distribusi.
Untuk penginisialisasi setara GlorotUniform, gunakan UNIFORM
untuk parameter distribusi.
Lihat juga
Konstanta
dobel | SKALA |
Konstanta yang Diwarisi
Bidang Warisan
Konstruktor Publik
Metode Warisan
Konstanta
SKALA ganda akhir statis publik
Konstruktor Publik
public Glorot (Ops tf, VarianceScaling.Distribusi distribusi, benih panjang)
Membuat inisialisasi Glorot
Parameter
tf | Operasi TensorFlow |
---|---|
distribusi | Jenis distribusi untuk penginisialisasi Glorot. |
benih | benih untuk menghasilkan angka acak. Penginisialisasi yang dibuat dengan benih tertentu akan selalu menghasilkan tensor acak yang sama untuk bentuk dan tipe tertentu. |