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

Batch Normalization

เพื่อปรับปรุงสถาปัตยกรรมโมเดลขั้นสุดท้าย มาเพิ่ม batch normalization layer หลัง linear layer ทั้งสองชั้นกัน เทคนิค batch norm ช่วยเร่งความเร็วในการ converge ระหว่างการเทรน และป้องกันโมเดลจากปัญหา vanishing และ exploding gradients

torch.nn และ torch.nn.init ถูก import ไว้ให้แล้วในชื่อ nn และ init ตามลำดับ เมื่อปรับแก้สถาปัตยกรรมโมเดลเสร็จแล้ว เตรียมตอบคำถามสั้น ๆ เกี่ยวกับหลักการทำงานของ batch normalization ได้เลย

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

Deep Learning ระดับกลางด้วย PyTorch

ดูคอร์ส

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

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

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(9, 16)
        # Add two batch normalization layers
        ____ = ____
        self.fc2 = nn.Linear(16, 8)
        ____ = ____
        self.fc3 = nn.Linear(8, 1)
        
        init.kaiming_uniform_(self.fc1.weight)
        init.kaiming_uniform_(self.fc2.weight)
        init.kaiming_uniform_(self.fc3.weight, nonlinearity="sigmoid")
แก้ไขและรันโค้ด