อัปเดต '*var' ตามอัลกอริทึม RMSProp ที่อยู่กึ่งกลาง
อัลกอริธึม RMSProp ที่มีศูนย์กลางใช้การประมาณค่าของโมเมนต์ที่สองที่อยู่ตรงกลาง (เช่น ความแปรปรวน) สำหรับการทำให้เป็นมาตรฐาน ตรงข้ามกับ RMSProp ปกติ ซึ่งใช้โมเมนต์ที่สอง (ไม่อยู่ศูนย์กลาง) ซึ่งมักจะช่วยในการฝึกอบรม แต่จะมีราคาแพงกว่าเล็กน้อยในแง่ของการคำนวณและหน่วยความจำ
โปรดทราบว่าในการใช้อัลกอริธึมนี้อย่างหนาแน่น mg, ms และ mom จะอัปเดตแม้ว่าผู้สำเร็จการศึกษาจะเป็นศูนย์ แต่ในการใช้งานแบบเบาบางนี้ mg, ms และ mom จะไม่อัปเดตในการวนซ้ำในระหว่างที่ผู้สำเร็จการศึกษาเป็นศูนย์
Mean_square = การสลาย * Mean_Square + (1-การสลายตัว) * การไล่ระดับสี ** 2 Mean_grad = การสลาย * Mean_grad + (1-การสลายตัว) * การไล่ระดับสี
เดลต้า = อัตราการเรียนรู้ * การไล่ระดับสี / sqrt (mean_square + epsilon - meme_grad ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- โมเมนตัม * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - แม่
คลาสที่ซ้อนกัน
ระดับ | ApplyCenteredRmsProp.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ ApplyCenteredRmsProp |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
เอาท์พุต <T> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <T ขยาย TType > ApplyCenteredRmsProp <T> | สร้าง ( ขอบเขต ขอบเขต ตัวดำเนินการ <T> var, ตัว ดำเนินการ <T> mg, ตัว ถูกดำเนินการ <T> ms, ตัวถูกดำเนินการ <T> mom, ตัวถูกดำเนินการ <T> lr, ตัวถูกดำเนินการ <T> rho, ตัวถูกดำเนินการ <T> โมเมนตัม, ตัว ถูกดำเนินการ <T > เอปไซลอน, ตัวดำเนินการ <T> ผู้สำเร็จการศึกษา, ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ApplyCenteredRmsProp ใหม่ |
เอาท์พุต <T> | ออก () เช่นเดียวกับ "var" |
ApplyCenteredRmsProp.Options แบบคงที่ | useLocking (การใช้ล็อคแบบบูลีน) |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
เอาท์ พุท สาธารณะ <T> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
สาธารณะ ApplyCenteredRmsProp <T> สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> var, ตัวดำเนินการ <T> mg, ตัวดำเนินการ <T> ms, ตัวดำเนินการ <T> แม่, ตัวดำเนินการ <T> lr, ตัวดำเนินการ <T> rho, ตัวดำเนินการ <T > โมเมนตัม, ตัวดำเนินการ <T> เอปไซลอน, ตัวดำเนินการ <T> ผู้สำเร็จการศึกษา, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ApplyCenteredRmsProp ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
var | ควรมาจากตัวแปร () |
มก | ควรมาจากตัวแปร () |
นางสาว | ควรมาจากตัวแปร () |
แม่ | ควรมาจากตัวแปร () |
ล | ปัจจัยการปรับขนาด ต้องเป็นสเกลาร์ |
โร | อัตราการสลายตัว ต้องเป็นสเกลาร์ |
โมเมนตัม | ระดับโมเมนตัม ต้องเป็นสเกลาร์ |
เอปไซลอน | ระยะริดจ์ ต้องเป็นสเกลาร์ |
ผู้สำเร็จการศึกษา | การไล่ระดับสี |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ ApplyCenteredRmsProp
สาธารณะ ApplyCenteredRmsProp.Options useLocking แบบคงที่ (useLocking แบบบูลีน)
พารามิเตอร์
ใช้ล็อค | หากเป็น "จริง" การอัปเดต var, mg, ms และ mom tensors ได้รับการปกป้องด้วยการล็อค มิฉะนั้นพฤติกรรมจะไม่ได้กำหนดไว้ แต่อาจแสดงความขัดแย้งน้อยลง |
---|