public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Optimiseur AdaMax.
Une variante d'Adam basée sur la norme de l'infini.
Référence : Section 7 de « Adam - Une méthode d'optimisation stochastique »
Déclaration
public typealias Model = Model
Le taux d'apprentissage.
Déclaration
public var learningRate: Float
Taux de décroissance utilisé pour estimer le premier moment (moyen) des gradients.
Déclaration
public var beta1: Float
Taux de décroissance utilisé pour estimer la norme infinie pondérée exponentiellement.
Déclaration
public var beta2: Float
Un petit scalaire ajouté au dénominateur pour améliorer la stabilité numérique.
Déclaration
public var epsilon: Float
Le taux d’apprentissage diminue.
Déclaration
public var decay: Float
Le nombre de pas.
Déclaration
public var step: Int
Les premiers instants des poids.
Déclaration
public var firstMoments: Model.TangentVector
La norme infinie pondérée exponentiellement des poids.
Déclaration
public var infinityNorm: Model.TangentVector
Remarque : Les paramètres par défaut suivent ceux fournis dans le document.
Déclaration
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 )
Déclaration
public required init(copying other: AdaMax, to device: Device)