중심 RMSProp 알고리즘에 따라 '*var'를 업데이트합니다.
중심이 있는 RMSProp 알고리즘은 (중심이 없는) 두 번째 모멘트를 사용하는 일반 RMSProp과 달리 정규화를 위해 중심이 있는 두 번째 모멘트(즉, 분산)의 추정치를 사용합니다. 이는 훈련에 도움이 되는 경우가 많지만 계산 및 메모리 측면에서 약간 더 비쌉니다.
이 알고리즘의 밀집 구현에서 mg, ms 및 mom은 grad가 0인 경우에도 업데이트되지만 이 희소 구현에서는 mg, ms 및 mom은 grad가 0인 동안 반복에서 업데이트되지 않습니다.
평균 제곱 = 붕괴 * 평균 제곱 + (1-감쇠) * 기울기 ** 2 평균 그라디언트 = 붕괴 * 평균 그라디언트 + (1-감쇠) * 기울기
델타 = 학습 속도 * 기울기 / sqrt(평균 제곱 + 엡실론 - 평균 그라디언트 ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- 모멘텀 * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + 엡실론) var <- var - mom
중첩 클래스
수업 | ResourceApplyCenteredRmsProp.Options | ResourceApplyCenteredRmsProp 의 선택적 속성 |
상수
끈 | OP_NAME | TensorFlow 코어 엔진에서 알려진 이 작업의 이름 |
공개 방법
static <T는 TType을 확장합니다. > ResourceApplyCenteredRmsProp | |
정적 ResourceApplyCenteredRmsProp.Options | useLocking (부울 useLocking) |
상속된 메서드
상수
공개 정적 최종 문자열 OP_NAME
TensorFlow 코어 엔진에서 알려진 이 작업의 이름
공개 방법
public static ResourceApplyCenteredRmsProp create ( 범위 범위, 피연산자 <?> var, 피연산자 <?> mg, 피연산자 <?> ms, 피연산자 <?> mom, 피연산자 <T> lr, 피연산자 <T> rho, 피연산자 <T> 추진력, 피연산자 <T> 엡실론, 피연산자 <T> grad, 옵션... 옵션)
새로운 ResourceApplyCenteredRmsProp 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
매개변수
범위 | 현재 범위 |
---|---|
var | Variable()에서 가져와야 합니다. |
mg | Variable()에서 가져와야 합니다. |
ms | Variable()에서 가져와야 합니다. |
엄마 | Variable()에서 가져와야 합니다. |
난 | 배율 인수. 스칼라여야 합니다. |
로 | 부패율. 스칼라여야 합니다. |
기세 | 모멘텀 규모. 스칼라여야 합니다. |
엡실론 | 능선 용어. 스칼라여야 합니다. |
졸업생 | 그라데이션입니다. |
옵션 | 선택적 속성 값을 전달합니다. |
보고
- ResourceApplyCenteredRmsProp의 새 인스턴스
공개 정적 ResourceApplyCenteredRmsProp.Options useLocking (부울 useLocking)
매개변수
사용잠금 | 'True'인 경우 var, mg, ms 및 mom 텐서 업데이트는 잠금으로 보호됩니다. 그렇지 않으면 동작이 정의되지 않지만 경합이 덜 나타날 수 있습니다. |
---|