Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Gunakan fungsi yang sudah disediakan untuk memuat vektor GloVe.
  • Gunakan inisialisator Constant pada vektor pra-latih.
  • Tambahkan output layer sebagai Dense dengan 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.____
Edit dan Jalankan Kode