Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Chuẩn hóa theo lô (Batch Normalization)

Khám phá cách Batch Normalization giúp ổn định các mô hình học sâu. Tìm hiểu cách thực hiện. Ultralytics YOLO26 sử dụng BatchNorm để tăng tốc quá trình huấn luyện và cải thiện độ chính xác của AI.

Chuẩn hóa theo lô (Batch Normalization), thường được gọi tắt là BatchNorm, là một kỹ thuật được sử dụng trong học sâu (DL) để ổn định và tăng tốc quá trình huấn luyện mạng nơ-ron nhân tạo . Được giới thiệu để giải quyết vấn đề dịch chuyển hiệp biến nội bộ—trong đó phân bố đầu vào của một lớp thay đổi liên tục khi các tham số của các lớp trước đó được cập nhật—BatchNorm chuẩn hóa đầu vào của một lớp cho mỗi mini-batch. Bằng cách chuẩn hóa đầu vào của lớp để có giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1, sau đó điều chỉnh tỷ lệ và dịch chuyển chúng với các tham số có thể học được, phương pháp này cho phép mạng sử dụng tốc độ học cao hơn và giảm độ nhạy cảm với việc khởi tạo.

Cách thức hoạt động của Chuẩn hóa hàng loạt (Batch Normalization)

Trong một mạng nơ-ron tích chập (CNN) tiêu chuẩn, dữ liệu được truyền qua các lớp, mỗi lớp thực hiện một phép biến đổi. Nếu không có chuẩn hóa, thang đo của các giá trị đầu ra có thể thay đổi rất nhiều, khiến thuật toán tối ưu hóa khó tìm ra các trọng số tốt nhất. Chuẩn hóa theo lô (Batch Normalization) thường được áp dụng ngay trước hàm kích hoạt (như ReLU hoặc SiLU).

Quá trình này bao gồm hai bước chính trong quá trình đào tạo:

  1. Chuẩn hóa: Lớp này tính toán giá trị trung bình và phương sai của các kích hoạt trong kích thước lô hiện tại. Sau đó, nó trừ đi giá trị trung bình của lô và chia cho độ lệch chuẩn của lô.
  2. Điều chỉnh tỷ lệ và dịch chuyển: Để đảm bảo mạng vẫn có thể biểu diễn các hàm phức tạp, hai tham số có thể học được (gamma và beta) được giới thiệu. Chúng cho phép mạng đảo ngược quá trình chuẩn hóa nếu phân bố dữ liệu tối ưu không phải là phân bố chuẩn thông thường.

Cơ chế này hoạt động như một hình thức điều chỉnh, làm giảm nhẹ nhu cầu sử dụng các kỹ thuật khác như lớp Dropout bằng cách thêm một lượng nhiễu nhỏ vào các tín hiệu kích hoạt trong quá trình huấn luyện.

Những lợi ích chính trong đào tạo AI

Việc tích hợp Batch Normalization vào các kiến ​​trúc như ResNet hoặc các bộ phát hiện đối tượng hiện đại mang lại một số lợi thế rõ rệt:

  • Tốc độ hội tụ nhanh hơn: Mô hình được huấn luyện nhanh hơn đáng kể vì quá trình chuẩn hóa ngăn không cho độ dốc trở nên quá nhỏ hoặc quá lớn, từ đó khắc phục hiệu quả vấn đề độ dốc biến mất .
  • Tính ổn định: Điều này giúp mạng nơ-ron ít nhạy cảm hơn với việc lựa chọn cụ thể các trọng số ban đầu và điều chỉnh siêu tham số , làm cho quá trình huấn luyện mô hình trở nên mạnh mẽ hơn.
  • Khả năng khái quát hóa được cải thiện: Bằng cách làm mượt mà quá trình tối ưu hóa, BatchNorm giúp mô hình khái quát hóa tốt hơn đối với dữ liệu kiểm thử chưa từng thấy.

Các Ứng dụng Thực tế

Chuẩn hóa theo lô (Batch Normalization) là một thành phần thiết yếu trong hầu hết các hệ thống thị giác máy tính (CV) hiện đại.

  1. Lái xe tự động: Trong hệ thống xe tự lái, các mô hình như Ultralytics YOLO26 xử lý các khung hình video để detect Người đi bộ, phương tiện giao thông và biển báo. BatchNorm đảm bảo các lớp phát hiện đối tượng luôn ổn định bất kể sự thay đổi về cường độ ánh sáng hoặc điều kiện thời tiết, duy trì độ chính xác trung bình cao ( mAP ) .
  2. Hình ảnh y tế: Khi thực hiện phát hiện khối u trong hình ảnh y tế , dữ liệu quét có thể khác nhau đáng kể giữa các máy MRI hoặc CT khác nhau. BatchNorm giúp chuẩn hóa các đặc điểm này bên trong, cho phép AI tập trung vào các bất thường về cấu trúc thay vì sự khác biệt về cường độ pixel, cải thiện độ chính xác chẩn đoán trong các giải pháp AI chăm sóc sức khỏe .

Chuẩn hóa theo lô so với chuẩn hóa dữ liệu

Việc phân biệt giữa chuẩn hóa theo lô (Batch Normalization) và chuẩn hóa dữ liệu thông thường là rất hữu ích.

  • Chuẩn hóa dữ liệu là một bước tiền xử lý được áp dụng cho tập dữ liệu đầu vào thô (ví dụ: thay đổi kích thước hình ảnh và điều chỉnh giá trị pixel về 0-1) trước khi quá trình huấn luyện bắt đầu. Các công cụ như Albumentations thường được sử dụng cho giai đoạn này.
  • Chuẩn hóa theo lô (Batch Normalization) diễn ra bên trong các lớp của mạng nơ-ron trong chính quá trình huấn luyện. Nó điều chỉnh một cách linh hoạt các giá trị bên trong của mạng khi dữ liệu được truyền qua.

Ví dụ triển khai

Các framework học sâu như PyTorch bao gồm các triển khai tối ưu hóa của Batch Normalization. Trong Ultralytics YOLO Trong các kiến ​​trúc này, các lớp này được tự động tích hợp vào các khối tích chập.

Sau đây là Python Đoạn mã này minh họa cách kiểm tra một mô hình để xem nó nằm ở đâu. BatchNorm2d Các lớp nằm trong cấu trúc kiến ​​trúc.

from ultralytics import YOLO

# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")

# Print the model structure to view layers
# You will see 'BatchNorm2d' listed after 'Conv2d' layers
print(model.model)

Hiểu được cách các lớp này tương tác với nhau sẽ giúp các nhà phát triển khi sử dụng Nền tảng Ultralytics để tinh chỉnh mô hình trên các tập dữ liệu tùy chỉnh, đảm bảo quá trình huấn luyện vẫn ổn định ngay cả với dữ liệu hạn chế.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay