এসজিডি

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

একটি স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট (SGD) অপ্টিমাইজার।

ভরবেগ, শেখার হার ক্ষয় এবং নেস্টেরভ ভরবেগের জন্য সমর্থন সহ স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট অ্যালগরিদম প্রয়োগ করে। মোমেন্টাম এবং নেস্টেরভ ভরবেগ (ওরফে নেস্টেরভ ত্বরিত গ্রেডিয়েন্ট পদ্ধতি) হল প্রথম-ক্রম অপ্টিমাইজেশান পদ্ধতি যা প্রশিক্ষণের গতি এবং গ্রেডিয়েন্ট ডিসেন্টের অভিন্নতা হারকে উন্নত করতে পারে।

তথ্যসূত্র:

  • ঘোষণা

    public typealias Model = Model
  • শেখার হার।

    ঘোষণা

    public var learningRate: Float
  • মোমেন্টাম ফ্যাক্টর। এটি প্রাসঙ্গিক দিকে স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্টকে ত্বরান্বিত করে এবং দোলনকে স্যাঁতসেঁতে করে।

    ঘোষণা

    public var momentum: Float
  • শেখার হার ক্ষয়।

    ঘোষণা

    public var decay: Float
  • সত্য হলে Nesterov মোমেন্টাম ব্যবহার করুন।

    ঘোষণা

    public var nesterov: Bool
  • মডেলের বেগ অবস্থা।

    ঘোষণা

    public var velocity: Model.TangentVector
  • গৃহীত পদক্ষেপের সেট।

    ঘোষণা

    public var step: Int
  • model জন্য একটি উদাহরণ তৈরি করে।

    ঘোষণা

    public init(
      for model: __shared Model,
      learningRate: Float = 0.01,
      momentum: Float = 0,
      decay: Float = 0,
      nesterov: Bool = false
    )

    পরামিতি

    learningRate

    শেখার হার। ডিফল্ট মান হল 0.01

    momentum

    ভরবেগ ফ্যাক্টর যা প্রাসঙ্গিক দিকে স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্টকে ত্বরান্বিত করে এবং দোলনগুলিকে স্যাঁতসেঁতে করে। ডিফল্ট মান হল 0

    decay

    শেখার হার ক্ষয়। ডিফল্ট মান হল 0

    nesterov

    true হলে নেস্টেরভ মোমেন্টাম ব্যবহার করুন। প্রচলিত মূল্য true .

  • ঘোষণা

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • ঘোষণা

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