הטמעה

public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint

שכבת הטבעה.

Embedding היא למעשה טבלת חיפוש הממפה אינדקסים מאוצר מילים קבוע לייצוגי וקטור בגודל קבוע (צפוף), למשל [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • טבלת חיפוש ניתנת ללמידה הממפה את מדדי אוצר המילים לייצוגים הווקטוריים הצפופים שלהם.

    הַצהָרָה

    public var embeddings: Tensor<Scalar>
  • יוצר שכבת Embedding עם הטבעות צורה מאתחלות באופן אקראי (vocabularySize, embeddingSize) כך שלכל אינדקס אוצר מילים ניתן ייצוג וקטור.

    הַצהָרָה

    public init(
      vocabularySize: Int,
      embeddingSize: Int,
      embeddingsInitializer: ParameterInitializer<Scalar> = { Tensor(randomUniform: $0) }
    )

    פרמטרים

    vocabularySize

    מספר המדדים (מילים) מובהקים באוצר המילים. מספר זה צריך להיות האינדקס השלם הגדול ביותר פלוס אחד.

    embeddingSize

    מספר הערכים בייצוג וקטור הטמע יחיד.

    embeddingsInitializer

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

  • יוצר שכבת Embedding מההטבעות שסופקו. שימושי להכנסת הטבעות שהוכשרו מראש לדגם.

    הַצהָרָה

    public init(embeddings: Tensor<Scalar>)

    פרמטרים

    embeddings

    שולחן ההטמעות שהוכשר מראש.

  • מחזירה פלט על ידי החלפת כל אינדקס בקלט בייצוג וקטור צפוף מתאים.

    הַצהָרָה

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

    ערך החזרה

    הטנזור שנוצר על ידי החלפת מדדי קלט בייצוגים הווקטוריים שלהם.