Checkpoint: tích chập và backprop
Quiz
- 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
- 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
- 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ử.
- 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.
- 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).
- Để đư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.
- 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.
- 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.