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

การเปรียบเทียบจำนวนพารามิเตอร์

การแทนค่าแบบ one-hot ไม่ใช่วิธีที่เหมาะสมสำหรับการแทนคำ เนื่องจากเวกเตอร์ที่ได้มีความหนาแน่นต่ำมาก (sparse) ในขณะที่การใช้ layer Embedding จะสร้างการแทนค่าที่หนาแน่นกว่า (dense) แต่ต้องการพารามิเตอร์จำนวนมากในการเรียนรู้

ในแบบฝึกหัดนี้ จะเปรียบเทียบจำนวนพารามิเตอร์ระหว่างโมเดลสองแบบ ได้แก่ แบบที่ใช้ embeddings และแบบที่ใช้ one-hot encoding เพื่อดูความแตกต่าง

โมเดล model_onehot ถูกโหลดไว้ในสภาพแวดล้อมแล้ว พร้อมกับ Sequential, Dense และ GRU จาก keras และพารามิเตอร์ vocabulary_size=80000 กับ sentence_len=200 ก็ถูกโหลดไว้เรียบร้อยแล้วเช่นกัน

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

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

ดูคอร์ส

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

  • Import Embedding layer จาก keras.layers
  • ใน embedding layer ให้ใช้ vocabulary size บวกหนึ่งเป็น input dimension และใช้ sentence size เป็น input length
  • Compile โมเดล
  • แสดง summary ของโมเดลที่ใช้ embedding

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

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

# Import the embedding layer
from tensorflow.keras.layers import ____

# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=____, output_dim=wordvec_dim, input_length=____, trainable=True))
model.add(GRU(128))
model.add(Dense(1))
model.____(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Print the summaries of the one-hot model
model_onehot.summary()

# Print the summaries of the model with embeddings
model.____
แก้ไขและรันโค้ด