Transfer learning
Anda telah melihat bahwa saat melatih sebuah embedding layer, Anda perlu mempelajari banyak parameter.
Pada latihan ini, Anda akan melihat bahwa dengan menggunakan transfer learning, Anda dapat memakai bobot pra-latih dan tidak memperbaruinya, artinya semua parameter pada embedding layer akan dipasang tetap, dan model hanya perlu mempelajari parameter dari layer lainnya.
Fungsi load_glove sudah dimuat di lingkungan dan mengambil matriks GloVe sebagai vektor numpy.ndarray. Fungsi ini menggunakan pendekatan yang dibahas pada slide pelajaran untuk mengambil vektor GloVe dengan 200 dimensi embedding untuk kosakata yang digunakan dalam latihan ini.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Gunakan fungsi yang sudah disediakan untuk memuat vektor GloVe.
- Gunakan inisialisator
Constantpada vektor pra-latih. - Tambahkan output layer sebagai
Densedengan satu unit. - Cetak summary dan periksa parameter yang dapat dilatih (trainable).
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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.____