임베딩

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>

    반환 값

    입력 인덱스를 벡터 표현으로 대체하여 생성된 텐서입니다.