Thuật ngữ

Adam Tối ưu hóa

Tìm hiểu cách trình tối ưu hóa Adam hỗ trợ đào tạo mạng nơ-ron hiệu quả với tốc độ học thích ứng, động lượng và ứng dụng thực tế trong AI.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Trình tối ưu hóa Adam là một thuật toán tối ưu hóa phổ biến và hiệu quả được sử dụng rộng rãi trong học sâu (DL)học máy (ML) . Viết tắt của Adaptive Moment Estimation, Adam kết hợp các ưu điểm của hai phần mở rộng khác của stochastic gradient descent (SGD) : AdaGrad và RMSProp. Điểm mạnh chính của nó nằm ở khả năng tính toán tốc độ học thích ứng cho từng tham số, khiến nó phù hợp với các vấn đề có tập dữ liệu lớn, không gian tham số nhiều chiều hoặc gradient nhiễu, phổ biến trong các lĩnh vực như thị giác máy tính (CV)xử lý ngôn ngữ tự nhiên (NLP) .

Adam hoạt động như thế nào

Adam cập nhật các tham số mô hình theo từng bước trong quá trình đào tạo bằng cách sử dụng thông tin từ các gradient trong quá khứ. Nó duy trì hai giá trị trung bình động cho mỗi tham số: ước tính của mô men đầu tiên (giá trị trung bình của gradient) và ước tính của mô men thứ hai (phương sai không tập trung của gradient). Các mô men này giúp điều chỉnh tốc độ học riêng cho từng tham số. Các tham số nhận được các bản cập nhật gradient lớn hoặc thường xuyên sẽ có tốc độ học nhỏ hơn, trong khi các tham số có các bản cập nhật nhỏ hoặc không thường xuyên sẽ có tốc độ học lớn hơn. Bản chất thích ứng này thường dẫn đến sự hội tụ nhanh hơn so với SGD tiêu chuẩn. Thuật toán cũng kết hợp động lượng bằng cách sử dụng giá trị trung bình động của gradient, giúp tăng tốc tiến trình theo các hướng có liên quan và làm giảm dao động. Bạn có thể tìm thấy thêm thông tin chi tiết trong bài báo gốc của Adam .

So sánh với các thuật toán tối ưu hóa khác

Mặc dù Adam là lựa chọn mặc định mạnh mẽ, nhưng việc hiểu mối quan hệ của nó với các trình tối ưu hóa khác sẽ rất hữu ích:

  • Stochastic Gradient Descent (SGD) : Bộ tối ưu hóa cơ bản nhất. Không giống như Adam, SGD chuẩn sử dụng một tỷ lệ học cố định duy nhất cho tất cả các tham số, mặc dù các biến thể như SGD với động lượng tồn tại. Adam thường hội tụ nhanh hơn trong thực tế, đặc biệt là trong giai đoạn đầu đào tạo, nhưng một số nghiên cứu cho thấy SGD đôi khi có thể đạt được khả năng khái quát hóa tốt hơn đối với một số nhiệm vụ nhất định.
  • AdaGrad: Điều chỉnh tốc độ học dựa trên tổng bình phương các gradient trong quá khứ, nhưng tốc độ học có thể trở nên cực kỳ nhỏ theo thời gian, có khả năng làm dừng quá trình học.
  • RMSProp: Tương tự như AdaGrad, nhưng sử dụng giá trị trung bình giảm dần theo cấp số nhân của các gradient bình phương, ngăn tốc độ học giảm quá mạnh. Adam xây dựng dựa trên các ý tưởng trong RMSProp .

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

Công cụ tối ưu hóa Adam được sử dụng để đào tạo nhiều mô hình AI khác nhau:

Ví dụ 1: Nhận dạng và phát hiện hình ảnh

Trong thị giác máy tính , Adam thường được sử dụng để đào tạo Mạng nơ-ron tích chập (CNN) . Ví dụ, đào tạo các mô hình để phân loại hình ảnh trên các tập dữ liệu lớn như ImageNet hoặc phát triển các hệ thống phát hiện đối tượng phức tạp được hưởng lợi từ hiệu quả của Adam trong việc xử lý hàng triệu tham số và đạt được độ chính xác cao.

Ví dụ 2: Xử lý ngôn ngữ tự nhiên

Adam là trình tối ưu hóa tiêu chuẩn để đào tạo các mô hình ngôn ngữ lớn (LLM) như các biến thể BERTGPT . Khi đào tạo các mô hình cho các tác vụ như dịch máy , tóm tắt văn bản hoặc phân tích tình cảm , Adam giúp điều hướng hiệu quả bối cảnh mất mát phức tạp liên quan đến các mô hình này.

Sử dụng trong Ultralytics YOLO

Trong vòng Ultralytics hệ sinh thái, Adam và biến thể AdamW của nó là các trình tối ưu hóa có sẵn để đào tạo các mô hình YOLO Ultralytics . Tận dụng tốc độ học tập thích ứng của Adam có thể đẩy nhanh quá trình hội tụ trong quá trình đào tạo các mô hình phát hiện đối tượng, phân đoạn thể hiện hoặc ước tính tư thế . Trong khi SGD thường là trình tối ưu hóa mặc định và được khuyến nghị cho YOLO mô hình do khả năng khái quát hóa cuối cùng tốt hơn, Adam cung cấp một giải pháp thay thế mạnh mẽ, đặc biệt hữu ích trong một số tình huống nhất định hoặc trong quá trình thử nghiệm ban đầu. Bạn có thể cấu hình trình tối ưu hóa và các cài đặt đào tạo khác một cách dễ dàng. Các công cụ như Ultralytics HUB hợp lý hóa quy trình, cho phép người dùng đào tạo các mô hình bằng nhiều trình tối ưu hóa khác nhau, bao gồm Adam, cục bộ hoặc thông qua đào tạo đám mây . Để tối ưu hóa hiệu suất, hãy cân nhắc các kỹ thuật như điều chỉnh siêu tham số . Các khuôn khổ như PyTorchTensorFlow cung cấp các triển khai của Adam.

Đọc tất cả