← Về danh sách
AI & Dữ liệu
#과적합#오버피팅#정규화#드롭아웃#일반화#127회
Cập nhật lần cuối · 2026-09-13

Nguyên nhân phát sinh và giải pháp cho quá khớp (Overfitting)

1. Tổng quan

A. Định nghĩa

Quá khớp (Overfitting) là hiện tượng mô hình học máy khớp quá mức với dữ liệu huấn luyện, dẫn đến hiệu năng dự đoán trên dữ liệu mới (dữ liệu kiểm thử, dữ liệu vận hành thực tế) bị suy giảm. Đây là trạng thái mô hình không chỉ học các quy luật chung (signal) trong dữ liệu mà còn học cả nhiễu (noise) và những đặc thù chỉ tồn tại trong một mẫu cụ thể.

Bản chất của quá khớp là 'sự khác biệt giữa học thuộc và thấu hiểu'. Mục tiêu thực sự của huấn luyện (training) là học các quy luật chung trong dữ liệu để dự đoán tốt cả dữ liệu chưa từng thấy, tức là khả năng tổng quát hóa (generalization). Thế nhưng khi mô hình quá phức tạp hoặc được huấn luyện quá mức, thay vì hiểu quy luật, nó lại ghi nhớ nguyên vẹn dữ liệu huấn luyện. Điều này giống như sự khác biệt giữa học sinh hiểu nguyên lý của đề thi và học sinh chỉ học thuộc đáp án. Học sinh học thuộc đáp án giải hoàn hảo những bài đã gặp (dữ liệu huấn luyện) nhưng sụp đổ trước bài chỉ đổi con số (dữ liệu mới). Mô hình quá khớp cũng vậy: độ chính xác rất cao trên dữ liệu huấn luyện nhưng hiệu năng giảm mạnh trên dữ liệu thực.

Ở phía đối lập là chưa khớp (Underfitting). Đây là trạng thái mô hình quá đơn giản hoặc huấn luyện chưa đủ nên không học được ngay cả các mẫu hình trong dữ liệu. Mô hình chưa khớp có hiệu năng thấp cả trên dữ liệu huấn luyện lẫn dữ liệu mới. Rốt cuộc, mô hình hóa học máy là quá trình tìm độ phức tạp tối ưu (sweet spot) giữa chưa khớp và quá khớp, và mô hình tốt nằm ở điểm mà hiệu năng huấn luyện lẫn hiệu năng kiểm định đều cao, khoảng cách giữa chúng nhỏ. Lý thuyết giải thích định lượng 'điểm cân bằng' này là đánh đổi độ lệch-phương sai sẽ được trình bày ở phần sau.

B. Tại sao quan trọng — Sự cần thiết trong thực tiễn

Quá khớp quan trọng vì độ chính xác cao ở giai đoạn huấn luyện hoàn toàn không bảo đảm hiệu năng dịch vụ thực tế. Chẳng hạn, việc một mô hình phân loại ảnh đạt độ chính xác 99% trên dữ liệu huấn luyện nhưng tụt xuống mức 70% trong môi trường vận hành thực tế là chuyện thường gặp. Đó là kết quả của việc mô hình nhầm lẫn cả những đặc điểm ngẫu nhiên của mẫu huấn luyện như ánh sáng, nền ảnh thành 'quy luật'. Đặc biệt, học sâu và mô hình ngôn ngữ lớn (LLM) với số tham số từ hàng triệu đến hàng tỷ có năng lực biểu diễn đủ để gần như ghi nhớ dữ liệu huấn luyện, nên việc kiểm soát quá khớp quyết định thành bại của chất lượng mô hình.

Ngoài ra, quá khớp càng nguy hiểm hơn khi kết hợp với rò rỉ dữ liệu (data leakage) hoặc sai sót trong phương pháp đánh giá. Nếu dữ liệu kiểm định, kiểm thử lọt vào quá trình huấn luyện, ta sẽ tin vào 'hiệu năng cao giả tạo' mà không phát hiện được quá khớp, dẫn đến sự cố quy mô lớn sau khi triển khai vận hành. Do đó, quá khớp không đơn thuần là vấn đề thuật toán mà là đối tượng quản lý xuyên suốt toàn bộ quá trình phân chia dữ liệu, thiết kế đánh giá và MLOps.

