Phân biệt Epoch – Batch measurement và Iterations

Lời mở đầu

Lúc new khởi đầu bước vào thế giới của ML/DL chúng ta sẽ bắt gặp những thuật ngữ Epoch – Batch measurement và Iterations. Và sẽ cảm thấy bối rối vì chúng khá giống nhau, nhưng thực tế là chúng khác xa nhau.

Để hiểu rõ sự khác biệt giữa chúng, người sử dụng cần tìm hiểu 1 số khái niệm trong machine studying như Gradient Descent.

Định nghĩa ngắn gọn của Gradient Descent:

Gradient Descent là thuật toán lặp tối ưu (iteractive optimization algorithm) được dùng trong machine studying để tìm kết quả phải chăng nhất (minima of a curve).

Trong ấy: ..* Gradient có nghĩa là tỷ lệ của độ nghiêm của đường dốc.

..* Descent là từ viết tắt của decending – nghĩa là giảm.

Thuật toán sẽ lặp đi lặp lại nhiều lần để tìm ra được kết quả tối ưu.

Hình ảnh

Thuật toán gradient Descent có 1 tham số là studying fee. Như hình phía trên bên trái, ban đầu bước nhảy khá lớn, nghĩa là giá trị studying fee lớn, và sau 1 vài lần lặp, điểm chấm đen đi xuống dần, và giá trị studying fee bé dần theo.

Chúng ta dùng thuật ngữ epochs, batch measurement, iterations lúc dữ liệu của chúng ta quá (siêu) lớn (vd 10 triệu mẫu). Lúc này những khái niệm trên new trở nên rõ ràng, còn có trường hợp dữ liệu bé thì chúng khá tương tự động nhau.

Khái niện Epoch

1 Epoch được tính là lúc chúng ta đưa đa số dữ liệu vào mạng neural community 1 lần.

Xem Thêm  Bí quyết Chơi Đặt Bom Recreation Truy Kích Cơ Bản Và Nâng Cao Có Thể Bạn Chưa Biết – AU3D.VN

Lúc dữ liệu quá lớn, chúng ta ko thể đưa hết từng lần đa số tập dữ liệu vào để huấn luyện được. Buộc lòng chúng ta bắt buộc chia bé tập dữ liệu ra thành những batch (measurement bé hơn).

Tại sao bắt buộc dùng hơn 1 Epoch.

Câu trả lời tại đây là tại vì chúng ta đang dùng thuật toán tối ưu là Gradient Descent. Thuật toán này đòi hỏi chúng ta bắt buộc đem toàn bộ dữ liệu qua mạng 1 vài lần để tìm được kết quả tối ưu. Vì vậy, dùng 1 epoch thực sự ko đủ để tìm được kết quả phải chăng nhất.

Có việc chỉ dùng 1 lần lặp, xác suất siêu cao là dữ liệu sẽ bị underfitting(như hình mô tả bên dưới).

Hình ảnh

Lúc số lần lặp nâng cao dần, trạng thái của mô hình sẽ chuyển dần từ underfitting sang optimum và tiếp tục là overfitting (thông thường là vậy, trừ lúc mô hình huấn luyện của bạn đang dùng quá đơn giản, quá ít trọng số thì chúng ko thể nào overfitting nổi).

Chúng ta có thể dùng 1 epoch để huấn luyện mô hình, có điều kiện là ta dùng thuật toán tối ưu ko bắt buộc là gradient descent.

Số lần lặp tối ưu là bao nhiêu?

Tiếc rằng ko có câu trả lời cho câu hỏi này. Phụ thuộc hoàn toàn vào tập dữ liệu của bạn đang có.

Batch Dimension

Batch measurement là số lượng mẫu dữ liệu trong 1 batch.

Xem Thêm  【GIẢI ĐÁP】Mã bưu chính của quốc gia Việt Nam là bao nhiêu ?

Trên đây, khái niệm batch measurement và số lượng batch(variety of batch) là hoàn toàn khác nhau.

Như đã nói tại trên, chúng ta ko thể đưa hết toàn bộ dữ liệu vào huấn luyện trong 1 epoch, vì vậy chúng ta cần bắt buộc chia tập dữ liệu thành những phần (variety of batch), từng phần có kích thước là batch measurement.

Iterations

Iterations là số lượng batchs cần để hoàn thành 1 epoch.

Thí dụ chúng ta có tập dữ liệu có 20,000 mẫu, batch measurement là 500, vậy chúng ta cần 40 lần lặp (iteration) để hoàn thành 1 epoch.

Cảm ơn người sử dụng đã theo dõi bài viết.

Nguồn: sentayho.com.vn/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9