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