Otimizador que implementa o algoritmo Adam.
A otimização de Adam é um método estocástico de descida gradiente baseado na estimativa adaptativa de momentos de primeira e segunda ordem.
Segundo Kingma et al., 2014, o método é "computacionalmente eficiente, tem pouca necessidade de memória, invariante ao redimensionamento diagonal de gradientes e é adequado para problemas grandes em termos de dados/parâmetros".
@ver Kingma et al., 2014, Adam: Um Método para Otimização Estocástica .
Constantes
flutuador | BETA_ONE_DEFAULT | |
flutuador | BETA_TWO_DEFAULT | |
flutuador | EPSILON_DEFAULT | |
Corda | FIRST_MOMENT | |
flutuador | LEARNING_RATE_DEFAULT | |
Corda | SECOND_MOMENT |
Constantes herdadas
Construtores Públicos
Métodos Públicos
estático <T estende TType > Op | createAdamMinimize (escopo do escopo , perda do operando <T>, float learningRate, float betaOne, float betaTwo, float epsilon, Opções... opções) Cria a Operação que minimiza a perda |
Corda | getOptimizerName () Obtenha o nome do otimizador. |
Corda |
Métodos herdados
Constantes
flutuador final estático público BETA_ONE_DEFAULT
flutuador final estático público BETA_TWO_DEFAULT
flutuador final estático público EPSILON_DEFAULT
String final estática pública FIRST_MOMENT
flutuador final estático público LEARNING_RATE_DEFAULT
String final estática pública SECOND_MOMENT
Construtores Públicos
public Adam (gráfico gráfico , float learningRate)
Cria um otimizador Adam
Parâmetros
gráfico | o gráfico do TensorFlow |
---|---|
taxa de Aprendizagem | a taxa de aprendizagem |
public Adam (gráfico gráfico , float learningRate, float betaOne, float betaTwo, float epsilon)
Cria um otimizador Adam
Parâmetros
gráfico | o gráfico do TensorFlow |
---|---|
taxa de Aprendizagem | a taxa de aprendizagem |
betaOne | A taxa de decaimento exponencial para as estimativas do primeiro momento. O padrão é 0,9. |
betaDois | A taxa de decaimento exponencial para as estimativas do segundo momento. O padrão é 0,999. |
épsilon | Uma pequena constante para estabilidade numérica. Este épsilon é "chapéu épsilon" no artigo de Kingma e Ba (na fórmula logo antes da Seção 2.1), não o épsilon no Algoritmo 1 do artigo. O padrão é 1e-8. |
público Adam ( gráfico , nome da string, float learningRate)
Cria um otimizador Adam
Parâmetros
gráfico | o gráfico do TensorFlow |
---|---|
nome | o nome do Otimizador, o padrão é "Adam" |
taxa de Aprendizagem | a taxa de aprendizagem |
public Adam (gráfico gráfico , nome da string, float learningRate, float betaOne, float betaTwo, float epsilon)
Cria um otimizador Adam
Parâmetros
gráfico | o gráfico do TensorFlow |
---|---|
nome | o nome do Otimizador, o padrão é "Adam" |
taxa de Aprendizagem | a taxa de aprendizagem |
betaOne | A taxa de decaimento exponencial para as estimativas do primeiro momento. O padrão é 0,9. |
betaDois | A taxa de decaimento exponencial para as estimativas do segundo momento. O padrão é 0,999. |
épsilon | Uma pequena constante para estabilidade numérica. Este épsilon é "chapéu épsilon" no artigo de Kingma e Ba (na fórmula logo antes da Seção 2.1), não o épsilon no Algoritmo 1 do artigo. O padrão é 1e-8. |
Métodos Públicos
public static Op createAdamMinimize (escopo de escopo , perda de operando <T>, float learningRate, float betaOne, float betaTwo, float epsilon, Options... options)
Cria a Operação que minimiza a perda
Parâmetros
escopo | o escopo do TensorFlow |
---|---|
perda | a perda para minimizar |
taxa de Aprendizagem | a taxa de aprendizagem |
betaOne | A taxa de decaimento exponencial para as estimativas do primeiro momento. |
betaDois | A taxa de decaimento exponencial para as estimativas do segundo momento. |
épsilon | Uma pequena constante para estabilidade numérica. Este épsilon é "chapéu épsilon" no artigo de Kingma e Ba (na fórmula logo antes da Seção 2.1), não o épsilon no Algoritmo 1 do artigo. |
opções | Atributos opcionais do otimizador |
Devoluções
- a Operação que minimiza a perda
Lança
Exceção de argumento ilegal | se o escopo não representa um gráfico |
---|
String pública getOptimizerName ()
Obtenha o nome do otimizador.
Devoluções
- O nome do otimizador.