- vừa được xem lúc

Epoch, Batch size và Iterations

0 0 36

Người đăng: hammiu

Theo Viblo Asia

Khi mới học Machine Learning và sau này là Deep Learning chúng ta gặp phải các khái niệm như Epoch, Batch sizeIterations. Để khỏi nhầm lẫn mình xin chia sẻ với các bạn sự khác nhau giữa các khái niệm này.

Trước khi đi vào chủ đề chính, chúng ta xem lại thuật toán Gradient Descent. Các tham số của mạng được khởi tạo ban đầu, dữ liệu được truyền vào trong mạng Neural Network, thông qua forward propagation xác định được đầu ra, so sánh đầu ra với nhãn ban đầu để tính hàm mất mát. Thông qua back propagation các tham số của mạng được cập nhật. Các quá trình trên được lặp lại nhằm giảm hàm mất mát xuống giá trị thấp nhất có thể.

Một số biến thể của Gradient Descent:

  • Batch Gradient Descent
  • Stochastic Gradient Descent
  • Mini-Batch Gradient Descent.

Sự khác nhau chính giữa 3 thuật toán trên chính là số lượng dữ liệu được sử dụng cho mỗi lần cập nhật tham số. Batch Gradient Descent sử dụng toàn bộ dữ liệu cho mỗi lần cập nhật. Stochastic Gradient Descent sử dụng 1 dữ liệu để cập nhật tham số, còn Mini-Batch Gradient Descent sử dụng Batch size dữ liệu để cập nhật tham số trong 1 lần. Do đó

  • Batch size: số lượng dữ liệu Mini-Batch Gradient Descent sử dụng trong 1 lần để cập nhật tham số
  • Epoch: 1 epoch là một lần duyệt qua hết các dữ liệu trong tập huấn luyện
  • Iterations: số lượng các Batch size mà mô hình phải duyệt trong 1 epoch.

Ví dụ tập huấn luyện có 32.000 dữ liệu. Nếu Batch size = 32 (mỗi lần cập nhật trọng số sẽ sử dụng 32 dữ liệu), khi đó Iterations =32.000/32=1000 để có thể duyệt qua hết các dữ liệu (hoàn thành 1 epoch). Các giá trị Batch size thường dùng là 32, 64, 128, 256... (2^n để việc tính toán được nhanh hơn). Tổng quát hơn thì đối với Stochastic Gradient Descent, Batch size = số dữ liệu trong tập huấn luyện, đối với Stochastic Gradient Descent, Batch size = 1.

Lưu ý

  • Nếu tập huấn luyện lớn không thể load hết tất cả dữ liệu một lần để cập nhật có thể sử dụng Batch size nhỏ hơn
  • Batch size càng lớn thì càng tận dụng được tính toán vectorization
  • Batch size = 1 (Stochastic Gradient Descent) mô hình hội tụ nhanh hơn, tuy nhiên hàm mất mát dao động quanh mimimum chứ không hội tụ về nó được, bên cạnh đó cũng không tận dụng được tính toán vectorization.

Kết luận

Hi vọng thông qua bài viết này mọi người không còn nhầm lẫn giữa các khái niệm trên. Các bạn cho mình 1 like để ủng hộ mình.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về YOLO trong bài toán real-time object detection

1.Yolo là gì. . Họ các mô hình RCNN ( Region-Based Convolutional Neural Networks) để giải quyết các bài toán về định vị và nhận diện vật thể.

0 0 272

- vừa được xem lúc

Xây dựng hệ thống Real-time Multi-person Tracking với YOLOv3 và DeepSORT

Trong bài này chúng ta sẽ xây dựng một hệ thống sử dụng YOLOv3 kết hợp với DeepSORT để tracking được các đối tượng trên camera, YOLO là một thuật toán deep learning ra đời vào tháng 5 năm 2016 và nó nhanh chóng trở nên phổ biến vì nó quá nhanh so với thuật toán deep learning trước đó, sử dụng YOLO t

0 0 303

- vừa được xem lúc

Sơ lược về bài toán Person Re-identification

Với những công nghệ hiện đại của thế kỷ 21 chúng ta đã có những phần cứng cũng như phần mềm mạnh mẽ để giải quyết những vấn đề và bài toán nan giải như face recognition, object detection, NLP,... Một trong những vấn đề nan giải cũng được mọi người chú ý ko kém những chủ đề trên là Object Tracking, v

0 0 55

- vừa được xem lúc

Bacteria classification bằng thư viện fastai

Giới thiệu. fastai là 1 thư viện deep learning hiện đại, cung cấp API bậc cao để giúp các lập trình viên AI cài đặt các mô hình deep learning cho các bài toán như classification, segmentation... và nhanh chóng đạt được kết quả tốt chỉ bằng vài dòng code. Bên cạnh đó, nhờ được phát triển trên nền tản

0 0 24

- vừa được xem lúc

Xác định ý định câu hỏi trong hệ thống hỏi đáp

Mục tiêu bài viết. Phân tích câu hỏi là pha đầu tiên trong kiến trúc chung của một hệ thống hỏi đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các pha sau (trích c

0 0 83

- vừa được xem lúc

Một số cải tiến của cross-entropy loss cho Face Recognition

Introduction. Bài toán face recognition trong vài năm trở lại đây đã đạt dược nhiều bước tiến lớn nhờ vào sự phát triển của học sâu (Deep learning), mà cụ thể hơn là mạng neural tích chập (Convolution

0 0 105