Optymalizator implementujący algorytm Adama.
Optymalizacja Adama jest stochastyczną metodą gradientowego opadania, która opiera się na adaptacyjnej estymacji momentów pierwszego i drugiego rzędu.
Według Kingma i in., 2014, metoda ta jest „wydajna obliczeniowo, wymaga niewielkiej pamięci, jest niezmienna w przypadku przeskalowania gradientów po przekątnej i dobrze nadaje się do problemów dużych pod względem danych/parametrów”.
@patrz Kingma i in., 2014, Adam: Metoda optymalizacji stochastycznej .
Stałe
platforma | BETA_ONE_DEFAULT | |
platforma | BETA_TWO_DEFAULT | |
platforma | EPSILON_DEFAULT | |
Strunowy | FIRST_MOMENT | |
platforma | LEARNING_RATE_DEFAULT | |
Strunowy | SECOND_MOMENT |
Dziedziczone stałe
Konstruktorzy publiczni
Metody publiczne
statyczny <T rozszerza TType > Op | createAdamMinimize (zakres zasięgu , utrata argumentu <T>, nauka floatRate, float betaOne, float betaTwo, float epsilon, opcje... opcje) Tworzy operację minimalizującą straty |
Strunowy | getOptimizerName () Uzyskaj nazwę optymalizatora. |
Strunowy | doString () |
Metody dziedziczone
Stałe
publiczny statyczny końcowy float BETA_ONE_DEFAULT
publiczny statyczny końcowy float BETA_TWO_DEFAULT
publiczny statyczny końcowy float EPSILON_DEFAULT
publiczny statyczny końcowy ciąg FIRST_MOMENT
publiczny statyczny końcowy float LEARNING_RATE_DEFAULT
publiczny statyczny końcowy ciąg znaków SECOND_MOMENT
Konstruktorzy publiczni
publiczny Adam (wykres wykresu , float learningRate)
Tworzy optymalizator Adama
Parametry
wykres | wykres TensorFlow |
---|---|
Szybkość uczenia się | tempo uczenia się |
publiczny Adam (wykres wykresu , float learningRate, float betaOne, float betaTwo, float epsilon)
Tworzy optymalizator Adama
Parametry
wykres | wykres TensorFlow |
---|---|
Szybkość uczenia się | tempo uczenia się |
betaOne | Wykładnicza szybkość zaniku dla szacunków pierwszego momentu. Domyślnie jest to 0,9. |
betaTwo | Wykładnicza szybkość zaniku dla szacunków drugiego momentu. Wartość domyślna to 0,999. |
epsilon | Mała stała zapewniająca stabilność numeryczną. Ten epsilon to „kapelusz epsilon” w artykule Kingma i Ba (we wzorze tuż przed sekcją 2.1), a nie epsilon w Algorytmie 1 artykułu. Domyślnie jest to 1e-8. |
publiczny Adam (wykres wykresu , nazwa ciągu, współczynnik uczenia się typu float)
Tworzy optymalizator Adama
Parametry
wykres | wykres TensorFlow |
---|---|
nazwa | nazwa Optymalizatora, domyślnie „Adam” |
Szybkość uczenia się | tempo uczenia się |
publiczny Adam (wykres wykresu , nazwa ciągu, nauka floatRate, float betaOne, float betaTwo, float epsilon)
Tworzy optymalizator Adama
Parametry
wykres | wykres TensorFlow |
---|---|
nazwa | nazwa Optymalizatora, domyślnie „Adam” |
Szybkość uczenia się | tempo uczenia się |
betaOne | Wykładnicza szybkość zaniku dla szacunków pierwszego momentu. Domyślnie jest to 0,9. |
betaTwo | Wykładnicza szybkość zaniku dla szacunków drugiego momentu. Wartość domyślna to 0,999. |
epsilon | Mała stała zapewniająca stabilność numeryczną. Ten epsilon to „kapelusz epsilon” w artykule Kingma i Ba (we wzorze tuż przed sekcją 2.1), a nie epsilon w Algorytmie 1 artykułu. Domyślnie jest to 1e-8. |
Metody publiczne
public static Op createAdamMinimize (zakres zasięgu , utrata argumentu <T>, nauka floatRate, float betaOne, float betaTwo, float epsilon, opcje... opcje)
Tworzy operację minimalizującą straty
Parametry
zakres | zakres TensorFlow |
---|---|
strata | stratę minimalizować |
Szybkość uczenia się | tempo uczenia się |
betaOne | Wykładnicza szybkość zaniku dla szacunków pierwszego momentu. |
betaTwo | Wykładnicza szybkość zaniku dla szacunków drugiego momentu. |
epsilon | Mała stała zapewniająca stabilność numeryczną. Ten epsilon to „kapelusz epsilon” w artykule Kingma i Ba (we wzorze tuż przed sekcją 2.1), a nie epsilon w Algorytmie 1 artykułu. |
opcje | Opcjonalne atrybuty optymalizatora |
Zwroty
- Operacja minimalizująca straty
Rzuca
Wyjątek IllegalArgument | jeśli zakres nie reprezentuje wykresu |
---|
public String getOptimizerName ()
Uzyskaj nazwę optymalizatora.
Zwroty
- Nazwa optymalizatora.