Lesson 04 — Neural Network 1-hidden-layer
4 component: kiến trúc mạng (click neuron), train XOR (vẽ decision boundary), forward + backward stepper, so sánh activation và vanishing gradient demo.
1. Kiến trúc mạng — click vào neuron để xem chi tiết
Mạng 2-3-1: input (2) → hidden (3, sigmoid) → output (1, linear)
Click vào bất kỳ neuron để xem giá trị (z, h hoặc activation) và đường weight đến nó được highlight. Đường weight tô xanh = dương, đỏ = âm; độ dày tỉ lệ với |weight|.
Click một neuron để xem chi tiết.
Input
Hidden (sigmoid)
Output (linear)
2. XOR demo — train mạng, vẽ decision boundary cong
4 điểm XOR. Tự train mạng 2-3-1 và xem decision boundary biến đổi qua epoch.
Click Train để bắt đầu. Mỗi điểm XOR tô màu theo class; vùng nền tô theo prediction.
| x | y target | ŷ predict | OK? |
|---|
3. Forward + Backward stepper — chạy từng phép một
Cùng mạng 2-3-1, weights ví dụ trong mục 3-4 của README. Bấm Next để đi qua từng bước.
Step 0/10
Bấm Next để chạy step 1: tính z₁.
4. Activation comparison + vanishing gradient demo
4 activation và đạo hàm trên cùng trục. Demo: gradient bị ép xuống 0 khi qua nhiều lớp sigmoid.
sigmoid
tanh
ReLU
leaky-ReLU
đạo hàm
Đường liền: hàm; đường đứt nét: đạo hàm. Sigmoid đạo hàm cực đại ≈ 0.25; tanh cực đại = 1.0; ReLU = 1 cho z > 0, 0 cho z < 0. Cost tính: sigmoid/tanh cần
exp(), ReLU chỉ cần so sánh — rẻ hơn rất nhiều.
Mỗi cột là 1 lớp. Trục y = ước lượng
||∂L/∂W(l)|| theo upper bound từ chain rule. Với sigmoid, mỗi lớp nhân thêm tối đa 0.25 → sau 10 lớp gradient giảm ~10⁶× — tức input layer học chậm hơn output layer 1 triệu lần.
Với input cho ra
z < 0 luôn, ReLU(z) = 0, ReLU'(z) = 0 → gradient = 0 → weight đứng yên mãi mãi. Leaky-ReLU (đường vàng) có leak 0.01 phía âm → gradient nhỏ nhưng vẫn ≠ 0 → vẫn học được. Đây là lý do leaky-ReLU sinh ra.
Liên hệ bài học: Sau bài này, bạn có toàn bộ machinery — forward + backprop + GD — để hiểu CNN (Lesson 08 CLIP), RNN, Transformer. Tất cả chỉ là biến thể của template này.