C. Đối chiếu triệu chứng của quá khớp và chưa khớp

Để phân biệt nhanh hai hiện tượng trong thực tế, chỉ cần xem tổ hợp hiệu năng huấn luyện và kiểm định. Chưa khớp có hiệu năng huấn luyện và kiểm định đều thấp, còn quá khớp chỉ có hiệu năng huấn luyện cao trong khi hiệu năng kiểm định thấp. Dấu hiệu đơn giản này là điểm xuất phát của chẩn đoán, và việc phân định chính xác là quan trọng vì nó dẫn hướng điều trị (tăng hay giảm độ phức tạp) theo hai chiều hoàn toàn ngược nhau.

Tiêu chí Chưa khớp (Underfitting) Quá khớp (Overfitting)
Hiệu năng huấn luyện Thấp Cao
Hiệu năng kiểm định Thấp Thấp
Độ lệch/phương sai Độ lệch lớn Phương sai lớn
Nguyên nhân Mô hình đơn giản, huấn luyện chưa đủ Mô hình phức tạp, thiếu dữ liệu, huấn luyện quá mức
Hướng điều trị Độ phức tạp↑, huấn luyện↑, thêm đặc trưng Độ phức tạp↓, dữ liệu↑, chính quy hóa

2. Nguyên nhân phát sinh quá khớp

Quá khớp không xuất phát từ một nguyên nhân duy nhất mà từ sự mất cân bằng giữa 'độ phức tạp của mô hình' và 'chất lượng, số lượng dữ liệu'. Sơ đồ cấu trúc dưới đây cho thấy bốn nguyên nhân chính hội tụ thành quá khớp như thế nào.

flowchart TB
  O["Quá khớp (Overfitting)"] --> C["Độ phức tạp mô hình quá mức"]
  O --> D["Thiếu dữ liệu huấn luyện"]
  O --> N["Nhiễu, ngoại lai, thiên lệch"]
  O --> T["Huấn luyện quá mức (epoch)"]
  C --> C1["Tham số, số tầng quá nhiều so với dữ liệu"]
  D --> D1["Mẫu không đại diện cho tổng thể"]
  N --> N1["Học đặc điểm ngẫu nhiên thành quy luật"]
  T --> T1["Tiếp tục huấn luyện dù sai số kiểm định đã tăng"]
  style O fill:#fef3f2,stroke:#e11d48,stroke-width:2px

Thứ nhất, độ phức tạp mô hình quá mức là nguyên nhân căn bản nhất. Khi số tham số hay số tầng (layer) của mô hình quá nhiều so với lượng thông tin mà dữ liệu chứa đựng, năng lực biểu diễn dư thừa sẽ được dùng để học nhiễu. Trong hồi quy đa thức, nếu tăng bậc vô hạn thì sẽ tạo ra đường cong ngoằn ngoèo đi qua mọi điểm huấn luyện, nhưng đường cong đó dự đoán rất tệ cho điểm mới. Mô hình có năng lực biểu diễn càng lớn như học sâu thì rủi ro này càng cao.

Thứ hai, dữ liệu huấn luyện thiếu và không có tính đại diện. Khi dữ liệu ít, cơ sở để mô hình học các 'quy luật chung' trở nên mỏng manh, khiến nó dễ nhầm các mẫu hình tình cờ quan sát được thành quy luật. Nếu có thiên lệch lấy mẫu (sampling bias) khiến mẫu không đại diện cho tổng thể, mô hình sẽ học nguyên vẹn thế giới quan thiên lệch đó và sụp đổ trên dữ liệu thực. Ví dụ, mô hình chẩn đoán chỉ được huấn luyện bằng dữ liệu của một bệnh viện cụ thể sẽ giảm hiệu năng mạnh trên thiết bị và nhóm bệnh nhân của bệnh viện khác.

