keras.layers.embeddings.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)
양의 정수(인덱스)를 고정된 크기의 dense 벡터로 바꾸어 줍니다. 예를 들어 다음과 같습니다: [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]].
이 계층은 모델의 첫 계층으로만 사용할 수 있습니다.
예제
model = Sequential()
model.add(Embedding(1000, 64, input_length=10))
# the model will take as input an integer matrix of size (batch, input_length).
# the largest integer (i.e. word index) in the input should be no larger than 999 (vocabulary size).
# now model.output_shape == (None, 10, 64), where None is the batch dimension.
input_array = np.random.randint(1000, size=(32, 10))
model.compile('rmsprop', 'mse')
output_array = model.predict(input_array)
assert output_array.shape == (32, 10, 64)
인수
embeddings
행렬을 위한 초기화기입니다(초기화기를 참조).embeddings
행렬에 적용되는 정규화기 함수입니다(정규화기를 참조).embeddings
행렬에 적용되는 제한 함수입니다(제한을 참조).True
인 경우, 모델의 뒤따르는 모든 계층은 마스킹을 지원해야 하며 그렇지 않다면 예외가 발생합니다. 또한 True
인 경우, 결과적으로 인덱스 0은 사용될 수 없습니다(따라서 input_dim
은 인덱스 집합의 크기+1이 됩니다).Dense
계층의 앞에 Flatten
계층을 연결하고자 할 때 필요합니다(없다면, Dense
출력의 형태는 계산되지 않습니다).입력 형태
다음과 같은 형태의 2차원 텐서입니다: (batch_size, sequence_length)
.
출력 형태
다음과 같은 형태의 3차원 텐서입니다: (batch_size, sequence_length, output_dim)
.
참고
이 문서는 Keras의 Embedding Layers을 번역한 것입니다.