[TensorFlow] Embedding Layer 예제

tf.keras.layers.Embedding 레이어는 텍스트나 범주형 데이터를 수치형으로 변환하는 데 사용되는 레이어입니다. 이를 통해 단어나 범주를 밀집 벡터로 표현하여 신경망 모델에 입력으로 사용할 수 있습니다. 아래는 tf.keras.layers.Embedding 레이어를 사용한 간단한 예제입니다.

import tensorflow as tf

## 단어 사전 크기와 임베딩 차원 (예시로)
vocab_size = 10000
embedding_dim = 50

## Embedding 레이어 정의
embedding_layer = tf.keras.layers.Embedding(input_dim=vocab_size, output_dim=embedding_dim)

## 더미 입력 데이터 생성
dummy_input = tf.constant([[1, 2, 3], [4, 5, 6]])  # 배치 크기 2, 시퀀스 길이 3

## Embedding 레이어 실행
output = embedding_layer(dummy_input)

print("Input shape:", dummy_input.shape)
print("Output shape:", output.shape)` 

위 예제에서는 tf.keras.layers.Embedding 레이어를 사용하여 단어 사전 크기가 10000이고 임베딩 차원이 50인 레이어를 정의하고 실행합니다. input_dim으로 단어 사전 크기를 지정하며, output_dim으로 임베딩 벡터의 차원을 설정합니다.

실행 결과:

Input shape: (2, 3)
Output shape: (2, 3, 50)` 

위에서 확인할 수 있듯이, 입력 데이터의 형태가 (2, 3)이고 출력 데이터의 형태가 (2, 3, 50)임을 확인할 수 있습니다. 입력 데이터의 각 단어가 임베딩 벡터로 변환되어 출력되었습니다.

이러한 임베딩 레이어는 주로 텍스트 분석에서 단어나 문장을 수치형으로 변환하여 신경망 모델에 사용하는 데 활용됩니다.