Thứ ba, nhiễu, ngoại lai và lỗi nhãn. Nếu dữ liệu huấn luyện lẫn sai số đo, giá trị ngoại lai hay nhãn sai, mô hình có năng lực biểu diễn lớn sẽ trung thành học cả những lỗi này. Nhiễu về bản chất là thành phần ngẫu nhiên không thể tái hiện, nên càng học nó thì hiệu năng trên dữ liệu mới càng giảm. Thứ tư, huấn luyện quá mức (quá nhiều epoch). Càng lặp lại huấn luyện thì sai số huấn luyện càng giảm, nhưng từ một thời điểm nào đó sai số kiểm định lại bắt đầu tăng. Nếu tiếp tục huấn luyện vượt qua điểm chuyển này, mô hình sẽ chuyên biệt hóa vào dữ liệu huấn luyện và bị quá khớp.

3. Giải pháp cho quá khớp

A. Ứng phó ở góc độ dữ liệu

Giải pháp căn bản và hiệu quả nhất là 'thu thập nhiều dữ liệu hơn và đa dạng hơn'. Khi dữ liệu đủ, khả năng mô hình nhầm nhiễu thành quy luật giảm đi, và cơ sở để học quy luật chung thực sự được củng cố. Tuy nhiên, trong thực tế việc thu thập dữ liệu bị ràng buộc bởi chi phí, thời gian và quy định (dữ liệu cá nhân), nên tăng cường dữ liệu (Data Augmentation) trở thành phương án thay thế thực tế. Với ảnh thì xoay, lật, cắt, biến đổi màu; với văn bản thì thay thế từ đồng nghĩa, dịch ngược; với âm thanh thì thêm nhiễu, thay đổi tốc độ — nhằm tăng nhân tạo tính đa dạng của mẫu huấn luyện.

Quản lý chất lượng dữ liệu cũng quan trọng. Cần làm sạch (cleansing) ngoại lai và lỗi nhãn, hiệu chỉnh mất cân bằng lớp (lấy mẫu tăng/giảm, SMOTE), và cải thiện thiết kế thu thập để mẫu đại diện đồng đều cho tổng thể. Gần đây, dữ liệu tổng hợp (synthetic data) hoặc tăng cường dựa trên mô hình sinh cũng được sử dụng, nhưng cần thận trọng vì nếu làm méo phân phối gốc thì ngược lại có thể làm hại hiệu năng.

B. Ứng phó ở góc độ mô hình và huấn luyện

Về phía mô hình, cốt lõi là chính quy hóa (Regularization) để kìm hãm độ phức tạp. Chính quy hóa L2 (suy giảm trọng số, weight decay) áp hình phạt lên tổng bình phương trọng số, giữ trọng số nhỏ nói chung nhằm làm mô hình trơn hơn; chính quy hóa L1 (Lasso) áp hình phạt lên giá trị tuyệt đối của trọng số, đưa trọng số của các đặc trưng không cần thiết về 0, tạo hiệu ứng chọn đặc trưng tự động. Nếu cường độ phạt (λ) quá lớn sẽ chưa khớp, quá nhỏ sẽ quá khớp, nên bản thân λ cũng là đối tượng cần tinh chỉnh.

Trong học sâu, Dropout được sử dụng rộng rãi. Khi huấn luyện, một phần nơ-ron ở mỗi tầng bị vô hiệu hóa ngẫu nhiên theo xác suất (ví dụ: 0.5), ngăn sự phụ thuộc quá mức vào một tổ hợp nơ-ron cụ thể và tạo hiệu ứng ensemble của nhiều mạng con. Dừng sớm (Early Stopping) là kỹ thuật dừng huấn luyện tại thời điểm sai số kiểm định không còn cải thiện và bắt đầu tăng, trực tiếp ngăn quá khớp do huấn luyện quá mức. Ngoài ra, chuẩn hóa theo lô (Batch Normalization), đơn giản hóa mô hình bằng cách giảm số tầng và tham số, và học chuyển giao (Transfer Learning) tận dụng mô hình tiền huấn luyện cũng giảm đáng kể quá khớp khi dữ liệu ít.

