AdaDelta

classe pública AdaDelta

Otimizador que implementa o algoritmo Adadelta.

A otimização Adadelta é um método estocástico de descida gradiente baseado na taxa de aprendizagem adaptativa por dimensão para resolver duas desvantagens:

  • a queda contínua das taxas de aprendizagem ao longo do treinamento
  • a necessidade de uma taxa de aprendizagem global selecionada manualmente

Adadelta é uma extensão mais robusta do Adagrad que adapta as taxas de aprendizagem com base em uma janela móvel de atualizações de gradiente, em vez de acumular todos os gradientes anteriores. Dessa forma, Adadelta continua aprendendo mesmo depois de muitas atualizações terem sido feitas. Comparado ao Adagrad, na versão original do Adadelta você não precisa definir uma taxa de aprendizagem inicial. Nesta versão, a taxa de aprendizagem inicial pode ser definida, como na maioria dos outros otimizadores.

De acordo com a seção 4.3 ("Taxas de aprendizagem efetiva"), perto do final do treinamento, os tamanhos dos passos convergem para 1, o que é efetivamente uma alta taxa de aprendizagem que causaria divergência. Isso ocorre apenas perto do final do treinamento, pois os gradientes e os tamanhos dos passos são pequenos, e a constante épsilon no numerador e no denominador domina os gradientes anteriores e as atualizações de parâmetros que convergem a taxa de aprendizado para 1.

De acordo com a seção 4.4 ("Dados de fala"), onde uma grande rede neural com 4 camadas ocultas foi treinada em um corpus de dados em inglês dos EUA, o ADADELTA foi usado com 100 réplicas de rede. O épsilon usado é 1e-6 com rho = 0,95, que convergiu mais rápido que o ADAGRAD, pela seguinte construção: new AdaDelta(graph, 1.0f, 0.95f, 1e-6f);

Constantes

Corda ACUMULADOR
Corda ACCUMULATOR_UPDATE
flutuador EPSILON_DEFAULT
flutuador LEARNING_RATE_DEFAULT
flutuador RHO_DEFAULT

Constantes herdadas

Construtores Públicos

AdaDelta (gráfico gráfico )
AdaDelta (gráfico gráfico , float learningRate)
Cria um otimizador AdaDelta
AdaDelta (gráfico gráfico , float learningRate, float rho, float epsilon)
Cria um otimizador AdaDelta
AdaDelta ( gráfico , nome da string, float learningRate)
Cria um otimizador AdaDelta
AdaDelta (gráfico gráfico , nome da string, float learningRate, float rho, float epsilon)
Cria um otimizador AdaDelta

Métodos Públicos

Corda
getOptimizerName ()
Obtenha o nome do otimizador.
Corda

Métodos herdados

Constantes

público estático final String ACCUMULATOR

Valor Constante: "acumulado"

String final estática pública ACCUMULATOR_UPDATE

Valor constante: "accum_update"

flutuador final estático público EPSILON_DEFAULT

Valor constante: 1,0E-7

flutuador final estático público LEARNING_RATE_DEFAULT

Valor Constante: 0,001

flutuador final estático público RHO_DEFAULT

Valor Constante: 0,95

Construtores Públicos

público AdaDelta (gráfico gráfico )

public AdaDelta (gráfico gráfico , float learningRate)

Cria um otimizador AdaDelta

Parâmetros
gráfico o gráfico do TensorFlow
taxa de Aprendizagem a taxa de aprendizagem

public AdaDelta (gráfico gráfico , float learningRate, float rho, float epsilon)

Cria um otimizador AdaDelta

Parâmetros
gráfico o gráfico do TensorFlow
taxa de Aprendizagem a taxa de aprendizagem
O fator de decadência
épsilon Um épsilon constante usado para condicionar melhor a atualização da graduação

public AdaDelta ( gráfico , nome da string, float learningRate)

Cria um otimizador AdaDelta

Parâmetros
gráfico o gráfico do TensorFlow
nome o nome deste otimizador (o padrão é 'Adadelta')
taxa de Aprendizagem a taxa de aprendizagem

public AdaDelta (gráfico gráfico , nome da string, float learningRate, float rho, float epsilon)

Cria um otimizador AdaDelta

Parâmetros
gráfico o gráfico do TensorFlow
nome o nome deste otimizador (o padrão é 'Adadelta')
taxa de Aprendizagem a taxa de aprendizagem
O fator de decadência
épsilon Um épsilon constante usado para condicionar melhor a atualização da graduação

Métodos Públicos

String pública getOptimizerName ()

Obtenha o nome do otimizador.

Devoluções
  • O nome do otimizador.

String pública paraString ()