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