C. Ứng phó ở góc độ kiểm định và đánh giá

Quá khớp chỉ có thể được ứng phó khi đã được 'chẩn đoán', vì vậy một hệ thống kiểm định đáng tin cậy là bắt buộc. Kiểm định chéo (Cross-Validation), đặc biệt là kiểm định chéo k-fold, chia dữ liệu thành k phần và lần lượt dùng từng phần để kiểm định, từ đó ước lượng 'hiệu năng được tổng quát hóa' chứ không phải hiệu năng tình cờ khớp tốt với một cách chia cụ thể. Trong các kỹ thuật Ensemble, Bagging và rừng ngẫu nhiên (Random Forest) lấy trung bình dự đoán của nhiều mô hình để giảm phương sai, qua đó giảm nhẹ quá khớp. Khi chia dữ liệu, tách biệt nghiêm ngặt tập huấn luyện, kiểm định, kiểm thử và chỉ tinh chỉnh siêu tham số bằng tập kiểm định để tránh làm nhiễm bẩn tập kiểm thử cũng là nguyên tắc để đánh giá quá khớp một cách trung thực.

Giải pháp Nhóm Nguyên lý cốt lõi
Tăng cường, thu thập dữ liệu Dữ liệu Tính đa dạng của mẫu↑ → hạn chế học nhiễu
Chính quy hóa (L1, L2) Mô hình Kìm hãm độ phức tạp bằng hình phạt trọng số
Dropout Mô hình (học sâu) Loại bỏ ngẫu nhiên nơ-ron, hiệu ứng ensemble
Dừng sớm Huấn luyện Dừng huấn luyện khi sai số kiểm định tăng
Kiểm định chéo Đánh giá Ước lượng tin cậy hiệu năng tổng quát hóa
Đơn giản hóa mô hình Mô hình Giảm tham số, số tầng, đặc trưng
Ensemble (Bagging) Mô hình Giảm phương sai bằng trung bình nhiều mô hình
Học chuyển giao Mô hình Bù đắp dữ liệu ít bằng tri thức tiền huấn luyện

4. Đánh đổi độ lệch-phương sai (chuyên sâu về nguyên lý)

Lý thuyết xuyên suốt cả quá khớp lẫn chưa khớp là đánh đổi độ lệch-phương sai (Bias-Variance Trade-off). Sai số dự đoán kỳ vọng của mô hình được phân rã chủ yếu thành độ lệch (Bias)² + phương sai (Variance) + sai số không thể giảm (irreducible error). Độ lệch là sai số có hệ thống phát sinh do mô hình bỏ lỡ quan hệ thực vì các giả định đơn giản hóa, còn phương sai là độ nhạy khiến mô hình dao động mạnh chỉ vì dữ liệu huấn luyện thay đổi một chút.

flowchart LR
  A["Độ phức tạp mô hình thấp"] --> B["Độ lệch cao / phương sai thấp<br/>= chưa khớp"]
  C["Độ phức tạp tối ưu"] --> D["Cân bằng độ lệch, phương sai<br/>= tổng quát hóa tối ưu"]
  E["Độ phức tạp mô hình cao"] --> F["Độ lệch thấp / phương sai cao<br/>= quá khớp"]
  B --> G["Tổng sai số: lớn"]
  D --> H["Tổng sai số: nhỏ nhất"]
  F --> I["Tổng sai số: lớn"]
  style D fill:#ecfdf5,stroke:#059669,stroke-width:2px
  style F fill:#fef3f2,stroke:#e11d48,stroke-width:2px

