tensorflow::ops::ApplyCenteredRMSProp

#include <training_ops.h>

Cập nhật '*var' theo thuật toán RMSProp đã được căn giữa.

Bản tóm tắt

Thuật toán RMSProp trung tâm sử dụng ước lượng của mômen bậc hai trung tâm (tức là phương sai) để chuẩn hóa, trái ngược với RMSProp thông thường, sử dụng mômen bậc hai (không trung tâm). Điều này thường giúp ích cho quá trình huấn luyện, nhưng tốn kém hơn một chút về mặt tính toán và bộ nhớ.

Lưu ý rằng trong cách triển khai dày đặc của thuật toán này, mg, ms và mom sẽ được cập nhật ngay cả khi grad bằng 0, nhưng trong cách triển khai thưa thớt này, mg, ms và mom sẽ không được cập nhật trong các lần lặp mà grad bằng 0.

bình phương trung bình = suy giảm * bình phương trung bình + (1-suy giảm) * độ dốc ** 2 độ dốc trung bình = suy giảm * độ dốc trung bình + (1-suy giảm) * độ dốc

Delta = tốc độ học * độ dốc / căn bậc hai của bình phương trung bình + ε - độ dốc trung bình ** 2)

mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mom

Luận điểm:

  • phạm vi: Một đối tượng Phạm vi
  • var: Nên được lấy từ một biến Variable().
  • mg: Nên lấy từ một biến (Variable).
  • ms: Nên lấy từ một biến().
  • Mẹ: Nó phải được lấy từ một biến (Variable).
  • lr: Hệ số tỷ lệ. Phải là một đại lượng vô hướng.
  • rho: Tốc độ phân rã. Phải là một đại lượng vô hướng.
  • epsilon: Hệ số đỉnh. Phải là một đại lượng vô hướng.
  • grad: Độ dốc.

Các thuộc tính tùy chọn (xem Attrs ):

  • use_locking: Nếu True , việc cập nhật các tensor var, mg, ms và mom được bảo vệ bằng khóa; ngược lại, hành vi không được xác định, nhưng có thể ít xảy ra xung đột hơn.

Trả về:

  • Output : Giống như "var".

Hàm khởi tạo và hàm hủy

ApplyCenteredRMSProp (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)
ApplyCenteredRMSProp (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, const ApplyCenteredRMSProp::Attrs & attrs)

Thuộc tính công khai

operation
out

Chức năng công cộng

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

Các hàm tĩnh công khai

UseLocking (bool x)

Cấu trúc

tensorflow::ops::ApplyCenteredRMSProp::Attrs

Các thiết lập thuộc tính tùy chọn cho ApplyCenteredRMSProp .

Thuộc tính công khai

hoạt động

Operation operation

ngoài

::tensorflow::Output out

Chức năng công cộng

ApplyCenteredRMSProp

 ApplyCenteredRMSProp(
  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
)

ApplyCenteredRMSProp

 ApplyCenteredRMSProp(
  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,
  const ApplyCenteredRMSProp::Attrs & attrs
)

nút

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const 

Các hàm tĩnh công khai

Sử dụng khóa

Attrs UseLocking(
  bool x
)