Bài archive — trả lời một câu hỏi
Mini-batch 32 nghĩa là gì?
Vì sao không cập nhật trọng số sau mỗi thư một lần hoặc sau cả tập một lần?
Mini-batch là nhóm mẫu dùng chung để tính gradient trước mỗi bước cập nhật. Với tập 128 thư và batch_size = 32, mỗi epoch có bước — mỗi bước trung bình mất mát và gradient trên 32 thư.
So sánh ba cách:
- Online (batch 1): 128 bước/epoch, nhiễu cao, chậm trên phần cứng vector hóa.
- Full batch (128): một gradient/epoch, ổn định nhưng tốn bộ nhớ, khó thoát cực trị xấu trên tập lớn.
- Mini-batch 32: cân bằng — trên tập 1 797 ảnh chữ số của khóa sau này, bước/epoch.
n, batch = 128, 32
assert n % batch == 0
steps_per_epoch = n // batch # 4Cùng hạt giống và cùng thứ tự xáo trộn, chạy lại phải cho cùng chuỗi mất mát — đó là lý do khóa ghim seed khi dạy batch.