Như sơ đồ trên cho thấy, tăng độ phức tạp mô hình thì độ lệch giảm nhưng phương sai tăng. Quá khớp là trạng thái phương sai lớn (quá nhạy với thay đổi của dữ liệu huấn luyện), còn chưa khớp là trạng thái độ lệch lớn (không học được mẫu hình). Vì tổng sai số là tổng của hai thành phần, nó đạt cực tiểu tại điểm mà lợi ích do độ lệch giảm và tổn thất do phương sai tăng cân bằng nhau. Diễn giải lại các giải pháp đã nêu theo góc nhìn này sẽ thấy rõ ràng. Chính quy hóa, dropout, dừng sớm, ensemble đều là các liệu pháp 'giảm phương sai', còn tăng cường dữ liệu là cách giảm phương sai mà ít hy sinh độ lệch hơn.

Tuy nhiên, cũng có quan sát gần đây cho thấy sự đánh đổi truyền thống này không phải lúc nào cũng đúng. Ở các mô hình học sâu rất lớn, người ta đã ghi nhận hiện tượng giảm kép (Double Descent), trong đó sai số kiểm định giảm trở lại ngay cả sau khi số tham số vượt quá số mẫu dữ liệu. Điều này khiến khó khẳng định quá khớp là 'hàm chỉ của độ phức tạp', và gợi ý rằng hiểu biết về quá khớp trong thời đại mô hình quy mô lớn vẫn đang tiến hóa. Trong thực tế, an toàn hơn là phán đoán dựa trên hiệu năng tập kiểm định thay vì khẳng định.

5. Chuyên sâu: Tình huống thực tế và chiến lược chẩn đoán, ứng phó

Trong dự án thực tế, chẩn đoán quá khớp bằng đường cong học tập (learning curve) là cách chuẩn mực. Khi vẽ đồng thời sai số huấn luyện và sai số kiểm định theo epoch, nếu sai số huấn luyện tiếp tục giảm trong khi sai số kiểm định bắt đầu tăng từ một thời điểm nào đó và khoảng cách giữa chúng (generalization gap) nới rộng, đó là tín hiệu rõ ràng của quá khớp. Ví dụ, nếu độ chính xác huấn luyện 98% và độ chính xác kiểm định 75%, bản thân khoảng cách 23%p đã là bằng chứng quá khớp; khi đó lấy điểm chuyển đó làm thời điểm dừng sớm hoặc tăng cường chính quy hóa.

Một tình huống thực tế tiêu biểu là mô hình chẩn đoán hình ảnh y tế. Nhiều nghiên cứu đã báo cáo trường hợp mô hình nhận diện viêm phổi chỉ được huấn luyện bằng lượng nhỏ dữ liệu của một bệnh viện cụ thể, thực chất lại học các đặc điểm phụ như watermark, góc chụp của máy X-quang bệnh viện đó chứ không phải tổn thương phổi, khiến hiệu năng giảm mạnh ở bệnh viện khác. Đây là quá khớp điển hình kết hợp 'thiếu tính đại diện của dữ liệu + học nhiễu', được ứng phó bằng việc thu thập dữ liệu đa cơ sở và các kỹ thuật tổng quát hóa miền (domain generalization). Một tình huống khác là mô hình chấm điểm tín dụng, dự báo giá cổ phiếu trong tài chính: nếu quá khớp với mẫu hình thị trường của một giai đoạn quá khứ cụ thể thì dự báo sẽ sụp đổ khi pha thị trường thay đổi, nên kiểm định walk-forward có tính đến đặc tính chuỗi thời gian và chính quy hóa là bắt buộc.

Trong mô hình ngôn ngữ lớn và hệ thống gợi ý, quản lý quá khớp cũng là then chốt. LLM được biết là có vấn đề ghi nhớ một phần (memorization) dữ liệu huấn luyện và xuất nguyên văn nội dung của kho ngữ liệu huấn luyện, điều này còn dẫn đến rủi ro về quyền riêng tư và bản quyền. Để ứng phó, người ta dùng loại bỏ trùng lặp dữ liệu (deduplication), dropout, suy giảm trọng số, dừng sớm, và bảo đảm lượng dữ liệu tương xứng với năng lực biểu diễn bằng dữ liệu khổng lồ. Trong hệ thống gợi ý, vấn đề quá khớp vào số ít mục phổ biến làm mất tính đa dạng được giảm nhẹ bằng chính quy hóa và ensemble.

