dòng chảy căng:: ôi:: SparseApplyCenteredRMSProp

#include <training_ops.h>

Cập nhật '*var' theo thuật toán RMSProp tập trung.

Bản tóm tắt

Thuật toán RMSProp tập trung sử dụng ước tính mô men thứ hai ở giữa (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 thứ hai (không tập trung). Điều này thường giúp ích cho việc đào tạo nhưng đắt hơn một chút về mặt tính toán và bộ nhớ.

Lưu ý rằng khi triển khai dày đặc thuật toán này, mg, ms và mom sẽ 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ập nhật trong các lần lặp trong đó grad bằng 0.

trung bình_bình phương = phân rã * trung bình_bình phương + (1-phân rã) * gradient ** 2 trung bình_grad = phân rã * trung bình_grad + (1 phân rã) * gradient Delta = tốc độ học tập * gradient / sqrt(trung_bình + epsilon - trung bình_grad ** 2)

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

Lập luận:

  • phạm vi: Một đối tượng Phạm vi
  • var: Phải từ một Biến().
  • mg: Phải từ một Biến().
  • ms: Phải từ một Biến().
  • mẹ: Phải từ một Biến().
  • lr: Hệ số tỷ lệ. Phải là một vô hướng.
  • rho: Tốc độ phân rã. Phải là một vô hướng.
  • epsilon: Thuật ngữ sườn núi. Phải là một vô hướng.
  • grad: Độ dốc.
  • chỉ số: Một vectơ chỉ số vào chiều thứ nhất của var, ms và mom.

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; mặt khác, hành vi không được xác định, nhưng có thể ít gây tranh cãi hơn.

Trả về:

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

Hàm tạo và hàm hủy

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)

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:: SparseApplyCenteredRMSProp:: Attrs

Bộ cài đặt thuộc tính tùy chọn cho SparseApplyCenteredRMSProp .

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

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
)

nút

::tensorflow::Node * node() const 

toán tử::tenorflow::Đầu vào

 operator::tensorflow::Input() const 

toán tử::tenorflow::Đầu ra

 operator::tensorflow::Output() const 

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

Sử dụngKhóa

Attrs UseLocking(
  bool x
)