เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

จุดเริ่มต้นของ Transfer Learning

ในแบบฝึกหัดนี้ คุณจะได้เห็นประโยชน์ของการใช้เวกเตอร์ที่ผ่านการเทรนมาแล้วเป็นจุดเริ่มต้นสำหรับโมเดล

เราจะเปรียบเทียบค่าความแม่นยำของโมเดลสองแบบที่เทรนด้วย 2 epoch โดยโครงสร้างของทั้งสองโมเดลเหมือนกัน ได้แก่ Embedding layer หนึ่งชั้น, LSTM layer หนึ่งชั้นที่มี 128 units และ Output layer หนึ่งชั้นที่มี 5 units ซึ่งตรงกับจำนวนคลาสในข้อมูลตัวอย่าง ความแตกต่างคือโมเดลหนึ่งใช้เวกเตอร์ที่ผ่านการเทรนมาแล้วใน Embedding layer (transfer learning) ส่วนอีกโมเดลไม่ได้ใช้

เวกเตอร์ที่ผ่านการเทรนมาแล้วที่ใช้คือ GloVE แบบ 200 มิติ โดยประวัติค่าความแม่นยำบน validation set ของทั้งสองโมเดลพร้อมใช้งานในตัวแปร history_no_emb และ history_emb

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import โมดูล matplotlib.pyplot โดยใช้ชื่อย่อว่า plt
  • เพิ่มรายการค่าความแม่นยำจากโมเดลที่ไม่ใช้ embeddings ลงในกราฟ
  • เพิ่มรายการค่าความแม่นยำจากโมเดลที่ใช้ embeddings ลงในกราฟ
  • แสดงกราฟโดยใช้เมธอด .show()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import plotting package
import matplotlib.____ as ____

# Insert lists of accuracy obtained on the validation set
plt.plot(____['acc'], marker='o')
plt.plot(history_emb[____], marker='o')

# Add extra descriptions to plot
plt.title('Learning with and without pre-trained embedding vectors')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['no_embeddings', 'with_embeddings'], loc='upper left')

# Display the plot
plt.____
แก้ไขและรันโค้ด