public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Otimizador AdaMax.
Uma variante de Adão baseada na norma do infinito.
Referência: Seção 7 de “Adam - Um Método para Otimização Estocástica”
Declaração
public typealias Model = Model
A taxa de aprendizagem.
Declaração
public var learningRate: Float
Taxa de decaimento usada para estimar o primeiro momento (média) dos gradientes.
Declaração
public var beta1: Float
Taxa de decaimento usada para estimar a norma do infinito ponderada exponencialmente.
Declaração
public var beta2: Float
Um pequeno escalar adicionado ao denominador para melhorar a estabilidade numérica.
Declaração
public var epsilon: Float
A queda da taxa de aprendizagem.
Declaração
public var decay: Float
A contagem de passos.
Declaração
public var step: Int
Os primeiros momentos das pesagens.
Declaração
public var firstMoments: Model.TangentVector
A norma infinita ponderada exponencialmente dos pesos.
Declaração
public var infinityNorm: Model.TangentVector
Nota: Os parâmetros padrão seguem aqueles fornecidos no documento.
Declaração
public init( for model: __shared Model, learningRate: Float = 0.002, beta1: Float = 0.9, beta2: Float = 0.999, epsilon: Float = 1e-8, decay: Float = 0 )
Declaração
public required init(copying other: AdaMax, to device: Device)