โมเดล RNN แรกของคุณ
ในแบบฝึกหัดนี้ จะได้ฝึกใช้โมดูลของ Keras เพื่อสร้างโมเดล RNN แรก และนำไปจำแนกความรู้สึก (sentiment) จากรีวิวภาพยนตร์
โมเดลแรกนี้มี recurrent layer หนึ่งชั้นที่ใช้ RNN cell แบบพื้นฐาน ได้แก่ SimpleRNN และ output layer ที่มีค่าที่เป็นไปได้สองค่า คือ 0 แทนความรู้สึกเชิงลบ และ 1 แทนความรู้สึกเชิงบวก
จะใช้ชุดข้อมูล IMDB ที่อยู่ใน keras.datasets โดยมีโมเดลที่ฝึกไว้แล้วพร้อมน้ำหนักที่บันทึกอยู่ในไฟล์ model_weights.h5 ให้สร้างสถาปัตยกรรมของโมเดล แล้วใช้ตัวแปร x_test และ y_test ที่โหลดไว้ล่วงหน้าเพื่อตรวจสอบประสิทธิภาพของโมเดล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras
คำแนะนำการฝึกหัด
- เพิ่ม
SimpleRNNcell โดยกำหนดจำนวน units เป็น128 - เพิ่ม
Denselayer ที่มีหนึ่ง unit สำหรับการจำแนกความรู้สึก - ใช้ฟังก์ชัน loss ที่เหมาะสมสำหรับการจำแนกประเภทแบบไบนารี
- ประเมินโมเดลบนชุดข้อมูล validation ที่ฝึกไว้ล่วงหน้า:
(x_test, y_test)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build model
model = Sequential()
model.add(____(units=____, input_shape=(None, 1)))
model.add(Dense(____, activation='sigmoid'))
model.compile(loss='____',
optimizer='adam',
metrics=['accuracy'])
# Load pre-trained weights
model.load_weights('model_weights.h5')
# Method '.evaluate()' shows the loss and accuracy
loss, acc = model.evaluate(____, ____, verbose=0)
print("Loss: {0} \nAccuracy: {1}".format(loss, acc))