Embedding meningkatkan kinerja
Apakah lapisan embedding meningkatkan akurasi model? Mari kita periksa pada data IMDB yang sama.
Model sudah dilatih selama 10 epoch, seperti pada model sebelumnya dengan sel simpleRNN. Untuk membandingkan model, himpunan uji (X_test, y_test) tersedia di lingkungan, begitu juga model lama simpleRNN_model. Akurasi model lama dimuat ke dalam variabel acc_SimpleRNN.
Semua modul dan fungsi yang diperlukan telah dimuat di lingkungan: Sequential() dari keras.models, Embedding dan Dense dari keras.layers, serta SimpleRNN dari keras.layers.
Latihan ini merupakan bagian dari kursus
Recurrent Neural Networks (RNN) untuk Pemodelan Bahasa dengan Keras
Instruksi latihan
- Tambahkan lapisan embedding ke model.
- Hitung akurasi model dan simpan pada variabel
acc_embeddings. - Cetak akurasi model lama dan baru.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Create the model with embedding
model = Sequential(name="emb_model")
model.add(____(input_dim=max_vocabulary, output_dim=wordvec_dim, input_length=max_len))
model.add(SimpleRNN(units=128))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Load pre-trained weights
model.load_weights('embedding_model_weights.h5')
# Evaluate the models' performance (ignore the loss value)
_, ____ = model.evaluate(X_test, y_test, verbose=0)
# Print the results
print("SimpleRNN model's accuracy:\t{0}\nEmbeddings model's accuracy:\t{1}".format(acc_simpleRNN, ____))