✅ Checkpoint: tích chập và backprop

By Better Wise

Quiz

  1. Một lớp conv 2D nhận input (N=8, C=3, H=W=32), kernel K=5, stride S=2, padding P=2. H_out và W_out bằng bao nhiêu?
    • 15 và 15
    • 16 và 16
    • 14 và 14
    • 32 và 32
  2. Số tham số của một lớp conv có C_in=3, C_out=16, kernel 3x3 (có bias) là bao nhiêu?
    • 16 × 3 × 3 = 144
    • 16 × 3 × 3 × 3 = 432
    • 16 × (3 × 3 × 3 + 1) = 448
    • 3 × 3 × 3 + 1 = 28
  3. Những phát biểu nào đúng về im2col và vector hóa tích chập? (chọn tất cả đáp án đúng)
    • Có thể bỏ bước transpose sau reshape mà kết quả vẫn khớp naive conv.
    • Số hàng của im2col là N * H_out * W_out, xếp theo thứ tự (n, i, j).
    • Sau GEMM, phải reshape về (N, H_out, W_out, C_out) rồi transpose để về channel-first.
    • im2col giảm bộ nhớ so với naive conv vì không sao chép dữ liệu.
    • Mỗi hàng của ma trận im2col là một patch K×K×C_in đã trải phẳng, dài C_in*K*K phần tử.
  4. Trong backward của lớp conv dùng im2col, những phát biểu nào đúng? (chọn tất cả đáp án đúng)
    • dX_col = dY_col @ W_colᵀ, sau đó scatter-add về dX shape (N, C, H, W).
    • Backward của conv cần một công thức riêng, không liên quan đến backward của lớp tuyến tính.
    • dW_col = X_colᵀ @ dY_col, sau đó reshape về (F, C, KH, KW).
    • db là tổng dY theo cả batch lẫn hai trục không gian.
    • dX có thể gán trực tiếp từ dX_col vì mỗi pixel input chỉ thuộc một receptive field.
  5. Với lớp tuyến tính Y = XW + b, gradient theo weight được tính bằng công thức ____ (viết dạng biểu thức với X và dY).
  6. Để đưa dX_col (shape N*OH*OW, C*KH*KW) về dX shape (N, C, H, W), ta phải dùng phép ____ các cột về vị trí pixel gốc, không được gán trực tiếp.
  7. Hãy tự đánh giá khả năng của bạn trong việc suy ra và kiểm tra gradient của lớp tuyến tính và lớp tích chập.
  8. Hãy tự đánh giá mức độ nắm vững quy trình kiểm tra shape và vector hóa tích chập trước khi viết code.

Sign in to submit answers.