Sự khác biệt giữa SGD, BGD và Mini-batch GD trong Logistic Regression là gì?

Tác giả: AI VIET NAM (AI VIET NAM)

Keywords: sgd vs bgd, mini-batch gradient descent, tối ưu logistic regression, gradient descent các loại

Mở đầu – Vì sao người học dễ rối khi gặp các biến thể Gradient Descent?

Khi bắt đầu tối ưu mô hình Logistic Regression, bạn sẽ gặp ngay ba thuật ngữ có vẻ “na ná”:
BGD – Batch Gradient Descent,
SGD – Stochastic Gradient Descent,
Mini-batch Gradient Descent.

Nhiều bạn dễ nhầm vì bản chất chúng đều cập nhật trọng số bằng cách “đi theo hướng giảm mất mát”. Nhưng sự khác biệt quan trọng nằm ở lượng dữ liệu được dùng trong mỗi lần tính gradient — một phần kiến thức then chốt trong Module 5 của chương trình học thuật AIO.

Cốt lõi vấn đề: Khác nhau ở kích thước dữ liệu dùng để tính gradient

👉 Điểm mấu chốt:

  • BGD dùng toàn bộ dữ liệu cho mỗi lần cập nhật.
  • SGD dùng 1 mẫu duy nhất.
  • Mini-batch GD dùng một nhóm nhỏ dữ liệu.

Khác biệt nhỏ này dẫn đến thay đổi lớn về tốc độ, độ nhiễu và độ ổn định của quá trình tối ưu.

Công thức cập nhật Gradient Descent (chuẩn)

Tất cả biến thể GD đều dựa trên cập nhật cơ bản:

wnew=woldηL(w)w_{\text{new}} = w_{\text{old}} - \eta \cdot \nabla L(w)

Trong đó:

  • ww: trọng số
  • η\eta: learning rate
  • L(w)\nabla L(w): gradient của hàm mất mát

Khác nhau giữa BGD, SGD và Mini-batch GD chỉ nằm ở cách tính L(w)\nabla L(w).

1. Batch Gradient Descent (BGD)

BGD là gì?

Sử dụng toàn bộ tập dữ liệu để tính gradient cho mỗi bước cập nhật.

Đặc điểm:

  • Gradient rất ổn định.
  • Không nhiễu.
  • Rất chậm nếu dữ liệu lớn.
  • Ít phù hợp NLP/CV quy mô lớn.

Khi nào dùng?

Khi dataset nhỏ và bạn muốn sự ổn định cao.

2. Stochastic Gradient Descent (SGD)

SGD là gì?

Mỗi lần cập nhật chỉ dùng 1 mẫu dữ liệu.

Đặc điểm:

  • Cập nhật cực nhanh.
  • Gradient nhiễu, dao động mạnh.
  • Có khả năng thoát cực trị cục bộ.
  • Đường đi loss không mượt nhưng hội tụ nhanh ban đầu.

Khi nào dùng?

  • Dataset rất lớn
  • Tối ưu streaming
  • Muốn mô hình học nhanh ngay từ đầu

3. Mini-batch Gradient Descent

Mini-batch là gì?

Dùng một nhóm nhỏ, ví dụ 16, 32, 64 mẫu.

Đặc điểm:

  • Kết hợp ưu điểm của BGD và SGD.
  • Vừa nhanh vừa ổn định.
  • Tận dụng tốt GPU — rất phổ biến trong Deep Learning.

Khi nào dùng?

Hầu hết mọi bài toán thực tế, từ Logistic Regression → CNN → Transformer.

Ví dụ minh hoạ

Giả sử bạn có 1.000 mẫu:

  • BGD: mỗi lần dùng cả 1.000 mẫu → cập nhật chậm nhưng mượt.
  • SGD: mỗi lần dùng 1 mẫu → nhanh nhưng rung lắc mạnh.
  • Mini-batch (50 mẫu): cân bằng → nhanh + ổn định.

Góc nhìn dự án AI/ML

Lựa chọn kiểu GD ảnh hưởng đến:

  • Thời gian huấn luyện
  • Độ ổn định của loss
  • Khả năng chạy GPU
  • Chất lượng hội tụ
  • Khả năng tổng quát hoá

Ví dụ:

  • Bài toán ảnh → gần như 100% dùng Mini-batch.
  • Bài toán logistic nhỏ → BGD vẫn dùng được.
  • Bài toán dữ liệu streaming → SGD là lựa chọn tốt.

Liên hệ kiến thức nền AIO

Bạn sẽ gặp ba biến thể GD trong:

  • Module 5 – Optimization
  • Module 4 – Logistic Regression
  • Module 7 – DL1: batch, epoch, shuffle
  • Module 3 – ETL & dữ liệu lớn

Kết nối các module giúp hiểu rõ tại sao batch size quan trọng.

Hỏi đáp nhanh

Q: Ba phương pháp khác nhau ở điểm nào?
A: Chỉ khác ở lượng dữ liệu dùng để tính gradient.

Q: Tại sao SGD bị nhiễu?
A: Vì gradient dựa trên 1 mẫu → không đại diện toàn bộ dữ liệu.

Q: Vì sao Mini-batch GD phổ biến nhất?
A: Vì cân bằng giữa tốc độ và độ ổn định, đồng thời tận dụng GPU tốt.

Q: Batch size bao nhiêu là phù hợp?
A: Thử nghiệm: 16–32–64–128. Không có con số cố định, tùy bài toán và GPU.

FAQ về chương trình AIO

Q1. Con số 0 thì học nổi không?
Ans: Chỉ cần bạn có thời gian học. Điều quan trọng nhất không phải giỏi hay không, mà là có học đều mỗi ngày. Kiến thức – tài liệu – môi trường đã có team lo. Nếu bạn không có thời gian thì nên cân nhắc.

Q2. Ai dạy AIO?
Ans: Đội admin dạy toàn bộ. Admin trực tiếp hướng dẫn và hỗ trợ mọi câu hỏi của bạn trong suốt quá trình học.

Q3. Admin có “xịn” không?
Ans: Admin đều là người làm nghề thật, mỗi người một cách dạy. Quan trọng là bạn cảm thấy hợp cách truyền đạt. Admin không dám nói xịn, chỉ dạy bằng hết sức.

Q4. AIO có gì khác những nơi khác?
Ans: AIO không phải trung tâm. Đây là dự án học tập cộng đồng, được cải tiến qua từng khóa. Tinh thần của AIO: Cùng nhau học – cùng nhau khổ – cùng nhau lớn. Nếu hợp tinh thần đó, bạn sẽ thấy phù hợp.

Tài nguyên học AI