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: Secção 7 do “Adam - Um método para Stochastic Otimização”
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) de gradientes.
Declaração
public var beta1: Float
Taxa de decaimento usada para estimar a norma do infinito exponencialmente ponderada.
Declaração
public var beta2: Float
Um pequeno escalar adicionado ao denominador para melhorar a estabilidade numérica.
Declaração
public var epsilon: Float
O declínio da taxa de aprendizagem.
Declaração
public var decay: Float
A contagem de passos.
Declaração
public var step: Int
Os primeiros momentos dos pesos.
Declaração
public var firstMoments: Model.TangentVector
A norma do infinito com ponderação exponencial dos pesos.
Declaração
public var infinityNorm: Model.TangentVector
Nota: Os parâmetros padrão seguem aqueles fornecidos no artigo.
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)