Xếp lớp và hàm phi tuyến — vì sao một lớp không đủ
Chồng nhiều lớp tuyến tính vẫn thu gọn được về đúng một lớp, không mạnh hơn. Hàm phi tuyến giữa các lớp mới là thứ mở ra ranh giới cong.
TL;DR: Trực giác phổ biến nói rằng "nhiều tầng = model mạnh hơn". Điều đó đúng — nhưng chỉ khi giữa các tầng có hàm phi tuyến. Nếu mọi tầng đều là phép biến đổi tuyến tính (chỉ nhân rồi cộng), toàn bộ chuỗi đó thu gọn được về đúng một phép biến đổi tuyến tính duy nhất — dù bạn chồng bao nhiêu tầng. Hàm phi tuyến như ReLU phá vỡ khả năng thu gọn đó, cho phép mạng học ra ranh giới cong phức tạp thay vì chỉ đường thẳng. Đây là lý do cơ bản khiến mạng nơ-ron nhiều tầng hoạt động được.
Một neuron tính tổng có trọng số của các đầu vào cộng bias, rồi đưa qua hàm kích hoạt. Thứ duy nhất model học để thay đổi trong quá trình huấn luyện là các trọng số — kiến trúc và hàm kích hoạt được cố định trước.
1. Thêm tầng thì model có tự động mạnh hơn không?
Khi lần đầu nghe về mạng nơ-ron nhiều lớp, trực giác tự nhiên là: nhiều tầng hơn thì mạnh hơn. Nghe có lý — giống như nhiều nhân viên thì xử lý được nhiều việc hơn.
Nhưng trực giác đó thiếu một chi tiết quan trọng. Nếu mọi tầng đều làm cùng một loại phép tính (phép biến đổi tuyến tính: nhân rồi cộng), thì toàn bộ chuỗi tầng vẫn chỉ làm được đúng điều một tầng đơn lẻ làm được. Chi tiết thiếu đó là hàm phi tuyến — và đây là lý do cốt lõi khiến mạng nơ-ron nhiều tầng hoạt động được.
Bài này chỉ nói về hình dạng kiến trúc: tại sao phi tuyến cần thiết và MLP trông thế nào. Cách mạng học điều chỉnh trọng số là câu chuyện của bài 03–04.
2. Tại sao hai lớp tuyến tính gộp thành một?
2.1. Analogy: bộ lọc ảnh chồng lên nhau
Hãy tưởng tượng bạn xử lý ảnh qua hai bước liên tiếp: bước 1 nhân mỗi pixel với 1.5 (tăng sáng), bước 2 nhân kết quả đó với 0.8 (giảm sáng). Kết quả cuối giống hệt nhân pixel một lần duy nhất với 1.5 × 0.8 = 1.2. Hai bước cùng loại (nhân hằng số) gộp thành một bước — bạn có thể bỏ bước trung gian mà không mất gì.
Nhưng nếu bạn chèn vào giữa một phép cắt ngưỡng — ví dụ ép mọi pixel tối hơn 80 về 0 — ba bước đó không còn gộp được nữa. Phép cắt ngưỡng "phá vỡ chuỗi" vì nó là một loại thao tác khác.
| Bộ lọc ảnh | Khái niệm trong mạng nơ-ron |
|---|---|
| Nhân pixel với hằng số | Lớp tuyến tính |
| Chồng nhiều lần nhân = một lần nhân | Nhiều lớp tuyến tính = một lớp |
| Phép cắt ngưỡng xen giữa | Hàm phi tuyến |
| Hiệu ứng phức hợp không thể gộp | Ranh giới quyết định cong |
2.2. Bắt đầu từ số học lớp 6
Giả sử bạn có đầu vào x = 4.
- Lớp 1 nhân
xvới3. Kết quả là12. - Lớp 2 nhân kết quả đó với
2. Kết quả cuối là24.
Bạn có thể làm cả hai bước đó trong một phép nhân duy nhất không? Nếu có, bạn cần nhân x với con số nào?
Câu trả lời: nhân x với 3 × 2 = 6 cho ra đúng 24. Hai bước nhân liên tiếp gộp lại hoàn toàn thành một bước nhân duy nhất — không có thông tin nào bị mất, và cũng không có thêm sức mạnh tính toán nào được tạo ra.
2.3. Lớp tuyến tính trong neural net
Mỗi lớp tuyến tính trong neural net tính: nhân đầu vào với trọng số rồi cộng bias. Với hai lớp liên tiếp không có phi tuyến ở giữa:
Lop 1: z1 = w1 * x + b1
Lop 2: z2 = w2 * z1 + b2
= w2 * (w1 * x + b1) + b2 -- the z1 vao
= (w2 * w1) * x + (w2 * b1 + b2) -- phan phoi
= W * x + B -- mot phep bien doi tuyen tinh duy nhat
Ở đây W = w2 × w1 và B = w2 × b1 + b2 đều là hằng số. Toàn bộ hai lớp tương đương một lớp tuyến tính duy nhất với trọng số W và bias B.
Lập luận này mở rộng đệ quy cho ba, bốn, hay một trăm lớp tuyến tính liên tiếp: kết quả cuối vẫn luôn là W_tong * x + B_tong với hai hằng số nào đó. Không có năng lực biểu diễn mới nào phát sinh — toàn bộ N lớp thu gọn về đúng một lớp.
Nếu bạn xếp chồng nhiều lớp Dense trong code mà không thêm hàm kích hoạt giữa chúng, về mặt tính toán bạn vẫn chỉ có một lớp tuyến tính duy nhất — dù code trông có vẻ sâu.
3. Hàm phi tuyến — chiếc bản lề
Hàm phi tuyến (hay hàm kích hoạt) là hàm chèn giữa các lớp để phá vỡ khả năng thu gọn đó.
Hàm phổ biến nhất hiện nay là ReLU (Rectified Linear Unit). Mô tả bằng lời:
ReLU giữ nguyên mọi giá trị dương và ép mọi giá trị âm về
0.
ReLU(x) = x neu x > 0
ReLU(x) = 0 neu x <= 0
Hãy xem điều gì xảy ra khi áp ReLU vào giữa hai lớp tuyến tính:
z1 = w1 * x + b1 -- lop tuyen tinh 1
h1 = ReLU(z1) -- phi tuyen -- KHONG the gop voi buoc truoc
z2 = w2 * h1 + b2 -- lop tuyen tinh 2
Bước ReLU(z1) không phải phép nhân hay cộng — nó bẻ cong đường thẳng tại điểm 0, giữ phần dương và cắt bỏ phần âm. Sau bước đó, h1 không còn là hàm tuyến tính của x nữa. Vì vậy không thể gộp z2 = w2 * h1 + b2 cùng với lớp trước thành một phép tuyến tính đơn.
Ngoài ReLU, hai hàm phi tuyến khác cũng thường gặp:
- Sigmoid: nén đầu ra về khoảng
(0, 1)— hay dùng ở lớp output cho bài toán phân loại nhị phân. - Tanh: nén đầu ra về khoảng
(-1, 1)— hay xuất hiện trong RNN và LSTM.
Tất cả đều phi tuyến và phá vỡ khả năng thu gọn theo cùng nguyên lý. Bài này không đi sâu vào từng hàm — ReLU đủ để nắm cơ chế.
4. Ranh giới thẳng hay cong — tại sao phân biệt?
Hàm XOR (exclusive OR) là ví dụ kinh điển: trả về 1 khi đúng một đầu vào bằng 1, và 0 trong trường hợp còn lại. Bốn điểm đầu vào vẽ lên mặt phẳng tạo ra hai nhóm nằm ở hai cặp góc chéo — không có đường thẳng nào tách được. Minsky và Papert chứng minh điều này cho perceptron đơn lớp năm 1969. Trong thực tế, bài toán phân loại phức hợp (gian lận dựa trên tổ hợp số tiền và tần suất, không phải một ngưỡng đơn) thường có cùng đặc điểm: ranh giới cong, không phải thẳng.
| Loại bài toán | Ví dụ | Lớp tuyến tính | MLP có phi tuyến |
|---|---|---|---|
| Tách được bằng đường thẳng | Phân loại dựa trên một ngưỡng đơn | Làm được | Làm được |
| Không tách được bằng đường thẳng | XOR, phân vùng giao dịch phức hợp | Không làm được | Làm được |
Hàm phi tuyến cho phép MLP bẻ cong ranh giới quyết định — từ một đường thẳng thành đường cong, rồi thành bề mặt phức tạp tùy ý khi tăng đủ sức chứa.
5. Mạng nơ-ron đa tầng (MLP)
MLP (Multi-Layer Perceptron) là kiến trúc căn bản nhất có phi tuyến: các lớp xếp tuần tự, giữa mỗi cặp lớp là hàm kích hoạt.

Lớp ẩn (hidden layer) là những lớp nằm giữa lớp đầu vào và lớp đầu ra — nơi mạng học ra các biểu diễn trung gian. Bài 06 sẽ nói sâu hơn về những biểu diễn đó.
Bài này chỉ nói về hình dạng — xếp bao nhiêu lớp, tại sao cần phi tuyến. Cách mạng học điều chỉnh trọng số là câu chuyện của bài 03 (loss đo sai lệch) và bài 04 (gradient descent chỉnh trọng số từng bước).
6. Sức chứa — nhiều hơn không phải lúc nào cũng tốt hơn
Sức chứa (capacity) là khả năng của mạng biểu diễn các hàm phức tạp. Hai yếu tố chính điều chỉnh sức chứa:
- Số lớp ẩn: mỗi lớp thêm vào cho phép học biểu diễn ở mức trừu tượng cao hơn.
- Số neuron mỗi lớp: nhiều neuron hơn mở rộng không gian biểu diễn trong mỗi lớp.
Tăng sức chứa có đánh đổi hai chiều:
- Thiếu sức chứa (underfitting): mạng quá nhỏ không đủ biểu diễn pattern — kết quả kém trên cả tập train lẫn tập test. Bài 07 sẽ cho bạn nhận ra dấu hiệu này từ đường cong loss.
- Sức chứa thừa (overfitting): mạng quá lớn học thuộc cả nhiễu trong dữ liệu — kết quả tốt trên train nhưng kém trên test. Module 1 đã nói về overfitting; bài này chỉ nhắc lại đánh đổi.
Mạng quá lớn cho lượng dữ liệu sẽ overfit. Mạng quá nhỏ cho bài toán sẽ underfit. Người thiết kế cân bằng sức chứa với lượng dữ liệu rồi dùng đường cong loss để chẩn đoán — bài 07 sẽ cho bạn luyện kỹ năng đó.
Nói "mạng 3 lớp" không cho biết model lớn đến đâu. Một lớp ẩn với 1000 neuron có nhiều tham số hơn năm lớp ẩn mỗi lớp 10 neuron. Bài 05 sẽ đếm tham số chính xác từ kiến trúc.
7. Đào sâu
Nền tảng lý thuyết đứng sau những gì bài này trình bày:
-
Minsky, M. & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press. Chứng minh toán học rằng perceptron đơn lớp không thể giải các hàm không tách tuyến tính, điển hình là XOR. Cuốn sách góp phần đẩy nghiên cứu mạng nơ-ron vào giai đoạn suy thoái trong thập niên 1970 và thúc đẩy tìm kiếm giải pháp với nhiều lớp kết hợp phi tuyến. (Sách in, không có bản mở công khai.)
-
Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of Control, Signals, and Systems, 2(4), 303–314. DOI:
10.1007/BF02551274— Định lý xấp xỉ toàn cục (universal approximation theorem): một mạng một lớp ẩn đủ rộng với hàm sigmoid có thể xấp xỉ bất kỳ hàm liên tục nào đến độ chính xác tùy ý. Bảo chứng lý thuyết rằng MLP đủ mạnh — nhưng không nói gì về cách học. -
Rumelhart, D. E., Hinton, G. E. & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533–536. DOI:
10.1038/323533a0— Bài báo phổ biến thuật toán backpropagation cho mạng nhiều lớp, cho thấy MLP có phi tuyến học được các biểu diễn ẩn có ý nghĩa. Nền tảng thực tiễn của toàn bộ deep learning hiện đại.
8. Liên hệ các bài khác
- Bài 01 — Neuron và trọng số: "Lớp tuyến tính" trong bài này chính là chuỗi neuron của bài 01 — mỗi neuron tính tổng có trọng số. Hàm kích hoạt được nhắc đến trong bài 01 chính là hàm phi tuyến mà bài này giải thích tại sao cần.
- Bài 03 — Loss: đo cái sai: Sau khi biết mạng có hình dạng gì (bài này), bài 03 nói về cách đo mạng sai bao nhiêu sau mỗi lần dự đoán.
- Bài 05 — Tham số và siêu tham số: Đếm tham số chính xác từ kiến trúc MLP — nối tiếp trực tiếp phần Pitfall về nhầm số lớp với số tham số.
- Bài 07 — Mini-challenge: đọc đường cong loss: Sử dụng khái niệm "model thiếu sức chứa" từ bài này để chẩn đoán một trong ba ca đường cong loss hỏng.
Bài tiếp theo: Loss — quy cái sai của model về một con số duy nhất
9. Tóm tắt
- Chồng N lớp tuyến tính = đúng 1 lớp tuyến tính về năng lực biểu diễn — không có sức mạnh mới nào phát sinh.
- Hàm phi tuyến như ReLU chèn giữa các lớp phá vỡ khả năng thu gọn đó và mở ra ranh giới cong.
- Lớp tuyến tính chỉ học được ranh giới thẳng; MLP có phi tuyến học được ranh giới cong tùy ý.
- Sức chứa tăng theo số lớp ẩn và số neuron, nhưng kéo theo nhu cầu dữ liệu và rủi ro overfit.
- Bài này chỉ nói về hình dạng kiến trúc; cách mạng học (loss và gradient descent) là bài 03–04.
10. Tự kiểm tra
Q1Nếu bạn xếp ba lớp tuyến tính liên tiếp không có phi tuyến nào giữa chúng, mạng đó mạnh hơn một lớp tuyến tính không? Vì sao?▸
Q2ReLU làm gì với đầu vào? Tại sao đó là phép biến đổi phi tuyến chứ không phải tuyến tính?▸
Q3Vì sao hàm XOR không giải được bằng một lớp tuyến tính?▸
Q4Điều gì xảy ra nếu một mạng thiếu sức chứa so với độ phức tạp của bài toán?▸
Q5Một mạng có hai lớp ẩn mỗi lớp 10 neuron so với một mạng có một lớp ẩn 100 neuron — mạng nào có nhiều tham số hơn?▸
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