public class AMSGrad<Model: Differentiable & KeyPathIterable>: Optimizer
where
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
& KeyPathIterable,
Model.TangentVector.VectorSpaceScalar == Float
เครื่องมือเพิ่มประสิทธิภาพ AMSGrad
อัลกอริทึมนี้เป็นการดัดแปลง Adam ที่มีคุณสมบัติการลู่เข้าที่ดีขึ้นเมื่อใกล้กับ optima ในพื้นที่
คำประกาศ
public typealias Model = Model
อัตราการเรียนรู้
คำประกาศ
public var learningRate: Float
ค่าสัมประสิทธิ์ที่ใช้ในการคำนวณโมเมนต์แรกและวินาทีของการไล่ระดับสี
คำประกาศ
public var beta1: Float
ค่าสัมประสิทธิ์ที่ใช้ในการคำนวณโมเมนต์แรกและวินาทีของการไล่ระดับสี
คำประกาศ
public var beta2: Float
สเกลาร์ขนาดเล็กถูกเพิ่มเข้าไปในตัวส่วนเพื่อปรับปรุงความเสถียรของตัวเลข
คำประกาศ
public var epsilon: Float
อัตราการเรียนรู้ลดลง
คำประกาศ
public var decay: Float
ขั้นตอนปัจจุบัน
คำประกาศ
public var step: Int
ช่วงแรกของการยกน้ำหนัก
คำประกาศ
public var firstMoments: Model.TangentVector
ช่วงเวลาที่สองของการตุ้มน้ำหนัก
คำประกาศ
public var secondMoments: Model.TangentVector
ค่าสูงสุดของโมเมนต์ที่สองของตุ้มน้ำหนัก
คำประกาศ
public var secondMomentsMax: Model.TangentVector
คำประกาศ
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 )
คำประกาศ
public required init(copying other: AMSGrad, to device: Device)