การปรับปรุงประสิทธิภาพโมเดล

Deep Learning เบื้องต้นด้วย PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

ขั้นตอนเพื่อเพิ่มประสิทธิภาพสูงสุด

$$

  • แก้ปัญหาได้หรือไม่?

  • กำหนด baseline ของประสิทธิภาพ

$$

  • เพิ่มประสิทธิภาพบน validation set

$$ $$

  • บรรลุประสิทธิภาพสูงสุดที่เป็นไปได้

ขั้นตอนที่ 1

ขั้นตอนที่ 2

ขั้นตอนที่ 3

Deep Learning เบื้องต้นด้วย PyTorch

ขั้นตอนที่ 1: ทำให้ training set overfit

  • ปรับ training loop ให้ overfit ข้อมูลจุดเดียว

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • ควรได้ accuracy 1.0 และ loss เป็น 0
  • จากนั้นขยายไปยัง training set ทั้งหมด

    • ใช้ hyperparameter ค่าเริ่มต้น
Deep Learning เบื้องต้นด้วย PyTorch

ขั้นตอนที่ 2: ลด overfitting

  • เป้าหมาย: เพิ่ม validation accuracy ให้สูงสุด

  • ทดลองปรับ:

    • Dropout
    • Data augmentation
    • Weight decay
    • ลดความซับซ้อนของโมเดล

$$

  • บันทึก hyperparameter และ validation accuracy ในแต่ละครั้ง

overfitting

Deep Learning เบื้องต้นด้วย PyTorch

ขั้นตอนที่ 2: ลด overfitting

$$

โมเดลเดิมที่ overfit ข้อมูล training ประสิทธิภาพเดิม

$$

โมเดลที่อัปเดตแล้วแต่ regularization มากเกินไป regularization มากเกินไป

Deep Learning เบื้องต้นด้วย PyTorch

ขั้นตอนที่ 3: ปรับ hyperparameter อย่างละเอียด

  • Grid search
for factor in range(2, 6):
    lr = 10 ** -factor

grid search

  • Random search
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

random search

Deep Learning เบื้องต้นด้วย PyTorch

มาฝึกกันเถอะ!

Deep Learning เบื้องต้นด้วย PyTorch

Preparing Video For Download...