Model Weights
Tìm hiểu cách trọng số model (model weights) đóng vai trò là kiến thức của AI. Khám phá cách Ultralytics YOLO26 sử dụng các trọng số được tối ưu hóa để huấn luyện và suy luận nhanh hơn, chính xác hơn.
Trọng số mô hình (model weights) là các tham số có thể học trong một mô hình học máy giúp biến đổi dữ liệu đầu vào thành các đầu ra dự đoán. Trong một mạng thần kinh, các trọng số này đại diện cho độ mạnh của các kết nối giữa các nơ-ron qua các tầng khác nhau. Khi một mô hình được khởi tạo, các trọng số này thường được đặt thành các giá trị ngẫu nhiên, nhỏ, nghĩa là mô hình không "biết" gì cả. Thông qua một quá trình gọi là huấn luyện, mô hình liên tục điều chỉnh các trọng số này dựa trên các lỗi mà nó tạo ra, dần dần học cách nhận diện các mẫu, đặc trưng và mối quan hệ trong dữ liệu. Bạn có thể coi trọng số mô hình là "bộ nhớ" hoặc "kiến thức" của AI; chúng lưu trữ những gì hệ thống đã học từ dữ liệu huấn luyện của nó.
Vai trò của trọng số trong học tập#
Mục tiêu chính của việc huấn luyện một mạng thần kinh là tìm ra tập hợp trọng số mô hình tối ưu giúp giảm thiểu sai số giữa các dự đoán của mô hình và nhãn thực tế. Quá trình này bao gồm việc truyền dữ liệu qua mạng—một bước gọi là lan truyền tiến (forward pass)—và sau đó tính toán giá trị mất mát bằng một hàm mất mát cụ thể. Nếu dự đoán không chính xác, một thuật toán tối ưu hóa như Stochastic Gradient Descent (SGD) hoặc bộ tối ưu hóa Muon mới hơn được sử dụng trong YOLO26 sẽ tính toán mức độ đóng góp của từng trọng số vào sai số đó.
Thông qua một kỹ thuật gọi là lan truyền ngược, thuật toán cập nhật các trọng số một lượng nhỏ để giảm sai số cho lần tiếp theo. Chu kỳ này lặp lại hàng nghìn hoặc hàng triệu lần cho đến khi trọng số mô hình ổn định và hệ thống đạt độ chính xác cao. Khi quá trình huấn luyện hoàn tất, các trọng số sẽ được "đóng băng" và lưu lại, cho phép mô hình được triển khai để suy luận trên dữ liệu mới, chưa từng thấy.
Trọng số mô hình và Biases#
Điều quan trọng là phải phân biệt giữa trọng số và hệ số chặn (biases), vì chúng hoạt động cùng nhau nhưng phục vụ các mục đích khác nhau. Trong khi trọng số mô hình xác định độ mạnh và hướng của kết nối giữa các nơ-ron (kiểm soát độ dốc của hàm kích hoạt), hệ số chặn cho phép hàm kích hoạt dịch chuyển sang trái hoặc phải. Độ lệch này đảm bảo rằng mô hình có thể khớp với dữ liệu tốt hơn, ngay cả khi tất cả các đặc trưng đầu vào đều bằng không. Cùng nhau, trọng số và hệ số chặn tạo thành các tham số có thể học định nghĩa hành vi của các kiến trúc như Mạng thần kinh tích chập (CNN).
Các ứng dụng trong thực tế#
Trọng số mô hình là thành phần cốt lõi giúp các hệ thống AI hoạt động trên nhiều ngành công nghiệp khác nhau. Dưới đây là hai ví dụ cụ thể về cách chúng được áp dụng:
- Thị giác máy tính trong Bán lẻ: Trong một hệ thống siêu thị thông minh, một mô hình như YOLO26 sử dụng các trọng số đã được huấn luyện của nó để nhận diện các sản phẩm trên kệ. Các trọng số đã "học" các đặc trưng trực quan—chẳng hạn như hình dạng của hộp ngũ cốc hoặc màu sắc của lon nước ngọt—cho phép hệ thống phát hiện các mặt hàng, quản lý kho và thậm chí hỗ trợ các quy trình thanh toán tự động một cách hiệu quả.
- Phân tích hình ảnh y tế: Trong lĩnh vực chăm sóc sức khỏe, các mô hình học sâu tận dụng các trọng số chuyên biệt để phân tích ảnh chụp X-quang hoặc quét MRI. Ví dụ, một mô hình được huấn luyện để phát hiện khối u sử dụng các trọng số của nó để phân biệt giữa mô khỏe mạnh và các điểm bất thường tiềm ẩn. Những trọng số này nắm bắt các mẫu phức tạp, phi tuyến tính trong dữ liệu điểm ảnh mà mắt thường có thể khó nhận ra, hỗ trợ các bác sĩ chẩn đoán nhanh hơn.
Lưu và tải trọng số#
Trong thực tế, việc làm việc với trọng số mô hình bao gồm việc lưu các tham số đã huấn luyện vào một tệp và tải chúng sau đó để dự đoán hoặc tinh chỉnh. Trong hệ sinh thái Ultralytics, các tệp này thường được lưu dưới dạng .pt (PyTorch).
Dưới đây là một ví dụ đơn giản về cách tải các trọng số đã được huấn luyện trước vào một mô hình YOLO và chạy dự đoán:
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")Học chuyển đổi (Transfer Learning) và Tinh chỉnh (Fine-Tuning)#
Một trong những khía cạnh mạnh mẽ nhất của trọng số mô hình là tính di động của chúng. Thay vì huấn luyện một mô hình từ đầu—vốn đòi hỏi các tập dữ liệu lớn và sức mạnh tính toán đáng kể—các nhà phát triển thường sử dụng học chuyển giao. Quá trình này bao gồm việc lấy một mô hình có trọng số đã được huấn luyện trước trên một tập dữ liệu lớn như COCO hoặc ImageNet và điều chỉnh nó cho một tác vụ cụ thể.
Ví dụ, bạn có thể lấy trọng số từ một trình phát hiện đối tượng tổng quát và tinh chỉnh chúng trên một tập dữ liệu nhỏ hơn gồm tấm pin mặt trời. Do các trọng số được huấn luyện trước đã hiểu về các cạnh, hình dạng và kết cấu, mô hình hội tụ nhanh hơn nhiều và đòi hỏi ít dữ liệu được gán nhãn hơn. Các công cụ như Ultralytics Platform đơn giản hóa quy trình này, cho phép các nhóm quản lý tập dữ liệu, huấn luyện mô hình trên đám mây và triển khai các trọng số được tối ưu hóa đến các thiết bị biên một cách liền mạch.
Nén và Tối ưu hóa#
Nghiên cứu AI hiện đại thường tập trung vào việc giảm kích thước tệp của trọng số mô hình mà không làm giảm hiệu suất, một quá trình được gọi là lượng tử hóa mô hình. Bằng cách giảm độ chính xác của trọng số (ví dụ: từ số dấu phẩy động 32-bit xuống số nguyên 8-bit), các nhà phát triển có thể giảm đáng kể mức sử dụng bộ nhớ và cải thiện tốc độ suy luận. Điều này rất quan trọng để triển khai các mô hình trên phần cứng bị giới hạn tài nguyên như điện thoại di động hoặc thiết bị Raspberry Pi. Ngoài ra, các kỹ thuật như cắt tỉa sẽ loại bỏ các trọng số đóng góp ít cho đầu ra, giúp tinh giản mô hình hơn nữa cho các ứng dụng thời gian thực.






