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

Gradient Descent

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)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 Gradient Descent hoạt động

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ác biến thể của Gradient Descent

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ụ:

  • Batch Gradient Descent : Tính toán gradient bằng cách sử dụng toàn bộ dữ liệu huấn luyện cho mỗi lần cập nhật. Phương pháp này cung cấp các bản cập nhật ổn định nhưng có thể cực kỳ chậm và tốn bộ nhớ đối với các tập dữ liệu lớn.
  • Giảm dần Gradient Ngẫu nhiên ( SGD ) : Cập nhật trọng số bằng cách sử dụng một mẫu ngẫu nhiên duy nhất tại một thời điểm. Phương pháp này tạo ra nhiễu, có thể giúp thoát khỏi các cực tiểu cục bộ nhưng lại dẫn đến đường cong mất mát dao động. Tài liệu Scikit-Learn về SGD cung cấp chi tiết kỹ thuật về phương pháp này.
  • Mini-Batch Gradient Descent : Xử lý các tập hợp con dữ liệu nhỏ hoặc các lô , cung cấp sự cân bằng giữa tính ổn định của việc giảm dần độ dốc theo lô và tốc độ của SGD . Đây là cách tiếp cận tiêu chuẩn trong các khuôn khổ hiện đại như PyTorchTensorFlow .

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)

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

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.

  • Phân tích hình ảnh y tế : Trong các tác vụ như phát hiện khối u , Gradient Descent điều chỉnh trọng số của Mạng nơ-ron tích chập (CNN) theo từng bước để giảm thiểu sai số giữa mặt nạ phân đoạn dự đoán và dữ liệu thực tế của bác sĩ X quang. Điều này đảm bảo độ chính xác cao trong phân tích hình ảnh y tế .
  • Lái xe tự động : Xe tự lái dựa vào các mô hình phát hiện vật thể để nhận dạng người đi bộ, phương tiện và tín hiệu giao thông. Trong quá trình đào tạo, bộ tối ưu hóa giảm thiểu tổn thất hồi quy cho tọa độ hộp giới hạn , cho phép xe định vị vật thể với độ chính xác đến từng centimet. Các công ty hàng đầu trong ngành như Waymo dựa vào các kỹ thuật tối ưu hóa tiên tiến này để đảm bảo an toàn cho hành khách.

Gradient Descent so với các khái niệm liên quan

Để 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 .

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