Zaktualizuj „*var” zgodnie z wyśrodkowanym algorytmem RMSProp.
Wyśrodkowany algorytm RMSProp wykorzystuje oszacowanie wyśrodkowanego drugiego momentu (tj. wariancji) do normalizacji, w przeciwieństwie do zwykłego RMSProp, który wykorzystuje (niewyśrodkowany) drugi moment. Często pomaga to w treningu, ale jest nieco droższe pod względem obliczeń i pamięci.
Należy zauważyć, że w gęstej implementacji tego algorytmu mg, ms i mama zostaną zaktualizowane, nawet jeśli grad wynosi zero, ale w tej rzadkiej implementacji mg, ms i mama nie będą aktualizowane w iteracjach, podczas których grad wynosi zero.
średnia_kwadrat = zanik * średnia_kwadrat + (1-zanik) * gradient ** 2 średnia_grad = zanik * średnia_grad + (1-zanik) * gradient
Delta = współczynnik uczenia się * gradient / sqrt(średnia_kwadrat + epsilon - średnia_grad ** 2)
mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mama <- pęd * mama_{t-1 } + lr * grad / sqrt(ms - mg * mg + epsilon) var <- var - mama
Klasy zagnieżdżone
klasa | ZastosujCenteredRmsProp.Options | Opcjonalne atrybuty ApplyCenteredRmsProp |
Stałe
Strunowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow |
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T rozszerza TType > ApplyCenteredRmsProp <T> | |
Wyjście <T> | na zewnątrz () To samo co „var”. |
statyczne ApplyCenteredRmsProp.Options | useLocking (boolowski useLocking) |
Metody dziedziczone
wartość logiczna | równa się (Obiekt arg0) |
ostatnia klasa<?> | pobierzKlasę () |
wew | hashCode () |
ostateczna pustka | powiadomić () |
ostateczna pustka | powiadom wszystkich () |
Strunowy | doString () |
ostateczna pustka | czekaj (długi arg0, int arg1) |
ostateczna pustka | czekaj (długi arg0) |
ostateczna pustka | Czekać () |
abstrakcyjne środowisko wykonania | środowisko () Zwróć środowisko wykonawcze, w którym utworzono tę operację. |
abstrakcyjna operacja |
streszczenie Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
streszczenie T | asTensor () Zwraca tensor tego operandu. |
abstrakcyjny kształt | |
Klasa abstrakcyjna<T> | typ () Zwraca typ tensora tego operandu |
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczne wyjście <T> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static ApplyCenteredRmsProp <T> create ( Zakres zakresu, Operand <T> var, Operand <T> mg, Operand <T> ms, Operand <T> mama, Operand <T> lr, Operand <T> rho, Operand <T > pęd, Operand <T> epsilon, Operand <T> grad, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację ApplyCenteredRmsProp.
Parametry
zakres | aktualny zakres |
---|---|
odm | Powinno pochodzić ze zmiennej (). |
mg | Powinno pochodzić ze zmiennej (). |
SM | Powinno pochodzić ze zmiennej (). |
mama | Powinno pochodzić ze zmiennej (). |
lr | Współczynnik skalowania. Musi być skalarem. |
rho | Szybkość zaniku. Musi być skalarem. |
pęd | Skala pędu. Musi być skalarem. |
epsilon | Termin grzbietowy. Musi być skalarem. |
absolwent | Gradient. |
opcje | przenosi opcjonalne wartości atrybutów |
Zwroty
- nowa instancja ApplyCenteredRmsProp
public static ApplyCenteredRmsProp.Options useLocking (boolean useLocking)
Parametry
użyjBlokowanie | Jeśli `True`, aktualizacja tensorów var, mg, ms i mama jest zabezpieczona blokadą; w przeciwnym razie zachowanie jest niezdefiniowane, ale może wykazywać mniejszą rywalizację. |
---|