Khám phá cách các thuật toán tối ưu hóa nâng cao hiệu suất AI và ML, từ huấn luyện mạng nơ-ron đến các ứng dụng thực tế trong lĩnh vực chăm sóc sức khỏe và nông nghiệp.
Thuật toán tối ưu hóa là động cơ cơ bản thúc đẩy quá trình huấn luyện trong học máy (ML) và học sâu (DL) . Chức năng chính của nó là điều chỉnh lặp đi lặp lại các tham số nội bộ của mô hình—cụ thể là trọng số và độ lệch của mô hình —để giảm thiểu sai số phát sinh trong quá trình dự đoán. 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 điểm thấp nhất trong một vùng núi sương mù. Thuật toán tối ưu hóa hướng dẫn người đi bộ xuống dốc từng bước một, cho đến khi họ đến chân thung lũng, trạng thái mà hàm mất mát của mô hình được giảm thiểu và độ chính xác được tối đa hóa.
Quá trình huấn luyện mạng nơ-ron bao gồm một chu trình liên tục các bước dự đoán, tính toán lỗi và cập nhật tham số. Thuật toán tối ưu hóa chi phối giai đoạn "cập nhật" của chu trình này. Sau khi mô hình xử lý một loạt dữ liệu huấn luyện , hệ thống sẽ tính toán sự khác biệt giữa kết quả dự đoán và kết quả thực tế, một giá trị được định lượng bằng hàm mất mát.
Sử dụng một kỹ thuật gọi là lan truyền ngược (backpropagation) , thuật toán tính toán gradient—một vector biểu thị hướng tăng lỗi mạnh nhất. Để giảm lỗi, trình tối ưu hóa cập nhật các trọng số theo hướng ngược lại của gradient này. Kích thước của bước thực hiện theo hướng đó được xác định bởi một cấu hình quan trọng được gọi là tốc độ học (learning rate) . Việc tìm ra sự cân bằng phù hợp là chìa khóa; một bước quá lớn có thể vượt quá giá trị tối thiểu, trong khi một bước quá nhỏ có thể dẫn đến quá trình huấn luyện chậm chạp, mất nhiều kỷ nguyên để hội tụ. Các tài nguyên toàn diện như ghi chú tối ưu hóa Stanford CS231n cung cấp những hiểu biết kỹ thuật sâu sắc hơn về các động lực này.
Không có trình tối ưu hóa nào "phù hợp với tất cả" và các thuật toán khác nhau mang lại những lợi thế riêng biệt tùy thuộc vào kiến trúc và dữ liệu.
Các thuật toán tối ưu hóa là công cụ thầm lặng đằng sau nhiều giải pháp AI phức tạp.
Việc phân biệt các thuật toán tối ưu hóa với các thuật ngữ tương tự khác trong quy trình học máy sẽ rất hữu ích.
Khi sử dụng các khuôn khổ cấp cao, việc lựa chọn thuật toán tối ưu hóa thường chỉ là một đối số duy nhất. Ví dụ sau đây minh họa cách chỉ định AdamW tối ưu hóa khi đào tạo một
YOLO11 mô hình sử dụng ultralytics bưu kiện.
from ultralytics import YOLO
# Load the recommended YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset using the AdamW optimization algorithm
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")
Đối với các nhà nghiên cứu và nhà phát triển muốn triển khai vòng lặp tùy chỉnh, các thư viện như PyTorch và TensorFlow cung cấp bộ sưu tập rộng lớn các thuật toán tối ưu hóa được xây dựng sẵn có thể dễ dàng tích hợp vào bất kỳ kiến trúc mô hình nào.