Normalization
Khám phá cách chuẩn hóa cải thiện quy trình huấn luyện và độ chính xác của model. Tìm hiểu về Min-Max scaling, Z-score standardization và vai trò của nó trong các dự án Ultralytics YOLO26.
Normalization là một kỹ thuật cơ bản trong data preprocessing bao gồm việc thay đổi tỷ lệ các thuộc tính số về một khoảng tiêu chuẩn. Trong bối cảnh của machine learning (ML), các tập dữ liệu thường chứa các đặc trưng với các tỷ lệ khác nhau—chẳng hạn như khoảng tuổi (0–100) so với mức thu nhập (0–100.000). Nếu không được xử lý, những chênh lệch này có thể khiến optimization algorithm trở nên chệch hướng về phía các giá trị lớn hơn, dẫn đến quá trình hội tụ chậm hơn và hiệu suất dưới mức tối ưu. Bằng cách chuẩn hóa dữ liệu, các kỹ sư đảm bảo rằng mọi đặc trưng đóng góp tương ứng vào kết quả cuối cùng, cho phép neural networks học tập hiệu quả hơn.
Các kỹ thuật chuẩn hóa phổ biến#
Có một số phương pháp tiêu chuẩn để chuyển đổi dữ liệu, mỗi phương pháp phù hợp với các phân phối và yêu cầu thuật toán khác nhau.
- Min-Max Scaling: Đây là dạng normalization trực quan nhất. Nó thay đổi tỷ lệ dữ liệu về một khoảng cố định, thường là [0, 1]. Phép biến đổi này được thực hiện bằng cách trừ đi giá trị nhỏ nhất và chia cho khoảng (giá trị lớn nhất trừ đi giá trị nhỏ nhất). Nó được sử dụng rộng rãi trong image processing nơi cường độ điểm ảnh được biết là bị giới hạn trong khoảng từ 0 đến 255.
- Z-Score Standardization: Mặc dù thường được sử dụng thay thế cho nhau với normalization, standardization cụ thể biến đổi dữ liệu có giá trị trung bình là 0 và độ lệch chuẩn là 1. Điều này đặc biệt hữu ích khi dữ liệu tuân theo Gaussian distribution và rất quan trọng đối với các thuật toán như Support Vector Machines (SVM) giả định dữ liệu được phân phối chuẩn.
- Log Scaling: Đối với dữ liệu chứa các ngoại lệ cực đoan hoặc tuân theo luật lũy thừa, việc áp dụng phép biến đổi logarit có thể nén phạm vi giá trị. Điều này làm cho sự phân phối dễ quản lý hơn để inference engine diễn giải hiệu quả mà không bị làm lệch bởi các đỉnh giá trị lớn.
Các ứng dụng trong thực tế#
Chuẩn hóa là một bước tiêu chuẩn trong các quy trình của các hệ thống AI hiệu suất cao trên nhiều ngành công nghiệp khác nhau.
-
Computer Vision (CV): Trong các tác vụ như object detection và image classification, các hình ảnh kỹ thuật số bao gồm các giá trị điểm ảnh dao động từ 0 đến 255. Việc đưa các số nguyên lớn này trực tiếp vào mạng có thể làm chậm gradient descent. Một bước tiền xử lý chuẩn liên quan đến việc chia các giá trị điểm ảnh cho 255.0 để chuẩn hóa chúng về khoảng [0, 1]. Thực tiễn này đảm bảo đầu vào nhất quán cho các mô hình tiên tiến như YOLO26, cải thiện độ ổn định khi huấn luyện trên Ultralytics Platform.
-
Medical Image Analysis: Các bản quét y tế, chẳng hạn như những bản được sử dụng trong AI in healthcare, thường xuất phát từ các máy khác nhau với các tỷ lệ cường độ khác nhau. Normalization đảm bảo rằng cường độ điểm ảnh từ quét MRI hoặc CT có thể so sánh được giữa các bệnh nhân và thiết bị khác nhau. Sự nhất quán này rất quan trọng đối với tumor detection chính xác, cho phép mô hình tập trung vào các bất thường về cấu trúc thay vì các biến động độ sáng.
Phân biệt các khái niệm liên quan#
Điều quan trọng là phải phân biệt chuẩn hóa với các thuật ngữ tiền xử lý và kiến trúc tương tự được tìm thấy trong học sâu (deep learning).
- vs. Batch Normalization: Data normalization là một bước tiền xử lý được áp dụng cho tập dữ liệu đầu vào thô trước khi nó đi vào mạng. Ngược lại, Batch Normalization hoạt động nội bộ giữa các lớp trong toàn bộ mạng trong quá trình model training. Nó chuẩn hóa đầu ra của một lớp kích hoạt trước đó để ổn định quá trình học tập.
- vs. Image Augmentation: Trong khi normalization thay đổi tỷ lệ của các giá trị điểm ảnh, augmentation thay đổi nội dung hoặc hình học của hình ảnh (ví dụ: lật, xoay hoặc thay đổi màu sắc) để tăng sự đa dạng của tập dữ liệu. Các công cụ như Albumentations được sử dụng cho augmentation, trong khi normalization là một phép toán tỷ lệ toán học.
Ví dụ về triển khai#
Trong computer vision, normalization thường là bước đầu tiên trong pipeline. Ví dụ Python sau đây minh họa cách chuẩn hóa thủ công dữ liệu hình ảnh bằng cách sử dụng NumPy library, một quá trình diễn ra tự động trong trình tải dữ liệu Ultralytics YOLO26 trong quá trình huấn luyện.
import numpy as np
# Simulate a 2x2 pixel image with values ranging from 0 to 255
raw_image = np.array([[0, 255], [127, 64]], dtype=np.float32)
# Apply Min-Max normalization to scale values to [0, 1]
# This standardizes the input for the neural network
normalized_image = raw_image / 255.0
print(f"Original Range: {raw_image.min()} - {raw_image.max()}")
print(f"Normalized Range: {normalized_image.min()} - {normalized_image.max()}")





