Neuron nhân tạo — trọng số mới là thứ model học được
Một neuron chỉ làm hai việc: tính tổng có trọng số rồi cho qua hàm kích hoạt. Thứ duy nhất huấn luyện thay đổi là bộ trọng số đó, không phải mã nguồn.
TL;DR: Một neuron nhân tạo là một hàm tính toán đơn giản: nhân mỗi đầu vào với một trọng số, cộng tất cả lại kèm một hằng số bias, rồi đưa kết quả qua một hàm kích hoạt để thu về đầu ra. Toàn bộ quá trình huấn luyện — "train model", "fine-tune", "học từ dữ liệu" — thực ra chỉ là chỉnh lại các con số trọng số và bias đó. Cấu trúc hàm, mã nguồn, kiến trúc mạng: không đổi. Đây là câu trả lời cụ thể nhất cho câu hỏi "học từ dữ liệu nghĩa là gì".
Bài trước phân biệt hai hướng: nếu luật có thể viết tay được — dùng if-else, nhanh và kiểm soát được. Nếu luật quá nhiều, quá mờ, hoặc thay đổi theo dữ liệu — cần machine learning. Module này trả lời câu hỏi tiếp theo: "học" ở mức neuron đơn lẻ thực ra là gì?
1. Một neuron nhân tạo thực sự làm gì?
Hàng ngày ta đọc những cụm như "train lại model", "model 7 tỷ tham số", hay "fine-tune trên dataset mới". Nhưng nếu hỏi cụ thể hơn — ở mức nhỏ nhất, "học" có nghĩa là gì? — câu trả lời thường dừng lại ở "model thần kỳ tự hiểu dữ liệu".
Bài này mở hộp đen tại đơn vị nhỏ nhất: một neuron. Từ đó, cụm "model học từ dữ liệu" sẽ có nghĩa chính xác thay vì mơ hồ.
Một neuron nhân tạo chỉ làm đúng hai việc:
- Tính một tổng có trọng số — nhân từng đầu vào với một hệ số rồi cộng tất cả lại, kèm một hằng số.
- Đưa tổng đó qua một hàm — để bẻ cong hoặc nén kết quả về một khoảng xác định.
Nghe đơn giản đến mức khó tin. Nhưng hàng tỷ neuron như vậy xếp lớp chồng nhau tạo ra GPT, Gemini, và mọi mô hình ngôn ngữ lớn đang dùng mỗi ngày.
2. Neuron như một hàm chấm điểm có núm vặn — ví dụ chấm hồ sơ vay vốn
Để hiểu neuron là gì, hãy bắt đầu từ một bài toán quen thuộc với backend dev: chấm sơ bộ hồ sơ vay vốn ngân hàng.
Có ba chỉ số đầu vào:
x1: thu nhập hàng tháng (triệu VND)x2: số năm làm việc tại công ty hiện tạix3: số khoản vay đang còn nợ
| Chấm hồ sơ vay | Neuron |
|---|---|
| Thu nhập, số năm làm, số khoản nợ | Đầu vào x1, x2, x3 |
| Mức quan trọng của từng tiêu chí | Trọng số w1, w2, w3 |
| Ngưỡng cơ sở nới hoặc siết chung | Bias b |
| Điểm tổng trước khi qua hàm kích hoạt | z |
| Quyết định cuối (duyệt / từ chối) | Đầu ra a = f(z) |
Cách truyền thống là viết rule-based: if thu_nhap > 10 && so_no < 2 → duyệt. Nhưng nếu muốn để dữ liệu lịch sử tự tìm ra các ngưỡng đó, ta dùng một neuron. Neuron này cũng nhận ba con số đầu vào, nhưng thay vì luật cứng, nó tính tổng có trọng số:
function neuron(x1, x2, x3):
w1 <- 0.6 // thu nhap co trong so cao nhat
w2 <- 0.2 // so nam lam viec co anh huong nho hon
w3 <- -0.5 // cang nhieu no cang giam diem
b <- -2.0 // nguong co so (bias)
z <- w1 * x1 + w2 * x2 + w3 * x3 + b
a <- f(z) // ham kich hoat
return a
Bốn con số w1, w2, w3, b là các tham số (parameters). Trong ví dụ này ta tự đặt tay. Khi train một neural network, thuật toán học sẽ tự tìm ra những con số này từ dữ liệu lịch sử — không cần chuyên gia ngồi nghĩ xem "thu nhập nên có hệ số 0.6 hay 0.7".
2.1 Tính tay — Hồ sơ A (người có thu nhập ổn)
| Đầu vào | Giá trị | Trọng số | Tích |
|---|---|---|---|
| x1 — thu nhập | 10 triệu | 0.6 | 6.0 |
| x2 — năm làm việc | 3 năm | 0.2 | 0.6 |
| x3 — số khoản nợ | 1 khoản | -0.5 | -0.5 |
| b — bias | — | — | -2.0 |
| z — tổng | 4.1 |
Kiểm tra từng bước: 0.6 × 10 = 6.0; 0.2 × 3 = 0.6; -0.5 × 1 = -0.5; cộng bias -2.0:
z = 6.0 + 0.6 - 0.5 - 2.0 = 4.1
z = 4.1 — dương và khá cao — sau hàm kích hoạt f(z), neuron sẽ "bật mạnh".
2.2 Hồ sơ B (người thu nhập thấp, nhiều nợ)
| Đầu vào | Giá trị | Trọng số | Tích |
|---|---|---|---|
| x1 — thu nhập | 5 triệu | 0.6 | 3.0 |
| x2 — năm làm việc | 1 năm | 0.2 | 0.2 |
| x3 — số khoản nợ | 3 khoản | -0.5 | -1.5 |
| b — bias | — | — | -2.0 |
| z — tổng | -0.3 |
Kiểm tra: 0.6 × 5 = 3.0; 0.2 × 1 = 0.2; -0.5 × 3 = -1.5; cộng bias -2.0:
z = 3.0 + 0.2 - 1.5 - 2.0 = -0.3
z = -0.3 — âm — neuron "tắt". Cùng một hàm, cùng bộ trọng số, kết quả ngược nhau vì dữ liệu đầu vào khác.
Đây chính là sức mạnh của "núm vặn": bốn con số w1, w2, w3, b kiểm soát toàn bộ hành vi của hàm chấm điểm. Thay đổi những con số này là thay đổi "quan điểm" của neuron.
3. Công thức tổng quát và sơ đồ
Với n đầu vào, công thức một neuron viết gọn:
z = w1*x1 + w2*x2 + ... + wn*xn + b // tong co trong so
a = f(z) // ham kich hoat
Trong đó:
x1đếnxn— các đầu vào (dữ liệu; không thay đổi khi train)w1đếnwn— trọng số (weights; thứ model học được, thay đổi khi train)b— bias (cũng học được, cũng thay đổi khi train)f— hàm kích hoạt (một hàm toán học cố định; không thay đổi)a— đầu ra của neuron (activation)

Sơ đồ này mô tả đúng một neuron trong mọi mạng nơ-ron hiện đại — từ mạng nhỏ nhất đến GPT, Gemini hay Claude. Khác biệt giữa các mô hình nằm ở số lượng neuron và cách chúng được nối lại, không phải ở cơ chế bên trong một neuron.
4. Điều gì thực sự thay đổi khi model "học"?
Đây là câu hỏi cốt lõi của bài — và câu trả lời ngắn gọn hơn hầu hết mọi người nghĩ.
Khi train model, chỉ có hai thứ thay đổi: w và b.
Cấu trúc hàm tính z, hàm kích hoạt f, kiến trúc mạng (bao nhiêu lớp, bao nhiêu neuron mỗi lớp) — tất cả cố định trước khi train. Chỉ các con số trọng số được cập nhật qua từng bước học.
Đây là sự khác biệt căn bản với rule-based — điểm nhớ lại từ module 1:
| Rule-based | Neural network | |
|---|---|---|
| Logic nằm ở đâu | Trong code: if-else, hàm, luật | Trong các con số w và b |
| Cách "học" | Dev viết thêm rule, sửa code | Cập nhật giá trị w và b |
| Người cần hiểu vấn đề? | Có — để viết luật đúng | Không bắt buộc — thuật toán tự tìm |
| Thay đổi hành vi bằng cách nào | Sửa code rồi deploy lại | Thay bộ trọng số |
Trong ví dụ vay vốn: rule-based là người ngồi gõ if thu_nhap > 10 && so_no < 2 → duyệt. Neural network là đưa cho thuật toán hàng nghìn hồ sơ đã được duyệt hay từ chối, rồi thuật toán tự tìm ra w1 = 0.6, w2 = 0.2, w3 = -0.5, b = -2.0 — hoặc bộ số nào tốt hơn — để tái tạo kết quả đó.
"Tham số" chính là các con số w và b trong toàn bộ mạng. Model 7 tỷ tham số có khoảng 7.000.000.000 con số w và b được train đồng thời. Khi "train lại" hay "fine-tune", nghĩa là cập nhật lại một phần hoặc toàn bộ trong số đó — không có code mới, không có luật mới, không có kiến trúc mới.
5. Bias dịch chuyển ngưỡng như thế nào?
Bias b có một vai trò đơn giản nhưng không thể bỏ qua: dịch chuyển ngưỡng.
Nếu không có bias (b = 0), tổng z = w1*x1 + ... + wn*xn. Khi tất cả đầu vào bằng không, z luôn bằng không — neuron không thể bật hay tắt một cách mặc định.
Bias cộng thêm một con số độc lập với đầu vào, cho phép neuron có điểm xuất phát (baseline) riêng. Tương tự hệ số c trong phương trình đường thẳng y = ax + c — nó dịch đường thẳng lên hoặc xuống mà không đổi độ dốc.
Trong ví dụ vay vốn: b = -2.0 nghĩa là mọi hồ sơ đều bắt đầu ở điểm -2.0, phải "kiếm đủ điểm" từ thu nhập và kinh nghiệm mới lên được vùng dương. Đây là cách mã hoá ý tưởng "tiêu chuẩn cơ bản để vượt" vào một con số học được — thay vì hardcode ngưỡng trong code.
6. Hàm kích hoạt — tại sao phép tổng tuyến tính chưa đủ?
Sau khi tính z, tại sao không dùng z trực tiếp làm đầu ra? Tại sao cần thêm hàm f?
Câu trả lời đầy đủ thuộc về Bài 02 — Xếp lớp và hàm phi tuyến. Nhưng trực giác ngắn gọn là: nếu f là hàm tuyến tính (hoặc không có f), dù xếp bao nhiêu lớp neuron lại với nhau, kết quả cuối cùng vẫn chỉ là một phép tổng tuyến tính — tương đương một neuron duy nhất. Xếp thêm lớp mà không có phi tuyến tính không tăng sức mạnh mô tả của mạng.
Hàm kích hoạt bẻ cong đầu ra. Ví dụ: ReLU trả về z nếu z dương và trả về 0 nếu âm — tạo ra "ngưỡng" phi tuyến. Sigmoid nén z về khoảng 0 đến 1. Sự bẻ cong này mới cho phép mạng nhiều lớp học được những mối quan hệ phức tạp mà tuyến tính không thể mô tả.
Những cái tên thường gặp: ReLU (Rectified Linear Unit) — trả về max(0, z); Sigmoid — nén về 0 đến 1, thường dùng ở lớp đầu ra cho bài toán phân loại nhị phân; Tanh — nén về -1 đến 1; GELU — biến thể mịn của ReLU, dùng trong transformer. Bài này không yêu cầu nhớ công thức — điều quan trọng là tất cả đều làm một việc: bẻ cong đầu ra theo cách phi tuyến.
7. Ba hiểu lầm hay gặp khi mới học neuron
Hiểu lầm 1: Neuron nhân tạo mô phỏng nơ-ron sinh học
Tên "neuron" là di sản lịch sử từ những năm 1940–1950, khi các nhà nghiên cứu lấy cảm hứng từ khoa học thần kinh. Nhưng neuron nhân tạo và nơ-ron sinh học khác nhau hoàn toàn: nơ-ron sinh học dùng tín hiệu điện hoá học, có cấu trúc kết nối phức tạp và thay đổi theo kinh nghiệm theo cách mà phép tổng có trọng số không mô phỏng được. Tên gọi mang tính ẩn dụ lịch sử, không phải bản thiết kế.
Hiểu lầm 2: "Học" là model tự sinh thêm luật hoặc code
Sau khi train, model không có thêm dòng code nào, không có thêm hàm nào, không có thêm nhánh điều kiện nào. Thứ duy nhất thay đổi là các con số w và b. Kiến thức được mã hoá vào những con số đó — không phải vào cấu trúc chương trình.
Hiểu lầm 3: Trọng số là dữ liệu; model lưu trữ dataset bên trong
Model không lưu trữ hồ sơ vay vốn, câu văn, hay hình ảnh nào trong bộ nhớ của nó. Trọng số là kết quả của quá trình học — chúng phản ánh pattern từ dữ liệu, không phải bản sao của dữ liệu. Đây là lý do model có thể trả lời câu hỏi về chủ đề chưa từng thấy trong training data — và cũng là lý do model có thể sinh ra thông tin sai mà trình bày tự tin (hallucinate), vì cơ chế là tái tạo pattern, không phải tra cứu.
8. Đào sâu — nơi ý tưởng xuất hiện lần đầu
Ý tưởng mô hình toán học cho nơ-ron không phải sản phẩm của thời đại deep learning. Hai bài báo gốc:
McCulloch & Pitts (1943) — "A Logical Calculus of the Ideas Immanent in Nervous Activity", Bulletin of Mathematical Biophysics, 5(4): 115–133. Đây là bài báo đề xuất đầu tiên một mô hình nơ-ron nhân tạo như một phần tử logic nhị phân. Bản PDF lưu tại CMU — xác nhận accessible tại thời điểm viết bài: cs.cmu.edu/~epxing/Class/10715/reading/McCulloch.and.Pitts.pdf
Rosenblatt (1958) — "The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain", Psychological Review, 65(6): 386–408 (DOI: 10.1037/h0042519). Đây là bài báo giới thiệu perceptron — một neuron với trọng số có thể học được từ dữ liệu, nền tảng trực tiếp của bài này. Link full-text qua DOI yêu cầu subscription APA; đọc ở mức "đây là nơi ý tưởng xuất hiện lần đầu".
Lưu ý khi đọc: cả hai bài dùng ngôn ngữ toán học hình thức. Đọc phần abstract và introduction để nắm bối cảnh lịch sử — không cần theo từng công thức.
9. Liên hệ các bài khác
-
Khi nào cần học từ dữ liệu — Module 1, Bài 01 — bài đó giải thích tại sao đôi khi rule-based tốt hơn ML; bài này cho thấy khi chọn ML thì "học" có nghĩa cụ thể là gì ở mức neuron đơn.
-
Bài 02 — Xếp lớp và hàm phi tuyến — tại sao xếp nhiều neuron tuyến tính không tăng sức mạnh; phi tuyến tính và MLP là gì.
-
Bài 03 — Loss: đo cái sai — loss là con số đo độ sai của toàn bộ bộ trọng số; đây là thứ quá trình train tối thiểu hoá.
-
Bài 04 — Gradient descent — cơ chế thật sự để cập nhật
wvàb: vòng lặp forward → loss → gradient → cập nhật. -
Bài 05 — Tham số và siêu tham số — đếm số lượng
wvàbtrong toàn mạng, ước lượng bộ nhớ.
Bài tiếp theo: Xếp lớp và hàm phi tuyến — vì sao một lớp không đủ
10. Tóm tắt
- Neuron: z = Σ(wᵢ·xᵢ) + b → a = f(z); chỉ
wvàbthay đổi khi train, cấu trúc mạng và mã nguồn không đổi. - Bias dịch chuyển ngưỡng xuất phát độc lập với đầu vào — cho phép neuron có "tiêu chuẩn cơ bản" học từ dữ liệu.
- Hàm kích hoạt bẻ cong đầu ra — cần thiết để nhiều lớp có sức mạnh hơn một lớp (Bài 02 đào sâu).
- "Train model N tỷ tham số" = cập nhật N tỷ con số
wvàb— không thêm code, không thêm luật.
11. Tự kiểm tra
Q1Nếu tăng trọng số w1 gấp đôi nhưng giữ nguyên tất cả đầu vào x1..xn, đầu ra z thay đổi thế nào? Giải thích theo cơ chế tính toán trong công thức.▸
Q2Một đồng nghiệp lập luận: 'sau mỗi epoch train, model sinh ra rule mới nên dần hiểu được vấn đề'. Sai ở đâu? Cái gì thật sự thay đổi sau mỗi epoch?▸
Q3Tại sao nói neuron nhân tạo 'lưu tri thức vào số' thay vì 'vào code'? Điều này khác với lập trình rule-based như thế nào?▸
Q4Trong ví dụ vay vốn, bias b = -2.0. Nếu đặt b = 0 và giữ nguyên mọi trọng số, hồ sơ B (z = -0.3 lúc trước) sẽ cho z bằng bao nhiêu? Điều đó có nghĩa gì về vai trò của bias?▸
Q5Model GPT-4 được ước tính có hàng trăm tỷ tham số. Theo cơ chế bài này, những tham số đó là gì? Khi 'fine-tune GPT-4 trên tài liệu công ty', thứ gì thực sự thay đổi?▸
Q6Model không lưu trữ dữ liệu gốc, chỉ lưu trọng số. Điều này giải thích được gì về hallucination — khi model đưa ra thông tin sai một cách tự tin?▸
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