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.
xy targetŷ predictOK?

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.