Khám phá cách Gradient Descent tối ưu hóa các mô hình AI như Ultralytics YOLO , cho phép dự đoán chính xác các nhiệm vụ từ chăm sóc sức khỏe đến xe tự lái.
Gradient Descent là một thuật toán lặp cơ bản được sử dụng để giảm thiểu một hàm bằng cách di chuyển theo hướng dốc nhất. Trong bối cảnh học máy (ML) và học sâu (DL) , nó hoạt động như một cơ chế hướng dẫn đào tạo các mô hình để đưa ra dự đoán chính xác. Mục tiêu chính là tìm ra tập hợp trọng số mô hình tối ưu giúp giảm thiểu hàm mất mát , biểu thị sự khác biệt giữa các dự đoán của mô hình và các giá trị mục tiêu thực tế. Bạn có thể hình dung quá trình này giống như một người đi bộ đường dài đang cố gắng tìm đáy của một thung lũng trong sương mù dày đặc; bằng cách thực hiện nhiều bước theo hướng dốc xuống dốc nhất, cuối cùng người đi bộ đường dài sẽ đến điểm thấp nhất. Khái niệm cốt lõi này được khám phá sâu hơn trong Khóa học cấp tốc về Học máy Google .
Cơ chế cốt lõi của Gradient Descent liên quan đến việc tính toán gradient—một vectơ của các đạo hàm riêng—của hàm mất mát theo từng tham số. Tính toán này được xử lý hiệu quả bởi thuật toán lan truyền ngược . Khi gradient được xác định, mô hình sẽ cập nhật các tham số của nó bằng cách thực hiện một bước theo hướng ngược lại của gradient. Kích thước của bước này được kiểm soát bởi một tham số quan trọng được gọi là tốc độ học . Nếu tốc độ học quá cao, thuật toán có thể vượt quá mức tối thiểu; nếu quá thấp, quá trình đào tạo có thể mất quá nhiều thời gian. Chu kỳ này lặp lại qua nhiều lần duyệt qua tập dữ liệu, được gọi là kỷ nguyên , cho đến khi mất mát ổn định. Về góc nhìn toán học, Khan Academy cung cấp một bài học về gradient descent phân tích phép tính liên quan.
Có nhiều biến thể khác nhau của thuật toán để cân bằng hiệu quả tính toán và tốc độ hội tụ:
Sau đây là một ví dụ ngắn gọn về cách cấu hình trình tối ưu hóa để đào tạo mô hình Ultralytics YOLO11 :
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the SGD optimizer with a specific learning rate
# The 'optimizer' argument allows you to select the gradient descent variant
results = model.train(data="coco8.yaml", epochs=50, optimizer="SGD", lr0=0.01)
Gradient Descent là công nghệ đằng sau nhiều ứng dụng AI mang tính chuyển đổi trong chăm sóc sức khỏe và công nghiệp.
Để hiểu đầy đủ về Gradient Descent, cần phân biệt nó với các thuật ngữ liên quan. Trong khi Backpropagation tính toán gradient (xác định "hướng"), Gradient Descent là thuật toán tối ưu hóa thực sự cập nhật các tham số (thực hiện "bước"). Ngoài ra, trong khi Gradient Descent tiêu chuẩn thường sử dụng tốc độ học cố định, các thuật toán thích ứng như trình tối ưu hóa Adam điều chỉnh tốc độ học động cho từng tham số, thường dẫn đến sự hội tụ nhanh hơn như đã mô tả trong bài nghiên cứu gốc Adam . Những thách thức như bài toán gradient biến mất có thể cản trở Gradient Descent tiêu chuẩn trong các mạng rất sâu, đòi hỏi các giải pháp kiến trúc như Chuẩn hóa theo lô hoặc kết nối dư. Tổng quan toàn diện về những thách thức tối ưu hóa này có thể được tìm thấy trên blog của Sebastian Ruder .