AdaDelta

klasa publiczna AdaDelta

Optymalizator implementujący algorytm Adadelta.

Optymalizacja Adadelta to stochastyczna metoda opadania w gradiencie, która opiera się na adaptacyjnej szybkości uczenia się na wymiar, aby wyeliminować dwie wady:

  • ciągły spadek szybkości uczenia się w trakcie szkolenia
  • potrzeba ręcznie wybranego globalnego tempa uczenia się

Adadelta to solidniejsze rozszerzenie Adagradu, które dostosowuje tempo uczenia się w oparciu o ruchome okno aktualizacji gradientów, zamiast gromadzić wszystkie przeszłe gradienty. W ten sposób Adadelta kontynuuje naukę nawet po dokonaniu wielu aktualizacji. W porównaniu do Adagradu, w oryginalnej wersji Adadelty nie musisz ustawiać początkowego tempa uczenia się. W tej wersji można ustawić początkową szybkość uczenia się, jak w większości innych optymalizatorów.

Zgodnie z sekcją 4.3 („Efektywne współczynniki uczenia się”), pod koniec etapu uczenia rozmiary kroków zbiegają się do 1, co w rzeczywistości oznacza wysoki współczynnik uczenia się, który mógłby powodować rozbieżności. Dzieje się tak dopiero pod koniec uczenia, ponieważ gradienty i rozmiary kroków są małe, a stała epsilon w liczniku i mianowniku dominuje w poprzednich gradientach i aktualizacjach parametrów, które zbiegają szybkość uczenia się do 1.

Zgodnie z sekcją 4.4 („Dane mowy”), gdzie na korpusie danych w języku angielskim (USA) uczono dużą sieć neuronową z 4 warstwami ukrytymi, ADADELTA została użyta w 100 replikach sieci. Zastosowany epsilon to 1e-6 z rho = 0,95, co oznacza zbiegał się szybciej niż ADAGRAD, dzięki następującej konstrukcji: new AdaDelta(graph, 1.0f, 0.95f, 1e-6f);

Stałe

Strunowy AKUMULATOR
Strunowy AKTUALIZACJA_AKUMULATORA
platforma EPSILON_DEFAULT
platforma LEARNING_RATE_DEFAULT
platforma RHO_DEFAULT

Dziedziczone stałe

Konstruktorzy publiczni

AdaDelta (wykres graficzny )
AdaDelta (wykres graficzny , płynna naukaRate)
Tworzy optymalizator AdaDelta
AdaDelta (wykres graficzny , nauka floatRate, float rho, float epsilon)
Tworzy optymalizator AdaDelta
AdaDelta (wykres graficzny , nazwa ciągu, współczynnik uczenia się typu float)
Tworzy optymalizator AdaDelta
AdaDelta (wykres wykresu , nazwa ciągu, nauka floatRate, float rho, float epsilon)
Tworzy optymalizator AdaDelta

Metody publiczne

Strunowy
getOptimizerName ()
Uzyskaj nazwę optymalizatora.
Strunowy

Metody dziedziczone

Stałe

publiczny statyczny końcowy akumulator AKUMULATORA

Wartość stała: „akum”

publiczny statyczny końcowy ciąg znaków ACCUMULATOR_UPDATE

Wartość stała: „accum_update”

publiczny statyczny końcowy float EPSILON_DEFAULT

Wartość stała: 1,0E-7

publiczny statyczny końcowy float LEARNING_RATE_DEFAULT

Wartość stała: 0,001

publiczny statyczny końcowy float RHO_DEFAULT

Wartość stała: 0,95

Konstruktorzy publiczni

publiczna AdaDelta (wykres graficzny )

public AdaDelta (wykres graficzny , float learningRate)

Tworzy optymalizator AdaDelta

Parametry
wykres wykres TensorFlow
Szybkość uczenia się tempo uczenia się

public AdaDelta (wykres wykresu , float learningRate, float rho, float epsilon)

Tworzy optymalizator AdaDelta

Parametry
wykres wykres TensorFlow
Szybkość uczenia się tempo uczenia się
rho Czynnik zaniku
epsilon Stały epsilon używany do lepszego kondycjonowania aktualizacji stopni

public AdaDelta (wykres wykresu , nazwa ciągu, współczynnik uczenia się typu float)

Tworzy optymalizator AdaDelta

Parametry
wykres wykres TensorFlow
nazwa nazwa tego Optymalizatora (domyślnie „Adadelta”)
Szybkość uczenia się tempo uczenia się

public AdaDelta (wykres wykresu , nazwa ciągu, nauka floatRate, float rho, float epsilon)

Tworzy optymalizator AdaDelta

Parametry
wykres wykres TensorFlow
nazwa nazwa tego Optymalizatora (domyślnie „Adadelta”)
Szybkość uczenia się tempo uczenia się
rho Czynnik zaniku
epsilon Stały epsilon używany do lepszego kondycjonowania aktualizacji stopni

Metody publiczne

public String getOptimizerName ()

Uzyskaj nazwę optymalizatora.

Zwroty
  • Nazwa optymalizatora.

publiczny ciąg do ciągu ()