Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
Bảng chú giải thuật ngữ

Stochastic Gradient Descent (SGD)

Khám phá cách Stochastic Gradient Descent (SGD) tối ưu hóa các mô hình học máy, cho phép huấn luyện hiệu quả cho các tập dữ liệu lớn và các tác vụ học sâu.

Gradient Descent ngẫu nhiên (SGD) là một thuật toán tối ưu hóa cơ bản và được sử dụng rộng rãi trong học máy (ML). Đây là một phương pháp lặp đi lặp lại được sử dụng để huấn luyện các mô hình bằng cách điều chỉnh các tham số bên trong của chúng, chẳng hạn như trọng số và độ lệch, để giảm thiểu hàm mất mát. Không giống như Gradient Descent truyền thống, xử lý toàn bộ tập dữ liệu cho mỗi lần cập nhật, SGD cập nhật các tham số chỉ bằng một mẫu huấn luyện được chọn ngẫu nhiên. Cách tiếp cận "ngẫu nhiên" này làm cho quá trình huấn luyện nhanh hơn và có khả năng mở rộng hơn đáng kể, điều này đặc biệt quan trọng khi làm việc với dữ liệu lớn. Các bản cập nhật nhiễu cũng có thể giúp mô hình thoát khỏi các cực tiểu cục bộ kém trong không gian lỗi và có khả năng tìm ra giải pháp tổng thể tốt hơn.

Cách thức hoạt động của Stochastic Gradient Descent

Ý tưởng cốt lõi đằng sau SGD là xấp xỉ gradient thực của hàm mất mát (loss function), được tính trên toàn bộ tập dữ liệu, bằng cách sử dụng gradient của mất mát cho một mẫu duy nhất. Mặc dù gradient của một mẫu duy nhất này là một ước tính nhiễu, nhưng nó có chi phí tính toán rẻ và trung bình, nó chỉ đúng hướng. Quá trình này bao gồm việc lặp lại một chu kỳ hai bước đơn giản cho mỗi mẫu huấn luyện:

  1. Tính toán Gradient: Tính toán gradient của hàm mất mát (loss function) đối với các tham số của mô hình cho một ví dụ huấn luyện duy nhất.
  2. Cập nhật các tham số: Điều chỉnh các tham số theo hướng ngược lại của gradient, được chia tỷ lệ theo tốc độ học tập. Điều này di chuyển mô hình đến một trạng thái có lỗi thấp hơn cho mẫu cụ thể đó.

Chu trình này được lặp lại nhiều lần trên toàn bộ tập dữ liệu, được gọi là epochs (số lần lặp), giúp cải thiện dần hiệu suất của mô hình. Tính hiệu quả của SGD đã biến nó thành nền tảng của học sâu (DL) hiện đại và được hỗ trợ bởi tất cả các framework chính như PyTorchTensorFlow.

So sánh SGD với các bộ tối ưu khác

SGD là một trong số các phương pháp tối ưu hóa dựa trên gradient, mỗi phương pháp có những ưu điểm và hạn chế riêng.

  • Batch Gradient Descent: Phương pháp này tính toán gradient bằng cách sử dụng toàn bộ bộ dữ liệu huấn luyện. Nó cung cấp một đường dẫn ổn định và trực tiếp đến điểm tối thiểu nhưng cực kỳ chậm và tốn nhiều bộ nhớ đối với các bộ dữ liệu lớn, khiến nó không thực tế đối với hầu hết các ứng dụng hiện đại.
  • Gradient Descent theo Mini-Batch: Đây là sự thỏa hiệp giữa Batch GD và SGD. Nó cập nhật các tham số bằng cách sử dụng một tập hợp con ngẫu nhiên nhỏ (một "mini-batch") của dữ liệu. Nó cân bằng tính ổn định của Batch GD với hiệu quả của SGD và là phương pháp phổ biến nhất được sử dụng trong thực tế.
  • Bộ tối ưu hóa Adam (Adam Optimizer): Adam là một thuật toán tối ưu hóa thích ứng duy trì một tốc độ học riêng biệt cho mỗi tham số và điều chỉnh nó khi quá trình học tiến triển. Nó thường hội tụ nhanh hơn SGD, nhưng SGD đôi khi có thể tìm thấy mức tối thiểu tốt hơn và cung cấp khả năng tổng quát hóa tốt hơn, giúp ngăn ngừa quá khớp (overfitting).

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

SGD và các biến thể của nó đóng vai trò quan trọng trong việc huấn luyện một loạt các mô hình AI trên nhiều lĩnh vực khác nhau.

  • Huấn luyện phát hiện đối tượng theo thời gian thực: Đối với các mô hình như Ultralytics YOLO được thiết kế để suy luận theo thời gian thực, việc huấn luyện cần phải hiệu quả. SGD cho phép các nhà phát triển huấn luyện các mô hình này trên các tập dữ liệu hình ảnh lớn như COCO hoặc các tập dữ liệu tùy chỉnh được quản lý thông qua các nền tảng như Ultralytics HUB. Các bản cập nhật nhanh chóng cho phép hội tụ nhanh hơn so với Batch GD, rất quan trọng để lặp lại nhanh chóng trong quá trình phát triển mô hình và điều chỉnh siêu tham số. Hiệu quả này hỗ trợ các ứng dụng trong các lĩnh vực như xe tự hànhrobotics.
  • Huấn luyện các mô hình ngôn ngữ lớn (LLM): Huấn luyện các mô hình cho Xử lý ngôn ngữ tự nhiên (NLP) thường liên quan đến các tập dữ liệu văn bản khổng lồ. SGD và các biến thể của nó rất cần thiết để lặp lại dữ liệu này một cách hiệu quả, cho phép các mô hình như GPT-4 hoặc các mô hình được tìm thấy trên Hugging Face học ngữ pháp, ngữ cảnh và ngữ nghĩa. Bản chất ngẫu nhiên giúp thoát khỏi các cực tiểu cục bộ kém trong bề mặt mất mát (loss landscape) phức tạp, một thách thức phổ biến trong việc huấn luyện các mạng nơ-ron lớn. Quá trình này là nền tảng cho các tác vụ như dịch máyphân tích cảm xúc.

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard