การรัน forward pass

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

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Forward pass คืออะไร?

$$

  • ข้อมูล input ไหลผ่าน เลเยอร์ต่างๆ
  • คำนวณ ที่แต่ละเลเยอร์
  • เลเยอร์สุดท้ายสร้าง output

$$

  • output ถูกสร้างจาก weights และ biases
  • ใช้สำหรับ การเทรน และการ ทำนาย

การแสดง forward pass

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

Forward pass คืออะไร?

$$

รูปแบบ output ที่เป็นไปได้:

  • Binary classification
  • Multi-class classification
  • Regression

การแสดง forward pass โดยไฮไลต์ output สุดท้าย

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

Binary classification: forward pass

บล็อกโค้ดพร้อมคอมเมนต์

# Create binary classification model
model = nn.Sequential(
  nn.Linear(6, 4), # First linear layer
  nn.Linear(4, 1), # Second linear layer
  nn.Sigmoid() # Sigmoid activation function
)
Deep Learning เบื้องต้นด้วย PyTorch

Binary classification: forward pass

# Pass input data through model
output = model(input_data)
print(output)
tensor([[0.5188], [0.3761], [0.5015], [0.3718], [0.4663]], 
    grad_fn=<SigmoidBackward0>)
  • output: ค่าความน่าจะเป็น 5 ค่า ระหว่าง 0 ถึง 1 สำหรับแต่ละสัตว์

  • การจำแนก (threshold ที่ 0.5):

    • Class = 1 (สัตว์เลี้ยงลูกด้วยนม) เมื่อค่า ≥ 0.5 (0.5188, 0.5015)
    • Class = 0 (ไม่ใช่สัตว์เลี้ยงลูกด้วยนม) เมื่อค่า < 0.5 (0.3761, 0.3718, 0.4633)
Deep Learning เบื้องต้นด้วย PyTorch

Multi-class classification: forward pass

  • Class 1 - สัตว์เลี้ยงลูกด้วยนม, class 2 - นก, class 3 - สัตว์เลื้อยคลาน
n_classes = 3


# Create multi-class classification model model = nn.Sequential( nn.Linear(6, 4), # First linear layer nn.Linear(4, n_classes), # Second linear layer
nn.Softmax(dim=-1) # Softmax activation )
# Pass input data through model output = model(input_data) print(output.shape)
torch.Size([5, 3])
Deep Learning เบื้องต้นด้วย PyTorch

Multi-class classification: forward pass

multiclass.jpg

  • ผลรวมของแต่ละแถวเท่ากับ 1
  • label ที่ทำนาย = class ที่มีความน่าจะเป็นสูงสุด
  • แถว 1 = class 1 (สัตว์เลี้ยงลูกด้วยนม), แถว 2 = class 1 (สัตว์เลี้ยงลูกด้วยนม), แถว 3 = class 3 (สัตว์เลื้อยคลาน)
Deep Learning เบื้องต้นด้วย PyTorch

Regression: forward pass

# Create regression model
model = nn.Sequential(
  nn.Linear(6, 4), # First linear layer
  nn.Linear(4, 1) # Second linear layer
)

# Pass input data through model
output = model(input_data)

# Return output
print(output)
tensor([[0.3818],
        [0.0712],
        [0.3376],
        [0.0231],
        [0.0757]], 
        grad_fn=<AddmmBackward0>)
Deep Learning เบื้องต้นด้วย PyTorch

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

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

Preparing Video For Download...