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)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$$$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$$$var <- var - mom$$
Klasy zagnieżdżone
klasa | Opcje SparseApplyCenteredRmsProp | Opcjonalne atrybuty dla SparseApplyCenteredRmsProp |
Stałe
Smyczkowy | 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 > SparseApplyCenteredRmsProp <T> | utwórz (Zakres zakresu , Operand <T> var, Operand <T> mg, Operand <T> ms, Operand <T> mama, Argument <T> lr, Argument <T> rho, Argument <T> pęd, Argument <T > epsilon, Operand <T> grad, Operand <? rozszerza TNumber > indeksy, Opcje... opcje) Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SparseApplyCenteredRmsProp. |
Wyjście <T> | na zewnątrz () To samo co „var”. |
statyczne SparseApplyCenteredRmsProp.Options | useLocking (boolowski useLocking) |
Metody dziedziczone
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 SparseApplyCenteredRmsProp <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, Argument <T> epsilon, Argument <T> grad, Argument <? rozszerza TNumber > indeksy, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SparseApplyCenteredRmsProp.
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ść rozpadu. Musi być skalarem. |
epsilon | Termin grzbietowy. Musi być skalarem. |
absolwent | Gradient. |
indeksy | Wektor indeksów pierwszego wymiaru var, ms i mama. |
opcje | przenosi opcjonalne wartości atrybutów |
Powroty
- nowa instancja SparseApplyCenteredRmsProp
public static SparseApplyCenteredRmsProp.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ę. |
---|