Thuật ngữ

Thuật toán tối ưu hóa

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ừ đào tạo mạng nơ-ron đến các ứng dụng thực tế trong chăm sóc sức khỏe và nông nghiệp.

Thuật toán tối ưu hóa là động lực thúc đẩy quá trình học trong học máy (ML)học sâu . Vai trò chính của nó là điều chỉnh lặp đi lặp lại các tham số nội tại của mô hình, chẳng hạn như trọng số và độ lệch , để giảm thiểu hàm mất mát . Hãy coi nó như một phương pháp có hệ thống để tìm ra tập hợp các tham số tốt nhất có thể, giúp dự đoán của mô hình chính xác nhất. Quá trình này rất quan trọng trong việc huấn luyện một mô hình , vì nó biến một mô hình chung thành một công cụ chuyên biệt có khả năng giải quyết một nhiệm vụ cụ thể, chẳng hạn như phát hiện đối tượng hoặc phân đoạn ảnh .

Thuật toán tối ưu hóa hoạt động như thế nào

Về cơ bản, thuật toán tối ưu hóa điều hướng một "khung cảnh mất mát" - một không gian đa chiều, trong đó mỗi điểm biểu diễn một tập hợp các tham số mô hình và độ cao của điểm đó tương ứng với sai số của mô hình. Mục tiêu là tìm điểm thấp nhất, hay "cực tiểu", trong khung cảnh này. Thuật toán bắt đầu với một tập hợp các tham số ngẫu nhiên ban đầu và, trong mỗi bước (hoặc kỷ nguyên ), tính toán độ dốc của hàm mất mát. Độ dốc này chỉ theo hướng lên dốc nhất, do đó thuật toán thực hiện một bước theo hướng ngược lại để đi xuống khung cảnh.

Kích thước của bước này được kiểm soát bởi một siêu tham số quan trọng gọi là tốc độ học . Một tốc độ học được lựa chọn tốt sẽ đảm bảo mô hình học hiệu quả mà không vượt quá giá trị tối thiểu hoặc bị kẹt. Quá trình lặp lại này bao gồm tính toán gradient và cập nhật tham số được gọi là lan truyền ngược và tiếp tục cho đến khi hiệu suất của mô hình trên tập dữ liệu xác thực không còn cải thiện nữa, cho thấy sự hội tụ.

Các loại thuật toán tối ưu hóa phổ biến

Một số thuật toán tối ưu hóa đã được phát triển, mỗi thuật toán có những đặc điểm khác nhau. Một số thuật toán được sử dụng rộng rãi nhất trong học sâu bao gồm:

  • Giảm Gradient Ngẫu Nhiên (SGD) : Một bộ tối ưu hóa cổ điển và được sử dụng rộng rãi, cập nhật các tham số bằng cách sử dụng gradient từ một tập hợp con nhỏ ( ) dữ liệu huấn luyện. Mặc dù hiệu quả, hiệu suất của nó có thể phụ thuộc vào lựa chọn tốc độ học. Các biến thể như SGD với động lượng giúp tăng tốc độ hội tụ.
  • Trình tối ưu hóa Adam : Trình tối ưu hóa Ước tính Mô men Thích ứng (Adam) cực kỳ phổ biến vì nó kết hợp các ưu điểm của hai phần mở rộng khác của SGD: AdaGrad và RMSProp. Nó tính toán tốc độ học thích ứng cho từng tham số, khiến nó trở nên mạnh mẽ và thường là lựa chọn mặc định tốt cho nhiều bài toán. Một phần mở rộng, AdamW, thường được sử dụng trong các mô hình biến áp hiện đại. Các nền tảng như PyTorchTensorFlow cung cấp các triển khai của các trình tối ưu hóa phổ biến này.

Việc lựa chọn bộ tối ưu hóa có thể ảnh hưởng đáng kể đến cả tốc độ đào tạo và hiệu suất cuối cùng của mô hình. Trong hệ sinh thái Ultralytics, người dùng có thể dễ dàng cấu hình bộ tối ưu hóa trong quá trình thiết lập đào tạo .

Ứng dụng trong thế giới thực

Các thuật toán tối ưu hóa đang hoạt động ngầm trong vô số ứng dụng AI .

  1. Phân tích hình ảnh y tế : Khi huấn luyện mạng nơ-ron tích chập (CNN) để phát hiện khối u trong ảnh chụp não , một thuật toán tối ưu hóa như Adam sẽ điều chỉnh các bộ lọc của mạng một cách có hệ thống. Thuật toán này hoạt động để giảm thiểu sự khác biệt giữa vị trí khối u dự đoán của mô hình và các chú thích thực tế do bác sĩ X quang cung cấp, từ đó cải thiện độ chính xác chẩn đoán của mô hình. Đây là một thành phần cốt lõi trong việc xây dựng các giải pháp AI hiệu quả trong chăm sóc sức khỏe .
  2. Xe tự hành : Một mô hình phát hiện vật thể trong xe tự lái, chẳng hạn như mô hình YOLO của Ultralytics , phải nhận dạng người đi bộ, xe khác và biển báo giao thông một cách đáng tin cậy. Trong quá trình đào tạo, bộ tối ưu hóa sẽ tinh chỉnh các tham số của mô hình trên hàng triệu hình ảnh để giảm thiểu lỗi phát hiện (ví dụ: bỏ sót vật thể hoặc phân loại sai), điều này rất quan trọng để đảm bảo an toàn trong các hệ thống AI trong ô tô .

Thuật toán tối ưu hóa so với các khái niệm liên quan

Điều quan trọng là phải phân biệt các thuật toán tối ưu hóa với các khái niệm ML liên quan:

  • Thuật toán tối ưu hóa so với điều chỉnh siêu tham số : Các thuật toán tối ưu hóa điều chỉnh tham số nội bộ (trọng số và độ lệch) của mô hình trong lúc đào tạo. Ngược lại, điều chỉnh siêu tham số tập trung vào việc tìm kiếm thiết lập cấu hình bên ngoài (giống như tốc độ học tập, kích thước lô hoặc thậm chí là sự lựa chọn của trình tối ưu hóa) trước đào tạo bắt đầu. Siêu phân tích Tuner lớp học tự động hóa quá trình này bằng các phương pháp như thuật toán tiến hóa.
  • Thuật toán Tối ưu hóa so với Hàm Mất mát : Hàm mất mát định lượng lỗi của mô hình. Thuật toán tối ưu hóa là cơ chế được sử dụng để giảm thiểu lỗi này. Hàm mất mát cung cấp mục tiêu, và bộ tối ưu hóa cung cấp chiến lược để đạt được mục tiêu đó.
  • Thuật toán Tối ưu hóa so với Kiến trúc Mô hình : Kiến trúc mô hình xác định cấu trúc của mạng nơ-ron (ví dụ: các lớp và kết nối của nó). Thuật toán tối ưu hóa hoạt động trong cấu trúc được xác định trước này để huấn luyện các tham số có thể học được của nó. Tìm kiếm Kiến trúc Nơ-ron (NAS) là một lĩnh vực liên quan giúp tự động hóa việc thiết kế chính kiến trúc đó.

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard