Embedding ช่วยเพิ่มประสิทธิภาพของโมเดล
Embedding layer ช่วยเพิ่มความแม่นยำของโมเดลได้หรือไม่? มาตรวจสอบกันด้วยข้อมูล IMDB ชุดเดิม
โมเดลถูกฝึกด้วย 10 epochs แล้ว เช่นเดียวกับโมเดลก่อนหน้าที่ใช้เซลล์ simpleRNN เพื่อเปรียบเทียบโมเดลทั้งสอง ชุดทดสอบ (X_test, y_test) พร้อมใช้งานในสภาพแวดล้อม รวมถึงโมเดลเดิม simpleRNN_model โดยความแม่นยำของโมเดลเดิมถูกเก็บไว้ในตัวแปร acc_SimpleRNN
โมดูลและฟังก์ชันที่จำเป็นทั้งหมดถูกโหลดในสภาพแวดล้อมแล้ว ได้แก่ Sequential() จาก keras.models, Embedding และ Dense จาก keras.layers และ SimpleRNN จาก keras.layers
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras
คำแนะนำการฝึกหัด
- เพิ่ม embedding layer ลงในโมเดล
- คำนวณความแม่นยำของโมเดลและเก็บผลลัพธ์ในตัวแปร
acc_embeddings - แสดงความแม่นยำของโมเดลเดิมและโมเดลใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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, ____))