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

Bài viết Phân biệt Epoch – Batch size và Iterations thuộc chủ đề về Hỏi Đáp thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng HoaTuoiBatTu.vn tìm hiểu Phân biệt Epoch – Batch size và Iterations trong bài viết hôm nay nhé ! Các bạn đang xem chủ đề về : “Phân biệt Epoch – Batch size và Iterations”

Khi mới bắt đầu bước vào thế giới của ML/DL chúng ta sẽ bắt gặp các thuật ngữ Epoch – Batch size 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.

Để cho dễ hình dung, mình lấy ví dụ về việc ăn cơm. Chúng ta không thể ăn một lần hết một chén cơm được, mà phải mỗi lần ăn phải xúc từng muỗn ăn. Xúc lần lượt khi hết bát thứ nhất, chúng ta lại ăn tiếp bát thứ 2, bát thứ 3 … đến khi no, kết thúc bữa ăn.

Liên tưởng giữa việt ăn cơm và các thuật ngữ epoch, batch size, iteration như sau:

  • batch size: Số hạt cơm trong 1 lần xúc.

  • Iteration : Số lần xúc cơm hết 1 bát.

  • epoch : Số bát cơm bạn ăn trong 1 bữa ăn.

Hết phần diễn giải bằng ví dụ. Đến phần viết hàn lâm bên dưới, nếu bạn nào đã hiểu rồi thì có thể bỏ qua, bạn nào muốn đào sâu thêm lý do thì xem mình diễn giải bên dưới.

Mọi Người Cũng Xem   PDF

Để hiểu rõ sự khác biệt giữa chúng, các bạn cần tìm hiểu một khái niệm vô cùng quan trọng trong machine learning – 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 sử dụng trong machine learning để tìm kết quả tốt nhất (minima of a curve).

Trong đó:

..* Gradient có nghĩa là tỷ lệ của độ nghiêng 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 cực tiểu.

Hình ảnh

https://medium.com/onfido-tech/machine-learning-101-be2e0a86c96a Nguồn ảnh

Các bạn quan sát hình phía trên bên trái, ban đầu, bước nhảy khá lớn, nghĩa là giá trị cost lớn, và sau một vài lần lặp, điểm chấm đen đi xuống dần, và giá trị cost nhỏ dần theo. Mô hình hội tụ dần dần đến khi cost <= epselon

Chúng ta sử dụng thuật ngữ epochs, batch size, iterations khi chúng ta cần phải trainning mô hình machine learning, mà tập trainset của chúng ta quá (rất) lớn (vd 10 triệu mẫu, ví dụ train mô hình nhận dạng khuôn mặt với tập ms-celeb-1m). Lúc này các khái niệm trên mới trở nên rõ ràng, còn với trường hợp dữ liệu nhỏ thì chúng khá tương tự nhau.

Một Epoch được tính là khi chúng ta đưa tất cả dữ liệu trong tập train vào mạng neural network 1 lần. Ví dụ, bạn có 10 triệu bức hình trong tập train, bạn cho toàn bộ số hình đó là input của mô hình 3 lần, suy ra bạn đã train được 3 epoch.

Khi dữ liệu quá lớn, chúng ta không thể đưa hết mỗi lần tất cả tập dữ liệu vào để huấn luyện được, vì bạn cần một siêu máy tính có lượng RAM và GPU RAM cực lớn để lưu trữ toàn bộ hình ảnh trên, điều này là bất khả thi đối với người dùng bình thường, phòng lab nhỏ. Buộc lòng chúng ta phải chia nhỏ tập dữ liệu ra, và khái niệm batch hình thành.

Mọi Người Cũng Xem   "dạ hội" là gì? Nghĩa của từ dạ hội trong tiếng Việt. Từ điển Việt-Việt

Batch size là số lượng mẫu dữ liệu trong một lần huấn luyện. Ví dụ, trong bài toán phân loại chó mèo, chọn batch size =32, nghĩa là 1 lần lặp ta sẽ cho ngẫu nhiên 32 bức nhìn chó hoặc mèo chạy lan truyền tiến trong mạng neural network. tiếp theo bạn quăng tiếp 32 hình ngẫu nhiên, không lặp với các hình trước đó, vào mạng, quăng đến khi nào không còn hình nào có thể quăng vào nữa -> bạn hoàn thành 1 epoch.

Iterations

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

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

Tại sao phải dùng hơn 1 Epoch.

Câu trả lờ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 phải đem toàn bộ dữ liệu qua mạng một vài lần để tìm được kết quả tối ưu. Vì vậy, dùng 1 epoch thật sự không đủ để tìm được kết quả tốt nhất.

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

Hình ảnh

Khi số lần lặp tăng dần, trạng thái của mô hình sẽ chuyển dần từ underfitting sang optimal và sau đó là overfitting (thông thường là vậy, trừ khi mô hình huấn luyện của bạn đang sử dụng quá đơn giản, quá ít trọng số thì chúng không thể nào overfitting nổi).

Mọi Người Cũng Xem   SPU là gì? Ý nghĩa của từ spu

Chúng ta có thể dùng 1 epoch để huấn luyện mô hình, với điều kiện là ta sử dụng thuật toán tối ưu không phải là gradient descent.

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

Tiếc rằng không có câu trả lời cho câu hỏi này. Phụ thuộc hoàn toàn vào nhiều yếu tố. Mục tiêu chung là ta sẽ lặp đến khi nào hội tụ. Có một số phương pháp giúp chúng ta xác định mô hình đã đứng ở ngưỡng cực tiểu cục bộ rồi, không thể xuống hơn được nữa.

Các bạn có thể tìm hiểu với từ khóa early stopping.

Cảm ơn các bạn đã theo dõi bài viết.

Nguồn: https://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9



Các câu hỏi về epoch là gì machine learning


Nếu có bắt kỳ câu hỏi thắc mắt nào vê epoch là gì machine learning hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết epoch là gì machine learning ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết epoch là gì machine learning Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết epoch là gì machine learning rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!

Các Hình Ảnh Về epoch là gì machine learning


Các hình ảnh về epoch là gì machine learning đang được Moviee.vn Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhé

Tìm thêm thông tin về epoch là gì machine learning tại WikiPedia

Bạn có thể xem thêm thông tin về epoch là gì machine learning từ web Wikipedia tiếng Việt.◄ Tham Gia Cộng Đồng Tại

???? Nguồn Tin tại: https://hoatuoibattu.vn/

???? Xem Thêm Chủ Đề Liên Quan tại : https://hoatuoibattu.vn/hoi-dap/

Related Posts

About The Author

Add Comment