צפוף

@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

שכבת רשת עצבית מחוברת בצפיפות.

Dense מיישמת את activation(matmul(input, weight) + bias) , כאשר weight הוא מטריצת משקל, bias היא וקטור הטיה, activation היא פונקציית הפעלה נקודתית.

שכבה זו תומכת גם בטנסורי משקל תלת-ממדיים עם מטריצות הטיה דו-ממדיות. במקרה זה, הממד הראשון של שניהם מטופל כגודל האצווה המיושר עם הממד הראשון של input ומשתמשים בגרסה האצווה של פעולת matmul(_:_:) , ובכך משתמשים במשקל והטיה שונים עבור כל אלמנט באצווה קלט.

  • מטריצת המשקל.

    הַצהָרָה

    public var weight: Tensor<Scalar>
  • וקטור ההטיה.

    הַצהָרָה

    public var bias: Tensor<Scalar>
  • פונקציית ההפעלה מבחינה אלמנטרית.

    הַצהָרָה

    @noDerivative
    public let activation: Activation
  • סוג פונקציית ההפעלה מבחינת האלמנט.

    הַצהָרָה

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • יוצר מופע מהמשקל הנתון, הטיה אופציונלית ופונקציית ההפעלה.

    פֶּתֶק

    נכון לעכשיו, weight הוא פרמטר ההבחנה היחיד. ניתן להפוך bias לפרמטר דיפרנציאליות לאחר Optional מתאים באופן מותנה ל- Differentiable : TF-499.

    הַצהָרָה

    @differentiable(wrt: weight)
    public init(
      weight: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation
    )
  • מחזירה את הפלט המתקבל מהחלת השכבה על הקלט הנתון.

    הַצהָרָה

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    פרמטרים

    input

    הקלט לשכבה.

    ערך החזרה

    הפלט.

  • יוצר שכבה Dense עם גודל הקלט שצוין, גודל הפלט ופונקציית ההפעלה מבחינת האלמנטים. מטריצת המשקל נוצרת עם צורה [inputSize, outputSize] וקטור ההטיה נוצר עם shape [outputSize] .

    הַצהָרָה

    public init(
      inputSize: Int,
      outputSize: Int,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      weightInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    פרמטרים

    inputSize

    הממדיות של מרחב הקלט.

    outputSize

    הממדיות של מרחב הפלט.

    activation

    פונקציית ההפעלה לשימוש. ערך ברירת המחדל הוא identity(_:) .

    weightInitializer

    אתחול לשימוש עבור weight .

    biasInitializer

    אתחול לשימוש עבור bias .