Tổng kết: Não nhân tạo vừa đủ
Cheat sheet neuron, phi tuyến, loss, vòng lặp gradient descent, tham số vs siêu tham số, representation — và self-assessment đối chiếu 6 outcomes.
TL;DR: Module này bóc bảy bài. Điểm xuất phát là một neuron đơn giản (tổng có trọng số rồi qua hàm kích hoạt), rồi mở rộng ra thành lớp, mạng nhiều tầng, vòng lặp học, và cách chẩn đoán khi mọi thứ đi lệch. Đây là 1 trang để bookmark và đối chiếu khi đọc tài liệu về transformer, embedding, hay bất kỳ thảo luận nào về "train model".
1. Đã đi qua những gì
Module bắt đầu từ câu hỏi cụ thể nhất: ở mức nhỏ nhất, một neuron làm gì? Bài 01 trả lời: tính tổng có trọng số rồi đưa qua hàm kích hoạt — và chỉ có w, b thay đổi khi train.
Bài 02 bước lên một tầng: vì sao phải xếp nhiều lớp? Vì chồng lớp tuyến tính không tăng sức mạnh — cần hàm phi tuyến giữa các lớp mới vẽ được ranh giới cong. MLP ra đời từ đó.
Bài 03 và 04 giải quyết câu hỏi trung tâm của học: làm thế nào mạng tự cải thiện? Loss gộp toàn bộ sai lệch về một con số; gradient descent dùng con số đó để chỉnh từng trọng số qua vòng lặp forward → loss → gradient → cập nhật.
Bài 05 làm rõ ngôn ngữ: "7 tỷ tham số" đếm cái gì, siêu tham số là gì, và từ số tham số tính được VRAM tối thiểu.
Bài 06 đặt câu hỏi sâu hơn: mạng học được gì? Vector tầng ẩn không phải dữ liệu thô, không phải nhãn — đó là representation, nền chung của embedding lẫn attention.
Bài 07 cho bạn thực hành: đọc ba đường cong loss hỏng và chẩn đoán ba ca thất bại điển hình.

