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.
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) và 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) và xử lý ngôn ngữ tự nhiên (NLP) .
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 .
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:
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:
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.
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ể BERT và GPT . 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.
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ư PyTorch và TensorFlow cung cấp các triển khai của Adam.