RMSProp

public class RMSProp<Model: Differentiable>: Optimizer
where
  Model.TangentVector: VectorProtocol & PointwiseMultiplicative
    & ElementaryFunctions & KeyPathIterable,
  Model.TangentVector.VectorSpaceScalar == Float

Trình tối ưu hóa RMSProp.

Triển khai thuật toán tối ưu hóa RMSProp. RMSProp là một dạng giảm độ dốc ngẫu nhiên trong đó độ dốc được chia cho mức trung bình đang chạy của cường độ gần đây của chúng. RMSProp giữ mức trung bình động của gradient bình phương cho mỗi trọng số.

Người giới thiệu:

  • Tuyên ngôn

    public typealias Model = Model
  • Tỷ lệ học tập.

    Tuyên ngôn

    public var learningRate: Float
  • rho

    Hệ số phân rã trung bình di chuyển gradient.

    Tuyên ngôn

    public var rho: Float
  • Một đại lượng vô hướng nhỏ được thêm vào mẫu số để cải thiện độ ổn định về số.

    Tuyên ngôn

    public var epsilon: Float
  • Tỷ lệ học tập suy giảm.

    Tuyên ngôn

    public var decay: Float
  • Số bước.

    Tuyên ngôn

    public var step: Float
  • Giá trị alpha cho tất cả các biến khả vi của mô hình.

    Tuyên ngôn

    public var alpha: Model.TangentVector
  • Tạo một phiên bản cho model .

    Tuyên ngôn

    public init(
      for model: __shared Model,
      learningRate: Float = 1e-3,
      rho: Float = 0.9,
      epsilon: Float = 1e-8,
      decay: Float = 0
    )

    Thông số

    learningRate

    Tỷ lệ học tập. Giá trị mặc định là 1e-3 .

    rho

    Hệ số phân rã trung bình di chuyển gradient. Giá trị mặc định là 0.9 .

    epsilon

    Một đại lượng vô hướng nhỏ được thêm vào mẫu số để cải thiện độ ổn định về số. Giá trị mặc định là 1e-8 .

    decay

    Tỷ lệ học tập suy giảm. Giá trị mặc định là 0 .

  • Tuyên ngôn

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • Tuyên ngôn

    public required init(copying other: RMSProp, to device: Device)