2. Cheat sheet
2.1 Cơ chế một neuron
| Thứ | Công thức / mô tả | Ghi nhớ |
|---|---|---|
| Tổng có trọng số | z = w1*x1 + ... + wn*xn + b | w và b là thứ train thay đổi |
| Hàm kích hoạt | a = f(z) — ReLU, Sigmoid, GELU | Phi tuyến; cố định, không thay đổi khi train |
| "Học" là gì | Cập nhật các con số w và b | Không thêm code, không thêm rule |
2.2 Kiến trúc nhiều lớp
| Câu hỏi | Trả lời |
|---|---|
| N lớp tuyến tính = ? | Đúng 1 lớp tuyến tính — không tăng sức mạnh |
| Phi tuyến làm gì? | Phá vỡ khả năng thu gọn → cho phép ranh giới cong |
| Sức chứa tăng theo | Số lớp ẩn và số neuron mỗi lớp |
| Overfit / underfit | Sức chứa cao + ít dữ liệu → overfit; sức chứa thấp → underfit |
2.3 Loss và metric
| Loss | Metric | |
|---|---|---|
| Ai dùng | Máy (tối ưu trọng số) | Người (đọc và ra quyết định) |
| Yêu cầu | Mượt, liên tục (cần gradient) | Không cần mượt |
| Ví dụ | MSE, cross-entropy | Accuracy, recall, F1 |
| Chọn sai | Model tối ưu đúng thứ bạn viết, kể cả khi đó không phải thứ bạn muốn | — |
2.4 Vòng lặp huấn luyện
for each epoch:
for each batch in train_set:
preds = forward(model, batch) // step 1
loss = compute_loss(preds, labels) // step 2
grads = backprop(model, loss) // step 3
w <- w - lr * grads // step 4: update
val_loss = evaluate(model, val_set)
| Khái niệm | Định nghĩa |
|---|---|
| Batch | Tập con mẫu dùng trong một bước cập nhật |
| Epoch | Một lượt đi hết toàn bộ tập train |
| Learning rate | Bước nhảy mỗi lần cập nhật: quá lớn → dao động; quá nhỏ → bò mãi |
2.5 Tham số vs siêu tham số
| Tham số | Siêu tham số | |
|---|---|---|
| Ví dụ | w, b | Learning rate, số lớp, batch size, số epoch |
| Ai đặt | Model tự học qua gradient descent | Người — đặt trước khi train |
| Bộ nhớ (float16) | N_params × 2 byte | — |
| Quy tắc ngón tay | 1 tỷ tham số ≈ 2 GB VRAM ở float16 | — |
2.6 Đường cong loss — ba ca hỏng
| Hình dạng | Khoảng cách train/val | Chẩn đoán | Hành động |
|---|---|---|---|
| Dao động loạn, không xu hướng | Nhỏ, đồng pha | Learning rate quá lớn | Giảm lr 10 lần; thử Adam |
| Phẳng ở mức cao từ sớm | Rất nhỏ, gần trùng | Underfit — thiếu sức chứa | Tăng số lớp / số neuron |
| Train giảm đều, val chạm đáy rồi tăng | Lớn, ngày càng doãng | Overfit | Dropout, early stopping, thêm dữ liệu |
3. Pitfall tổng hợp
P1 — Neuron: "Train xong, model có thêm rule mới trong code." Sai — chỉ số w và b thay đổi; kiến trúc và code cố định.
P2 — Phi tuyến: "Nhiều lớp = model mạnh hơn." Chỉ đúng khi giữa các lớp có phi tuyến; thiếu phi tuyến, N lớp = 1 lớp về năng lực biểu diễn.
P3 — Loss thiết kế: "Loss thấp = sản phẩm tốt." Không — model tối ưu đúng thứ loss đo. Dữ liệu lệch (fraud detection 99% bình thường) cho loss thấp và sản phẩm vô dụng.
P4 — So loss: "Model A loss 0.3 tốt hơn model B loss 2.1." Không so được — MSE và cross-entropy dùng thang đo khác nhau.
P5 — Train: "Loss không giảm → dữ liệu xấu." Kiểm tra learning rate trước: lr quá lớn thì loss dao động mà không do dữ liệu.
P6 — Bộ nhớ: "14 GB trọng số = đủ để chạy model 7B." Overhead KV cache, activation, và framework đẩy tổng lên đáng kể; cần thử nghiệm thực tế.
P7 — Embedding: "Vector từ model A tìm được trong index của model B." Mỗi model có không gian representation riêng; hai không gian không tương thích dù cùng số chiều.
✅ Self-assessment
-
Tôi có thể giải thích chuỗi tính toán của một neuron (tổng có trọng số → hàm phi tuyến) và vì sao xếp nhiều lớp tuyến tính không mạnh hơn một lớp.
-
Tôi có thể mô tả cơ chế loss gộp sai lệch về một con số, phân biệt MSE với cross-entropy, và giải thích vì sao chọn loss là quyết định thiết kế.
- Nếu chưa: re-read bài 03 §2–4.
-
Tôi có thể trace bốn bước forward→loss→gradient→cập nhật trọng số, và giải thích vai trò của learning rate.
- Nếu chưa: re-read bài 04 §2–4.
-
Tôi phân biệt được tham số (model tự học) với siêu tham số (người chọn trước), và ước lượng được VRAM tối thiểu để nạp model N tỷ tham số.
- Nếu chưa: re-read bài 05 §2–5.
-
Tôi có thể giải thích vector tầng ẩn là gì, tại sao nó có thể tái sử dụng, và vì sao nó là nền chung của embedding lẫn attention.
- Nếu chưa: re-read bài 06 §2–5.
-
Tôi có thể đọc hai đường loss (train và val) và phân biệt ba ca: learning rate quá lớn, model thiếu sức chứa, và overfit — kèm hành động sửa mỗi ca.
🚀 Tiếp theo
Module này cho bạn đủ nền để đọc tài liệu về neural net mà không bị mất trong thuật ngữ. Module 3 bước sang cỗ máy bạn đang dùng hàng ngày — LLM. Điểm xuất phát: khi model sinh văn bản, nó đang làm gì ở mức token?
Bài tiếp theo: Dự đoán token kế tiếp — vòng lặp sinh văn bản
Module 4 (Transformer và attention) sẽ mổ xẻ cơ chế attention thao tác trên các vector representation mà bài 06 vừa giới thiệu — đó là lúc module này thực sự phát huy tác dụng.
Bài này đáng gửi cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Bài này có giúp bạn hiểu bản chất không?
Hỏi đáp về bài này
Chưa có câu hỏi
Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).
Đặt câu hỏi đầu tiên