RMSProp

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

เครื่องมือเพิ่มประสิทธิภาพ RMSProp

ใช้อัลกอริทึมการปรับให้เหมาะสม RMSProp RMSProp คือรูปแบบหนึ่งของการไล่ระดับสีแบบสุ่ม โดยที่การไล่ระดับสีจะถูกหารด้วยค่าเฉลี่ยรันของขนาดล่าสุด RMSProp เก็บค่าเฉลี่ยเคลื่อนที่ของการไล่ระดับสีกำลังสองสำหรับแต่ละน้ำหนัก

อ้างอิง:

  • คำประกาศ

    public typealias Model = Model
  • อัตราการเรียนรู้

    คำประกาศ

    public var learningRate: Float
  • ปัจจัยการสลายตัวของค่าเฉลี่ยเคลื่อนที่แบบไล่ระดับสี

    คำประกาศ

    public var rho: Float
  • สเกลาร์ขนาดเล็กถูกเพิ่มเข้าไปในตัวส่วนเพื่อปรับปรุงความเสถียรของตัวเลข

    คำประกาศ

    public var epsilon: Float
  • อัตราการเรียนรู้ลดลง

    คำประกาศ

    public var decay: Float
  • การนับก้าว.

    คำประกาศ

    public var step: Float
  • ค่าอัลฟ่าสำหรับตัวแปรหาอนุพันธ์ของโมเดลทั้งหมด

    คำประกาศ

    public var alpha: Model.TangentVector
  • สร้างอินสแตนซ์สำหรับ model

    คำประกาศ

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

    พารามิเตอร์

    learningRate

    อัตราการเรียนรู้ ค่าเริ่มต้นคือ 1e-3

    rho

    ปัจจัยการสลายตัวของค่าเฉลี่ยเคลื่อนที่แบบไล่ระดับสี ค่าเริ่มต้นคือ 0.9

    epsilon

    สเกลาร์ขนาดเล็กถูกเพิ่มเข้าไปในตัวส่วนเพื่อปรับปรุงความเสถียรของตัวเลข ค่าเริ่มต้นคือ 1e-8

    decay

    อัตราการเรียนรู้ลดลง ค่าเริ่มต้นคือ 0

  • คำประกาศ

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • คำประกาศ

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