시작하기무료로 시작하기

전이 학습

임베딩 레이어를 학습할 때는 매우 많은 파라미터를 학습해야 한다는 점을 보셨죠.

이 연습에서는 전이 학습을 사용하면 사전 학습된 가중치를 그대로 사용하고 업데이트하지 않을 수 있다는 것을 확인해 볼 거예요. 즉, 임베딩 레이어의 모든 파라미터는 고정되고, 모델은 다른 레이어의 파라미터만 학습하면 됩니다.

함수 load_glove 는 이미 환경에 로드되어 있으며, glove 행렬을 numpy.ndarray 벡터로 가져와요. 이 함수는 레슨 슬라이드에서 다룬 방법을 사용해, 이 연습 문제의 어휘 집합에 대해 임베딩 차원이 200인 glove 벡터를 불러옵니다.

이 연습은 강의의 일부입니다

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

강의 보기

연습 안내

  • 미리 정의된 함수를 사용해 glove 벡터를 로드하세요.
  • 사전 학습된 벡터에 Constant 이니셜라이저를 사용하세요.
  • 출력 레이어를 유닛 1개의 Dense 로 추가하세요.
  • summary 를 출력하고 학습 가능한 파라미터 수를 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')

# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim, 
                    embeddings_initializer=____(glove_matrix), 
                    input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Print the summaries of the model with embeddings
model.____
코드 편집 및 실행