AdaDelta

classe pubblica AdaDelta

Ottimizzatore che implementa l'algoritmo Adadelta.

L'ottimizzazione di Adadelta è un metodo di discesa del gradiente stocastico basato sul tasso di apprendimento adattivo per dimensione per risolvere due inconvenienti:

  • il continuo decadimento dei tassi di apprendimento durante la formazione
  • la necessità di un tasso di apprendimento globale selezionato manualmente

Adadelta è un'estensione più robusta di Adagrad che adatta i tassi di apprendimento in base a una finestra mobile di aggiornamenti dei gradienti, invece di accumulare tutti i gradienti passati. In questo modo Adadelta continua ad apprendere anche dopo aver effettuato molti aggiornamenti. Rispetto ad Adagrad, nella versione originale di Adadelta non è necessario impostare un tasso di apprendimento iniziale. In questa versione è possibile impostare il tasso di apprendimento iniziale, come nella maggior parte degli altri ottimizzatori.

Secondo la sezione 4.3 ("Tassi di apprendimento effettivi"), verso la fine della formazione le dimensioni delle fasi convergono a 1 che è effettivamente un tasso di apprendimento elevato che causerebbe divergenza. Ciò si verifica solo verso la fine dell'addestramento poiché i gradienti e le dimensioni dei passi sono piccoli e la costante epsilon nel numeratore e nel denominatore domina i gradienti passati e gli aggiornamenti dei parametri che convergono la velocità di apprendimento a 1.

Secondo la sezione 4.4 ("Dati vocali"), in cui una grande rete neurale con 4 livelli nascosti è stata addestrata su un corpus di dati in inglese americano, ADADELTA è stato utilizzato con 100 repliche di rete. L'epsilon utilizzato è 1e-6 con rho=0,95 che convergeva più velocemente di ADAGRAD, mediante la seguente costruzione: new AdaDelta(graph, 1.0f, 0.95f, 1e-6f);

Costanti

Corda ACCUMULATORE
Corda ACCUMULATORE_AGGIORNAMENTO
galleggiante EPSILON_DEFAULT
galleggiante LEARNING_RATE_DEFAULT
galleggiante RHO_DEFAULT

Costanti ereditate

Costruttori pubblici

AdaDelta (grafico grafico )
AdaDelta (grafico grafico , tasso di apprendimento float)
Crea un ottimizzatore AdaDelta
AdaDelta (grafico grafico , float learningRate, float rho, float epsilon)
Crea un ottimizzatore AdaDelta
AdaDelta (grafico grafico , nome stringa, tasso di apprendimento float)
Crea un ottimizzatore AdaDelta
AdaDelta (grafico grafico , nome stringa, float learningRate, float rho, float epsilon)
Crea un ottimizzatore AdaDelta

Metodi pubblici

Corda
getOptimizerName ()
Ottieni il nome dell'ottimizzatore.
Corda

Metodi ereditati

Costanti

ACCUMULATORE di stringa finale statico pubblico

Valore costante: "accum"

Stringa finale statica pubblica ACCUMULATOR_UPDATE

Valore costante: "accum_update"

float finale statico pubblico EPSILON_DEFAULT

Valore costante: 1.0E-7

float finale statico pubblico LEARNING_RATE_DEFAULT

Valore costante: 0,001

float finale statico pubblico RHO_DEFAULT

Valore costante: 0,95

Costruttori pubblici

pubblico AdaDelta (grafico grafico )

AdaDelta pubblico (grafico grafico , tasso di apprendimento float)

Crea un ottimizzatore AdaDelta

Parametri
grafico il grafico TensorFlow
tasso di apprendimento il tasso di apprendimento

public AdaDelta (grafico grafico , float learningRate, float rho, float epsilon)

Crea un ottimizzatore AdaDelta

Parametri
grafico il grafico TensorFlow
tasso di apprendimento il tasso di apprendimento
Rho Il fattore di decadimento
epsilon Un epsilon costante utilizzato per condizionare meglio l'aggiornamento del grad

public AdaDelta (grafico grafico , nome stringa, float learningRate)

Crea un ottimizzatore AdaDelta

Parametri
grafico il grafico TensorFlow
nome il nome di questo ottimizzatore (il valore predefinito è "Adadelta")
tasso di apprendimento il tasso di apprendimento

public AdaDelta (grafico grafico , nome stringa, float learningRate, float rho, float epsilon)

Crea un ottimizzatore AdaDelta

Parametri
grafico il grafico TensorFlow
nome il nome di questo ottimizzatore (il valore predefinito è "Adadelta")
tasso di apprendimento il tasso di apprendimento
Rho Il fattore di decadimento
epsilon Un epsilon costante utilizzato per condizionare meglio l'aggiornamento del grad

Metodi pubblici

public String getOptimizerName ()

Ottieni il nome dell'ottimizzatore.

ritorna
  • Il nome dell'ottimizzatore.

stringa pubblica toString ()