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

Adam (Adaptive Moment Estimation) là một thuật toán tối ưu hóa được áp dụng rộng rãi, được sử dụng rộng rãi trong học sâu (DL)học máy (ML) . Nó được thiết kế để cập nhật hiệu quả các trọng số mạng trong quá trình đào tạo bằng cách điều chỉnh tốc độ học cho từng tham số riêng lẻ. Được giới thiệu trong bài báo " Adam: A Method for Stochastic Optimization " của Diederik P. Kingma và Jimmy Ba, Adam kết hợp các ưu điểm của hai kỹ thuật tối ưu hóa phổ biến khác: AdaGrad (Adaptive Gradient Algorithm) và RMSprop ( Root Mean Square Propagation ). Sự kết hợp này làm cho nó đặc biệt hiệu quả để đào tạo các mạng nơ-ron lớn với nhiều tham số và tập dữ liệu phức tạp.

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

Adam tính toán tốc độ học thích ứng cho từng tham số dựa trên ước tính của mô men thứ nhất và thứ hai của gradient. Về cơ bản, nó theo dõi giá trị trung bình giảm dần theo cấp số nhân của gradient trong quá khứ (tương tự như động lượng) và giá trị trung bình giảm dần theo cấp số nhân của gradient bình phương trong quá khứ (tương tự như AdaGrad/RMSprop).

  • Động lượng: Giúp tăng tốc độ giảm dần độ dốc theo hướng có liên quan và làm giảm dao động, dẫn đến hội tụ nhanh hơn.
  • Tỷ lệ học thích ứng: Điều chỉnh tỷ lệ học cho mỗi trọng số dựa trên tần suất và mức độ lớn của các bản cập nhật trong lịch sử. Các tham số nhận được các bản cập nhật lớn hoặc thường xuyên sẽ có tỷ lệ 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ỷ lệ học lớn hơn. Điều này đặc biệt hữu ích cho các vấn đề có độ dốc thưa thớt hoặc dữ liệu nhiễu.
  • Sửa lỗi sai lệch: Adam bao gồm một cơ chế để chống lại sai lệch ban đầu về số không trong các ước tính thời điểm, đặc biệt là trong giai đoạn đầu của quá trình đào tạo khi giá trị trung bình phân rã vẫn đang trong quá trình khởi tạo.

So với các thuật toán đơn giản hơn như Stochastic Gradient Descent (SGD) , sử dụng một tốc độ học cố định duy nhất (hoặc tốc độ giảm dần theo lịch trình), khả năng điều chỉnh theo từng tham số của Adam thường cho phép tiến triển nhanh hơn trong việc tìm ra giải pháp tốt, đặc biệt là với bối cảnh mất mát phức tạp.

Ưu điểm của Adam

Adam được ưa chuộng vì nhiều lý do:

  • Hiệu quả tính toán: Nó đòi hỏi tương đối ít bộ nhớ và có hiệu quả tính toán.
  • Hiệu suất mặc định tốt: Các siêu tham số mặc định thường hoạt động tốt trên nhiều loại vấn đề, giúp giảm nhu cầu điều chỉnh siêu tham số mở rộng.
  • Phù hợp với các vấn đề lớn: Hoạt động tốt với các vấn đề có tập dữ liệu lớn và không gian tham số có nhiều chiều, phổ biến trong thị giác máy tính (CV)xử lý ngôn ngữ tự nhiên (NLP) .
  • Xử lý các mục tiêu không cố định: Phù hợp với các bài toán có hàm mục tiêu thay đổi theo thời gian.
  • Hiệu quả với độ dốc thưa thớt: Tốc độ học thích ứng làm cho giải pháp này phù hợp với các tình huống có độ dốc thưa thớt.

Ví dụ thực tế

Adam là chuyên gia tối ưu hóa cho nhiều mô hình hiện đại:

Ví dụ 1: Tầm nhìn máy tí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) sâu cho các tác vụ như phân loại hình ảnh , phát hiện đối tượngphân đoạn hình ảnh . Ví dụ, đào tạo mô hình YOLO Ultralytics để phát hiện đối tượng trong hình ảnh ( như trong tập dữ liệu COCO ) hoặc thực hiện phân đoạn thể hiện có thể tận dụng Adam để hội tụ hiệu quả trong giai đoạn đào tạo . Nó cũng được áp dụng trong phân tích hình ảnh y tế cho các tác vụ như phát hiện khối u .

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 hàm mất mát phức tạp liên quan đến các mô hình lớn này ( dựa trên bộ biến đổi ).

Sử dụng trong Ultralytics YOLO

Trong vòng Ultralytics hệ sinh thái, Adam và biến thể AdamW (Adam với sự suy giảm trọng số tách rời) là các trình tối ưu hóa khả dụng để đào tạo các mô hình YOLO Ultralytics . Tận dụng tốc độ học thích ứng của Adam có thể đẩy nhanh quá trình hội tụ trong quá trình đào tạo phát hiện đối tượng, phân đoạn thể hiện hoặc các mô hình ước tính tư thế như YOLO11 hoặc YOLOv10 . Trong khi SGD thường là trình tối ưu hóa mặc định và được khuyến nghị cho một số YOLO các mô hình do khả năng khái quát hóa cuối cùng tốt hơn ( tránh tình trạng quá khớp ), 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 và đánh giá mô hình . Bạn có thể dễ dàng cấu hình trình tối ưu hóa và các cài đặt đào tạo khác. 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 . Các khuôn khổ như PyTorchTensorFlow cung cấp các triển khai chuẩn của Adam, được sử dụng trong Ultralytics khung. Để cải thiện hiệu suất hơn nữa, hãy cân nhắc các kỹ thuật như chắt lọc kiến thức hoặc khám phá các kiến trúc mô hình khác nhau.

Đọc tất cả