“MLP dùng cho dữ liệu gì? Có nên dùng MLP cho ảnh, text, time-series… hay chỉ hợp với dữ liệu bảng?”
Câu trả lời ngắn: MLP phù hợp nhất với dữ liệu đã “trải phẳng” thành vector, đặc biệt là dữ liệu bảng (tabular) và embedding. Với ảnh, văn bản, âm thanh thô… MLP không phải lựa chọn tối ưu, vì đã có CNN, RNN, Transformer làm tốt hơn rất nhiều.
Trong bài viết này, chúng ta sẽ:
Hiểu MLP là gì theo cách trực quan
Biết MLP hợp với loại dữ liệu nào
Biết khi nào không nên dùng MLP
Hiểu MLP được đặt ở đâu trong lộ trình AIO 1 năm dành cho Newbie & Non-Tech
MLP là gì? Giải thích theo góc nhìn “người mới”
MLP (Multilayer Perceptron) là mạng nơ-ron nhiều tầng fully-connected, gồm:
Input layer: nhận vector đầu vào
Hidden layers: nhiều tầng phi tuyến
Output layer: phân loại/hồi quy
Khi số tầng ẩn ≥ 2, MLP được xem là một mô hình Deep Learning “thuần”.
MLP mạnh khi:
Input đã là vector sạch: số, embedding, one-hot
Quan hệ giữa feature phi tuyến
Bài toán không có cấu trúc đặc thù như ảnh/chuỗi
MLP phù hợp nhất với loại dữ liệu nào?
Dữ liệu bảng (tabular) – “sân nhà” tự nhiên của MLP
Tabular = mỗi dòng là 1 mẫu, mỗi cột là 1 thuộc tính:
Tuổi, giới tính
Thu nhập
Tần suất mua hàng
Điểm tín dụng
…
Nếu bạn đã:
Làm sạch dữ liệu
Encode categorical (one-hot, label encoding)
Scale/normalize feature
→ MLP là lựa chọn hợp lý.
Các bài toán tabular MLP dùng rất tốt:
Dự đoán churn
Dự đoán rủi ro tín dụng
Dự đoán doanh thu/giá nhà
Phân loại giao dịch (fraud/normal)
Scoring lead marketing
Nhưng lưu ý:
Tree-based models (Random Forest, XGBoost, LightGBM) thường mạnh hơn cho tabular.
MLP chỉ vượt trội khi:
Dataset rất lớn
Có embedding
Cần kết hợp nhiều nguồn dữ liệu
Dữ liệu embedding – nơi MLP “toả sáng”
Đây là trường hợp cực kỳ phổ biến trong hệ thống DL hiện đại.
Các mô hình khác sẽ trích xuất đặc trưng → embedding (vector):
CNN → embedding ảnh
Transformer → embedding text
Pretrained recommender → embedding user/item
Sau đó MLP sẽ:
Ghép embedding
Học quan hệ phi tuyến
Dự đoán output cuối
Ví dụ nổi bật: Recommender System
Lấy embedding của user
Lấy embedding của item
Ghép = concat → đưa vào MLP
→ Dự đoán khả năng click/mua
Trong trường hợp này, MLP chính là “bộ não cuối” ghép hiểu biết từ nhiều loại dữ liệu.
Khi nào KHÔNG nên dùng MLP?
1. Ảnh thô → Nên dùng CNN
MLP phải flatten ảnh, dẫn đến:
Mất cấu trúc không gian
Số tham số cực lớn
Training dễ overfit
CNN dùng convolution → học cạnh, pattern local, object… hiệu quả hơn nhiều.
➡️ Ảnh → CNN + (MLP nhỏ ở cuối)
2. Văn bản thô → Nên dùng RNN/Transformer
Với text thô:
MLP không hiểu thứ tự từ
Không hiểu ngữ cảnh
Vector one-hot quá lớn
→ NLP hiện đại dùng embedding + Transformer.
➡️ Text → BERT/GPT/Transformer + MLP ở “classification head”
3. Time-Series dài → MLP không phải lựa chọn tối ưu