
644
2
부
신경망과 딥러닝
embed_size = 128
model = keras.models.Sequential([
keras.layers.Embedding(vocab_size + num_oov_buckets, embed_size,
input_shape=[None]),
keras.layers.GRU(128, return_sequences=True),
keras.layers.GRU(128),
keras.layers.Dense(1, activation="sigmoid")
])
model.compile(loss="binary_crossentropy", optimizer="adam",
metrics=["accuracy"])
history = model.fit(train_set, epochs=5)
첫 번째 층은 단어
ID
를 (
13
장에서 소개한 ) 임베딩으로 변환하는
Embedding
층입니다. 임베
딩 행렬은 단어
ID
당(
vocab
_
size
+
num
_
oov
_
buckets
) 하나의 행과 임베딩 차원당 (이 예에
서는
128
차원을 사용하지만 이는 튜닝할 수 있는 하이퍼파라미터입니다 ) 하나의 열을 가집니
다. 모델의 입력은 [배치 크기, 타임 스텝 수] 크기를 가진
2D
텐서이지만
Embedding
층의 출
력은 [배치 크기, 타임 스텝 수, 임베딩 크기] 크기를 가진 ...