ตัวเริ่มต้น Glorot หรือที่เรียกว่าตัวเริ่มต้น Xavier
ดึงตัวอย่างจากการแจกแจงแบบสุ่ม
หากการแจกแจงเป็น TRUNCATED_NORMAL การแจกแจงจะมีศูนย์กลางอยู่ที่ 0 โดยมี stddev = Math.sqrt(2. / (fanIn + fanOut)) โดยที่ fanIn คือจำนวนหน่วยอินพุตในเทนเซอร์น้ำหนัก และ fanOut คือจำนวนหน่วยเอาต์พุตใน เทนเซอร์น้ำหนัก
หากการกระจายเป็นแบบ UNIFORM ตัวอย่างจะถูกดึงมาจากการกระจายแบบสม่ำเสมอภายใน [-limit, limit] โดยที่ limit = sqrt(6 / (fanIn + fanOut)) ( fanIn คือจำนวนหน่วยอินพุตในเทนเซอร์น้ำหนักและ fanOut คือ จำนวนหน่วยเอาต์พุต)
ตัวอย่าง:
โกลรอท ปกติ:
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);
ชุด 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);
บันทึก:
สำหรับตัวเริ่มต้นที่เทียบเท่ากับ GlorotNormal ให้ใช้ TRUNCATED_NORMAL สำหรับพารามิเตอร์การกระจาย
สำหรับตัวเริ่มต้นที่เทียบเท่ากับ GlorotUniform ให้ใช้ UNIFORM สำหรับพารามิเตอร์การแจกแจง
ดูเพิ่มเติม
ค่าคงที่
| สองเท่า | มาตราส่วน |
ค่าคงที่ที่สืบทอดมา
ฟิลด์ที่สืบทอดมา
คอนสตรัคชั่นสาธารณะ
วิธีการสืบทอด
ค่าคงที่
สเกล คู่สุดท้ายแบบคงที่สาธารณะ
คอนสตรัคชั่นสาธารณะ
Glorot สาธารณะ (Ops tf, VarianceScaling.Distribution distribution, long seed)
สร้างเครื่องมือเริ่มต้น Glorot
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| การกระจาย | ประเภทการแจกจ่ายสำหรับตัวเริ่มต้น Glorot |
| เมล็ดพันธุ์ | เมล็ดพันธุ์สำหรับการสร้างตัวเลขสุ่ม ตัวเริ่มต้นที่สร้างขึ้นด้วยเมล็ดที่กำหนดจะสร้างเทนเซอร์แบบสุ่มเหมือนกันสำหรับรูปร่างและประเภทที่กำหนดเสมอ |