เทนเซอร์โฟลว์ :: ops :: SparseApplyCenteredRMSProp

#include <training_ops.h>

อัปเดต '* var' ตามอัลกอริทึม RMSProp ที่อยู่ตรงกลาง

สรุป

อัลกอริทึม RMSProp ที่อยู่ตรงกลางใช้ค่าประมาณของช่วงเวลาที่สองที่อยู่ตรงกลาง (กล่าวคือความแปรปรวน) สำหรับการทำให้เป็นมาตรฐานตรงข้ามกับ RMSProp ปกติซึ่งใช้ช่วงเวลาที่สอง (ไม่อยู่กึ่งกลาง) สิ่งนี้มักช่วยในการฝึกอบรม แต่มีราคาแพงกว่าเล็กน้อยในแง่ของการคำนวณและหน่วยความจำ

โปรดทราบว่าในการใช้อัลกอริทึมนี้อย่างหนาแน่น mg, ms และ mom จะอัปเดตแม้ว่าระดับการเรียนจะเป็นศูนย์ แต่ในการใช้งานแบบเบาบางนี้ mg, ms และ mom จะไม่อัปเดตในการทำซ้ำในระหว่างที่คะแนนเป็นศูนย์

mean_square = การสลายตัว * mean_square + (1- การสลายตัว) * การไล่ระดับสี ** 2 mean_grad = การสลายตัว * mean_grad + (1-สลายตัว) * gradient Delta = learning_rate * gradient / 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$$

อาร์กิวเมนต์:

  • ขอบเขต: วัตถุ ขอบเขต
  • var: ควรมาจากตัวแปร ()
  • mg: ควรมาจากตัวแปร ()
  • ms: ควรมาจากตัวแปร ()
  • แม่: ควรมาจากตัวแปร ()
  • lr: ปัจจัยการปรับขนาด ต้องเกลา.
  • rho: อัตราการสลายตัว ต้องเกลา.
  • epsilon: ระยะสัน ต้องเกลา.
  • ผู้สำเร็จการศึกษา: การไล่ระดับสี
  • ดัชนี: เวกเตอร์ของดัชนีในมิติแรกของ var, ms และ mom

แอตทริบิวต์เสริม (ดู Attrs ):

  • use_locking: หากเป็น True อัพเดตเทนเซอร์ var, mg, ms และ mom จะได้รับการป้องกันโดยการล็อค มิฉะนั้นพฤติกรรมนั้นไม่ได้กำหนดไว้ แต่อาจมีความขัดแย้งน้อยกว่า

ผลตอบแทน:

  • Output : เหมือนกับ "var"

ผู้สร้างและผู้ทำลาย

SparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices)
SparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyCenteredRMSProp::Attrs & attrs)

คุณลักษณะสาธารณะ

operation
out

หน้าที่สาธารณะ

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

ฟังก์ชั่นคงที่สาธารณะ

UseLocking (bool x)

โครงสร้าง

tensorflow :: ops :: SparseApplyCenteredRMSProp :: Attrs

ตัวตั้งค่าแอตทริบิวต์เสริมสำหรับ SparseApplyCenteredRMSProp

คุณลักษณะสาธารณะ

การดำเนินการ

Operation operation

ออก

::tensorflow::Output out

หน้าที่สาธารณะ

SparseApplyCenteredRMSProp

 SparseApplyCenteredRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input mg,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices
)

SparseApplyCenteredRMSProp

 SparseApplyCenteredRMSProp(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input mg,
  ::tensorflow::Input ms,
  ::tensorflow::Input mom,
  ::tensorflow::Input lr,
  ::tensorflow::Input rho,
  ::tensorflow::Input momentum,
  ::tensorflow::Input epsilon,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  const SparseApplyCenteredRMSProp::Attrs & attrs
)

โหนด

::tensorflow::Node * node() const 

ตัวดำเนินการ :: tensorflow :: อินพุต

 operator::tensorflow::Input() const 

ตัวดำเนินการ :: tensorflow :: เอาต์พุต

 operator::tensorflow::Output() const 

ฟังก์ชั่นคงที่สาธารณะ

ใช้ล็อค

Attrs UseLocking(
  bool x
)