public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Optimizador AdaMax.
Una variante de Adán basada en la norma del infinito.
Referencia: Sección 7 de “Adam: un método para la optimización estocástica”
Declaración
public typealias Model = Model
La tasa de aprendizaje.
Declaración
public var learningRate: Float
Tasa de caída utilizada para estimar el primer momento (media) de los gradientes.
Declaración
public var beta1: Float
Tasa de caída utilizada para estimar la norma infinita ponderada exponencialmente.
Declaración
public var beta2: Float
Un pequeño escalar agregado al denominador para mejorar la estabilidad numérica.
Declaración
public var epsilon: Float
La tasa de aprendizaje decae.
Declaración
public var decay: Float
El recuento de pasos.
Declaración
public var step: Int
Los primeros momentos de las pesas.
Declaración
public var firstMoments: Model.TangentVector
La norma infinita ponderada exponencialmente de los pesos.
Declaración
public var infinityNorm: Model.TangentVector
Nota: Los parámetros predeterminados siguen los proporcionados en el documento.
Declaración
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 )
Declaración
public required init(copying other: AdaMax, to device: Device)