public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
Ottimizzatore AdaMax.
Una variante di Adamo basata sulla norma dell'infinito.
Riferimento: Sezione 7 di "Adam - Un metodo per l'ottimizzazione stocastica"
Dichiarazione
public typealias Model = Model
Il tasso di apprendimento.
Dichiarazione
public var learningRate: Float
Tasso di decadimento utilizzato per stimare il primo momento (media) dei gradienti.
Dichiarazione
public var beta1: Float
Tasso di decadimento utilizzato per stimare la norma dell'infinito ponderata in modo esponenziale.
Dichiarazione
public var beta2: Float
Un piccolo scalare aggiunto al denominatore per migliorare la stabilità numerica.
Dichiarazione
public var epsilon: Float
Il decadimento del tasso di apprendimento.
Dichiarazione
public var decay: Float
Il conteggio dei passi.
Dichiarazione
public var step: Int
I primi momenti dei pesi.
Dichiarazione
public var firstMoments: Model.TangentVector
La norma infinita dei pesi ponderata esponenzialmente.
Dichiarazione
public var infinityNorm: Model.TangentVector
Nota: i parametri predefiniti seguono quelli forniti nel documento.
Dichiarazione
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 )
Dichiarazione
public required init(copying other: AdaMax, to device: Device)