public class RAdam<Model: Differentiable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Optimiseur RAdam.
Adam rectifié, une variante d'Adam qui introduit un terme pour rectifier la variance du taux d'apprentissage adaptatif.
Référence : « Sur la variance du taux d'apprentissage adaptatif et au-delà »
Déclaration
public typealias Model = Model
Le taux d'apprentissage.
Déclaration
public var learningRate: Float
Un coefficient utilisé pour calculer les premier et deuxième moments des gradients.
Déclaration
public var beta1: Float
Un coefficient utilisé pour calculer les premier et deuxième moments des gradients.
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
L'étape actuelle.
Déclaration
public var step: Int
Les premiers instants des poids.
Déclaration
public var firstMoments: Model.TangentVector
Les seconds instants des poids.
Déclaration
public var secondMoments: Model.TangentVector
Déclaration
public init( for model: __shared Model, learningRate: Float = 1e-3, beta1: Float = 0.9, beta2: Float = 0.999, epsilon: Float = 1e-8, decay: Float = 0 )
Déclaration
public required init(copying other: RAdam, to device: Device)