एडाडेल्टा

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

एक AdaDelta अनुकूलक.

AdaDelta अनुकूलन एल्गोरिथ्म लागू करता है। AdaDelta प्रथम क्रम की जानकारी के आधार पर एक स्टोकेस्टिक ग्रेडिएंट डिसेंट विधि है। यह सभी पिछले ग्रेडिएंट्स को एकत्रित करने के बजाय, ग्रेडिएंट अपडेट की चलती विंडो के आधार पर सीखने की दरों को अनुकूलित करता है। इस प्रकार, कई अपडेट किए जाने के बाद भी AdaDelta सीखना जारी रखता है। यह अनुकूलन समस्या स्थान की बदलती गतिशीलता के लिए तेजी से अनुकूलित होता है।

संदर्भ: "ADADELTA: एक अनुकूली सीखने की दर विधि" (ज़ीलर, 2012)

  • घोषणा

    public typealias Model = Model
  • सीखने की दर.

    घोषणा

    public var learningRate: Float
  • क्षय कारक, प्रत्येक समय चरण पर रखने के लिए ढाल के अंश के अनुरूप।

    घोषणा

    public var rho: Float
  • संख्यात्मक स्थिरता में सुधार के लिए हर में एक छोटा अदिश जोड़ा गया।

    घोषणा

    public var epsilon: Float
  • सीखने की दर में गिरावट.

    घोषणा

    public var decay: Float
  • वर्तमान कदम.

    घोषणा

    public var step: Int
  • वर्ग ग्रेडिएंट्स का संचित, तेजी से घटता हुआ औसत।

    घोषणा

    public var averageSquared: Model.TangentVector
  • संचित पैरामीटर अद्यतन होता है.

    घोषणा

    public var accumulatedDelta: Model.TangentVector
  • model के लिए एक उदाहरण बनाता है।

    घोषणा

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

    पैरामीटर

    learningRate

    सीखने की दर. डीफॉल्ट मूल्य 1 है ।

    rho

    क्षय कारक. डिफ़ॉल्ट मान 0.95 है.

    epsilon

    संख्यात्मक स्थिरता में सुधार के लिए हर में एक छोटा अदिश जोड़ा गया। डिफ़ॉल्ट मान 1e-6 है.

    decay

    सीखने की दर में गिरावट. डिफॉल्ट मान 0 है।

  • घोषणा

    public func update(_ model: inout Model, along direction: Model.TangentVector)
  • घोषणा

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