6. Những điểm cần cân nhắc và hàm ý (góc nhìn Kỹ sư chuyên nghiệp)

  1. Ứng phó quá khớp cần tiếp cận bằng chiến lược tổ hợp chứ không phải một kỹ thuật đơn lẻ. Cách chuẩn mực là kết hợp phù hợp theo tình huống: thu thập dữ liệu (căn bản), chính quy hóa và dropout (mô hình), dừng sớm (huấn luyện), kiểm định chéo (đánh giá). Cần liệu pháp phân tầng như: dữ liệu ít thì dùng học chuyển giao và tăng cường, học sâu thì dùng dropout và chuẩn hóa theo lô, trước khi triển khai thực tế thì xác minh tổng quát hóa bằng kiểm định chéo.

  2. Thu thập và chất lượng dữ liệu là giải pháp căn bản, còn liệu pháp thuật toán là phương tiện bổ trợ. Thu thập đủ dữ liệu có tính đại diện là cách chắc chắn nhất để ngăn quá khớp, vì vậy cần ưu tiên đầu tư vào pipeline thu thập, làm sạch và gán nhãn dữ liệu. Nếu chỉ tăng cường độ chính quy hóa, có thể rơi vào cái bẫy ngược lại là chưa khớp, nên phải quản lý đánh đổi một cách định lượng.

  3. Thiết kế đánh giá và ngăn rò rỉ dữ liệu là tiền đề của chẩn đoán. Nếu không tách biệt nghiêm ngặt tập huấn luyện, kiểm định, kiểm thử và chỉ tinh chỉnh siêu tham số bằng tập kiểm định, ta sẽ tin vào hiệu năng giả tạo mà không phát hiện quá khớp. Ở góc độ MLOps, cần nội tại hóa việc phân chia dữ liệu, kiểm tra rò rỉ và tự động hóa kiểm định vào pipeline.

  4. Cần quản lý liên tục, tính đến cả trôi dạt dữ liệu ở giai đoạn vận hành. Dù tại thời điểm triển khai mô hình tổng quát hóa tốt, khi thời gian trôi qua và phân phối đầu vào thay đổi (concept/data drift), nó sẽ rơi vào trạng thái quá khớp trên thực tế. Do đó, quản lý liên tục hiệu năng tổng quát hóa thông qua giám sát hiệu năng trong vận hành, huấn luyện lại định kỳ và thử nghiệm A/B mới là cách ứng phó hoàn chỉnh dưới góc nhìn Kỹ sư chuyên nghiệp.

  5. Trong thời đại mô hình quy mô lớn, cần xem xét lại cả cách hiểu về quá khớp. Các quan sát gần đây như giảm kép cho thấy sơ đồ đơn giản 'độ phức tạp = quá khớp' không phải lúc nào cũng đúng. Thay vì khẳng định theo một lý thuyết cụ thể, cần phán đoán thực dụng, điều chỉnh cường độ chính quy hóa, quy mô mô hình và lượng dữ liệu dựa trên bằng chứng thực nghiệm là hiệu năng tập kiểm định và đường cong học tập.

Tài liệu tham khảo


Tóm tắt một câu: Quá khớp là hiện tượng mô hình ghi nhớ cả nhiễu và đặc thù của dữ liệu huấn luyện khiến hiệu năng trên dữ liệu mới giảm mạnh (phương sai lớn), với nguyên nhân là độ phức tạp mô hình quá mức, thiếu dữ liệu, nhiễu và huấn luyện quá mức; cần kết hợp tăng cường dữ liệu, chính quy hóa (L1/L2), dropout, dừng sớm, kiểm định chéo, ensemble và tìm điểm cân bằng độ lệch-phương sai để bảo đảm hiệu năng tổng quát hóa.