Tổng kết Não nhân tạo vừa đủ: cheat sheet và tự đánh giá
Cheat sheet neuron, phi tuyến, loss, gradient descent, tham số và siêu tham số, representation, ba ca đường cong loss hỏng, kèm self-assessment theo 6 outcome.
TL;DR: Module này đi từ một neuron đơn lẻ (tổng có trọng số rồi qua hàm kích hoạt) lên lớp, mạng nhiều lớp, vòng lặp học, và cách chẩn đoán khi việc train đi lệch. Đây là trang để bookmark và tra lại khi đọc tài liệu về transformer, embedding, hay bất kỳ cuộc thảo luận nào về "train model".
1. Đã đi qua những gì
Bài 01 trả lời câu hỏi nhỏ nhất: một neuron làm gì? Nó tính tổng có trọng số rồi cho qua hàm kích hoạt, và khi train chỉ w, b thay đổi. Bài 02 cho thấy chồng lớp tuyến tính không mạnh thêm; phải có hàm phi tuyến giữa các lớp thì mạng mới vẽ được ranh giới cong, và XOR là ví dụ nhỏ nhất.
Bài 03 và 04 dựng vòng lặp học: loss gom mọi sai lệch về một con số, gradient descent dùng con số đó để chỉnh từng trọng số qua bốn bước 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ố nhẩm ra bộ nhớ tối thiểu. Bài 06 hỏi mạng rốt cuộc học được gì: representation ở lớp ẩn, nền chung của embedding lẫn attention. Bài 07 cho bạn đọc ba đường cong loss hỏng và chẩn đoán từng ca.
2. Cheat sheet
2.1 Neuron và lớp
| Câu hỏi | Trả lời |
|---|---|
| Một neuron tính gì? | z = w1*x1 + ... + wn*xn + b, rồi a = f(z) |
| Khi train, cái gì đổi? | Chỉ các con số w, b; code và kiến trúc đứng yên |
| N lớp tuyến tính bằng mấy lớp? | Đúng 1 lớp tuyến tính |
| Phi tuyến làm gì? | Bẻ gãy đường thẳng, chặn việc thu gọn, cho phép ranh giới cong (XOR cần 2 nếp gãy) |
| Sức chứa tăng theo gì? | Số lớp ẩn và số neuron mỗi lớp |
2.2 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 |
| Bẫy | Dữ liệu lệch lớp: loss thấp mà không bắt được ca hiếm nào | So hai model bằng hai hàm loss khác nhau |
2.3 Vòng lặp huấn luyện
for each epoch:
for each batch in train_set:
preds = forward(model, batch) // bước 1
loss = compute_loss(preds, labels) // bước 2
grads = backprop(model, loss) // bước 3
w <- w - lr * grads // bước 4: cập nhật
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 tập train |
| Learning rate | Độ dài mỗi bước: quá lớn thì dao động hoặc tăng vọt, quá nhỏ thì bò mãi |
2.4 Tham số và 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 |
| Đếm / ước lượng | Lớp m→n có m×n + n tham số; 1 tỷ tham số ≈ 2 GB ở 16-bit | Chọn bằng validation, không bằng test |
2.5 Representation
| Câu hỏi | Trả lời |
|---|---|
| Vector ở lớp ẩn là gì? | Cách mạng mô tả dữ liệu, có ích cho nhiệm vụ đang tối ưu |
| Vì sao dùng lại được? | Nó phản ánh cấu trúc chung của dữ liệu (transfer learning, embedding) |
| "Gần nhau" nghĩa là gì? | Gần theo tiêu chí model đã học, không theo cảm nhận người đọc |
| So vector giữa hai model? | Vô nghĩa, dù cùng số chiều |
2.6 Đường cong loss: ba ca hỏng
| Hình dạng | Khoảng cách train/val | Chẩn đoán | Cách sửa |
|---|---|---|---|
| Dao động loạn, không xu hướng | Nhỏ, cùng nhịp | 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 hoặc 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 |
✅ Self-assessment
-
Giải thích được chuỗi tính toán của một neuron (tổng có trọng số rồi 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.
-
Giải thích được loss gom sai lệch về một con số, phân biệt MSE với cross-entropy, và vì sao chọn loss là quyết định thiết kế.
- Nếu chưa: đọc lại bài 03 mục 2–4.
-
Lần theo được 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: đọc lại bài 04 mục 2–4.
-
Phân biệt được tham số (model tự học) với siêu tham số (người chọn trước), và nhẩm được bộ nhớ tối thiểu để nạp model N tỷ tham số.
- Nếu chưa: đọc lại bài 05 mục 2–5.
-
Giải thích được vector ở lớp ẩn là gì, vì sao nó dùng lại được, và vì sao nó là nền chung của embedding lẫn attention.
- Nếu chưa: đọc lại bài 06 mục 2–5.
-
Chẩn đoán được ba ca từ hai đường loss (learning rate quá lớn, thiếu sức chứa, overfit) kèm cách sửa từng ca.
🚀 Tiếp theo
Module này cho bạn đủ nền để đọc tài liệu về neural net mà không lạc thuật ngữ. Module 3 chuyển sang cỗ máy bạn dùng hằng ngày, LLM, bắt đầu từ câu hỏi: khi model sinh văn bản, nó đang làm gì ở mức token? Sau đó, module 4: Transformer & attention mở cơ chế attention làm việc trên chính các vector representation mà bài 06 vừa giới thiệu.
Bài tiếp theo: Dự đoán token kế tiếp: vòng lặp sinh văn bản
Bài này có giúp bạn hiểu bản chất khô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.
Mini-challenge: chẩn đoán ba đường cong huấn luyện hỏng
Bài tiếp Cỗ máy LLMTổng quan: Cỗ máy LLM
Thảo luận & góp ý
Hỏi đáp về bài này