tensorflow:: ops:: SparseApplyProximalAdagrad
#include <training_ops.h>FOBOS 알고리즘에 따라 '*var' 및 '*accum'에 업데이트 항목이 드물게 나타납니다.
요약
즉, grad 값이 있는 행의 경우 var와 accum을 다음과 같이 업데이트합니다.
$$accum += grad * grad$$
$$prox_v = var$$
$$prox_v -= lr * grad * (1 / sqrt(accum))$$
$$var = sign(prox_v)/(1+lr*l2) * max{|prox_v|-lr*l1,0}$$
논거:
- 범위: Scope 객체
- var: Variable()에서 가져온 값이어야 합니다.
- accum: Variable()에서 가져와야 합니다.
- lr: 학습률. 스칼라 값이어야 합니다.
- l1: L1 정규화. 스칼라 값이어야 합니다.
- l2: L2 정규화. 스칼라 값이어야 합니다.
- grad: 기울기.
- 인덱스: var와 accum의 첫 번째 차원에 대한 인덱스 벡터입니다.
선택적 속성( Attrs 참조):
- use_locking: True로 설정하면 변수 및 누적 텐서 업데이트가 락으로 보호됩니다. 그렇지 않으면 동작은 정의되지 않지만 경합이 줄어들 수 있습니다.
보고:
-
Output: "var"와 동일합니다.
생성자와 소멸자 | |
|---|---|
SparseApplyProximalAdagrad (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input grad, :: tensorflow::Input indices) | |
SparseApplyProximalAdagrad (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyProximalAdagrad::Attrs & attrs) |
공개 속성 | |
|---|---|
operation | |
out | |
공공 기능 | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
공개 정적 함수 | |
|---|---|
UseLocking (bool x) | |
구조 | |
|---|---|
| 텐서플로우:: ops:: SparseApplyProximalAdagrad:: Attrs | SparseApplyProximalAdagrad 에 대한 선택적 속성 설정기입니다. |
공개 속성
작업
Operation operation
밖으로
::tensorflow::Output out
공공 기능
SparseApplyProximalAdagrad
SparseApplyProximalAdagrad( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input grad, ::tensorflow::Input indices )
SparseApplyProximalAdagrad
SparseApplyProximalAdagrad( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input grad, ::tensorflow::Input indices, const SparseApplyProximalAdagrad::Attrs & attrs )
마디
::tensorflow::Node * node() const
연산자::텐서플로우::입력
operator::tensorflow::Input() const
연산자::텐서플로우::출력
operator::tensorflow::Output() const
공개 정적 함수
잠금 사용
Attrs UseLocking( bool x )