Bắt đầu ngayBắt đầu miễn phí

Embeddings cải thiện hiệu năng

Lớp embedding có giúp cải thiện độ chính xác của mô hình không? Hãy kiểm tra trên cùng bộ dữ liệu IMDB.

Mô hình đã được huấn luyện 10 epochs, giống như mô hình trước dùng cell simpleRNN. Để so sánh các mô hình, một tập kiểm tra (X_test, y_test) đã có sẵn trong môi trường, cùng với mô hình cũ simpleRNN_model. Độ chính xác của mô hình cũ được lưu trong biến acc_SimpleRNN.

Tất cả các module và hàm cần thiết đã được nạp trong môi trường: Sequential() từ keras.models, EmbeddingDense từ keras.layers, và SimpleRNN từ keras.layers.

Bài tập này là một phần của khóa học

Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Xem khóa học

Hướng dẫn bài tập

  • Thêm lớp embedding vào mô hình.
  • Tính độ chính xác của mô hình và lưu vào biến acc_embeddings.
  • In ra độ chính xác của mô hình cũ và mô hình mới.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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, ____))
Chỉnh sửa và Chạy Mã