埋め込み

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

埋め込みレイヤー。

Embedding事実上、インデックスを固定語彙から固定サイズ (密) ベクトル表現にマッピングするルックアップ テーブルです (例: [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]]

  • 語彙インデックスをその密なベクトル表現にマッピングする学習可能なルックアップ テーブル。

    宣言

    public var embeddings: Tensor<Scalar>
  • 各語彙インデックスにベクトル表現が与えられるように、形状(vocabularySize, embeddingSize)のランダムに初期化された埋め込みを使用してEmbeddingレイヤーを作成します。

    宣言

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

    パラメータ

    vocabularySize

    語彙内の個別のインデックス (単語) の数。この数値は、最大の整数インデックスに 1 を加えたものでなければなりません。

    embeddingSize

    単一の埋め込みベクトル表現内のエントリの数。

    embeddingsInitializer

    埋め込みパラメータに使用するイニシャライザ。

  • 提供された埋め込みからEmbeddingレイヤーを作成します。事前トレーニングされた埋め込みをモデルに導入するのに役立ちます。

    宣言

    public init(embeddings: Tensor<Scalar>)

    パラメータ

    embeddings

    事前トレーニングされた埋め込みテーブル。

  • 入力内の各インデックスを対応する密ベクトル表現で置き換えることによって出力を返します。

    宣言

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

    戻り値

    入力インデックスをそのベクトル表現で置き換えることによって作成されたテンソル。