Gradient Descent
Khám phá cách gradient descent tối ưu hóa các model machine learning như Ultralytics YOLO26. Tìm hiểu về các hàm loss, lan truyền ngược và weights để cải thiện độ chính xác của AI.
Hạ gradient là một thuật toán tối ưu hóa lặp cơ bản được sử dụng để huấn luyện các model machine learning và mạng neural. Chức năng chính của thuật toán là tối thiểu hóa hàm mất mát bằng cách điều chỉnh có hệ thống các tham số bên trong model, cụ thể là trọng số model và bias. Bạn có thể hình dung quá trình này như một người leo núi đang cố gắng đi xuống một ngọn núi trong sương mù dày đặc; không thể nhìn thấy chân núi, người đó cảm nhận độ dốc của mặt đất và bước theo hướng đi xuống dốc nhất. Trong bối cảnh machine learning (ML), "ngọn núi" biểu thị landscape của lỗi, còn "chân núi" biểu thị trạng thái mà tại đó các dự đoán của model chính xác nhất. Kỹ thuật tối ưu hóa này là động lực đằng sau những đột phá của trí tuệ nhân tạo (AI) hiện đại, cung cấp nền tảng cho mọi thứ, từ hồi quy tuyến tính đơn giản đến các kiến trúc deep learning phức tạp như Ultralytics YOLO26.
Cách Hạ gradient hoạt động#
Hiệu quả của Hạ gradient phụ thuộc vào việc tính gradient—một vector chỉ theo hướng mà hàm mất mát tăng nhanh nhất. Phép tính này thường được thực hiện bằng thuật toán lan truyền ngược. Sau khi xác định được hướng, thuật toán cập nhật các trọng số theo hướng ngược lại để giảm lỗi. Kích thước bước đi được xác định bởi một hyperparameter gọi là tốc độ học. Việc tìm tốc độ học tối ưu là rất quan trọng; bước quá lớn có thể khiến model vượt quá điểm cực tiểu, trong khi bước quá nhỏ có thể làm quá trình huấn luyện chậm đến mức khó chịu, đòi hỏi quá nhiều epoch mới hội tụ. Để hiểu sâu hơn về mặt toán học, Khan Academy cung cấp một bài học giải tích nhiều biến về chủ đề này.
Quá trình này lặp lại cho đến khi model đạt đến một điểm mà tại đó lỗi được tối thiểu hóa, thường được gọi là hội tụ. Trong khi thuật toán tiêu chuẩn tính gradient trên toàn bộ tập dữ liệu huấn luyện, các biến thể như Hạ gradient ngẫu nhiên (SGD) sử dụng các tập con nhỏ hơn hoặc từng mẫu riêng lẻ để tăng tốc tính toán và thoát khỏi các cực tiểu cục bộ. Khả năng thích ứng này khiến nó phù hợp để huấn luyện các model quy mô lớn trên Ultralytics Platform, nơi hiệu quả và tốc độ được đặt lên hàng đầu.
Các ứng dụng trong thực tế#
Hạ gradient hoạt động âm thầm phía sau gần như mọi giải pháp AI thành công, chuyển đổi dữ liệu thô thành thông tin có thể hành động trong nhiều ngành khác nhau.
- Lái xe tự hành: Trong quá trình phát triển phương tiện tự hành, các model phải xử lý dữ liệu hình ảnh để nhận diện người đi bộ, biển báo giao thông và các phương tiện khác. Bằng cách sử dụng các kiến trúc phát hiện đối tượng như YOLO26 hiện đại, Hạ gradient tối thiểu hóa sự khác biệt giữa vị trí dự đoán của một đối tượng và vị trí thực tế của đối tượng đó. Điều này đảm bảo các hệ thống AI trong ngành ô tô có thể đưa ra những quyết định trong tích tắc, góp phần bảo vệ tính mạng, bằng cách liên tục tinh chỉnh bản đồ nội bộ về con đường.
- Chẩn đoán y khoa: Trong lĩnh vực chăm sóc sức khỏe, phân tích hình ảnh y khoa dựa vào deep learning để phát hiện các bất thường như khối u trong ảnh chụp MRI. Bằng cách sử dụng Hạ gradient để tối ưu hóa mạng neural tích chập (CNNs), các hệ thống này học cách phân biệt mô ác tính và lành tính với độ chính xác cao. Điều này hỗ trợ đáng kể các chuyên gia AI trong chăm sóc sức khỏe bằng cách giảm số ca âm tính giả trong những chẩn đoán quan trọng, từ đó đưa ra kế hoạch điều trị sớm hơn và chính xác hơn.
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 Hạ gradient với các thuật ngữ liên quan chặt chẽ trong glossary deep learning (DL) để tránh nhầm lẫn trong quá trình phát triển model.
- So với lan truyền ngược: Mặc dù thường được nhắc đến cùng nhau, chúng đảm nhiệm các vai trò khác nhau trong vòng lặp huấn luyện. Lan truyền ngược là phương pháp dùng để tính gradient (xác định hướng của độ dốc), trong khi Hạ gradient là thuật toán tối ưu hóa sử dụng các gradient đó để cập nhật trọng số (thực hiện bước đi). Lan truyền ngược là bản đồ; Hạ gradient là người leo núi.
- So với bộ tối ưu Adam: Bộ tối ưu Adam là một phiên bản phát triển nâng cao của Hạ gradient, sử dụng tốc độ học thích ứng cho từng tham số. Điều này thường giúp hội tụ nhanh hơn so với SGD tiêu chuẩn. Adam được sử dụng rộng rãi trong các framework hiện đại và là lựa chọn mặc định để huấn luyện các model như YOLO11 và YOLO26 nhờ độ ổn định cao.
- So với hàm mất mát: Một hàm mất mát (chẳng hạn như Sai số bình phương trung bình hoặc Entropy chéo) đo mức độ kém hiệu quả của model. Hạ gradient là quá trình cải thiện hiệu suất đó. Hàm mất mát cung cấp điểm số, còn Hạ gradient cung cấp chiến lược để cải thiện điểm số.
Ví dụ mã Python#
Mặc dù các thư viện cấp cao như ultralytics trừu tượng hóa quy trình này trong quá trình huấn luyện, bạn có thể xem trực tiếp cơ chế này bằng PyTorch. Ví dụ sau minh họa một bước tối ưu hóa đơn giản, trong đó chúng ta cập nhật thủ công một tensor để tối thiểu hóa một giá trị.
import torch
# Create a tensor representing a weight, tracking gradients
w = torch.tensor([5.0], requires_grad=True)
# Define a simple loss function: (w - 2)^2. Minimum is at w=2.
loss = (w - 2) ** 2
# Backward pass: Calculate the gradient (slope) of the loss with respect to w
loss.backward()
# Perform a single Gradient Descent step
learning_rate = 0.1
with torch.no_grad():
w -= learning_rate * w.grad # Update weight: w_new = w_old - (lr * gradient)
print(f"Gradient: {w.grad.item()}")
print(f"Updated Weight: {w.item()}") # Weight moves closer to 2.0Việc nắm vững những nền tảng này cho phép developer khắc phục các vấn đề về hội tụ, tinh chỉnh hyperparameter hiệu quả và tận dụng các công cụ mạnh mẽ như Ultralytics Explorer để trực quan hóa cách dataset tương tác với động lực học huấn luyện model. Đối với những người muốn triển khai hiệu quả các model đã được tối ưu hóa này, việc tìm hiểu huấn luyện nhận biết lượng tử hóa (QAT) có thể tiếp tục cải thiện hiệu năng cho các thiết bị edge.









