Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Adam Trình tối ưu hóa

Khám phá Adam Công cụ tối ưu hóa cho học sâu. Tìm hiểu cách nó kết hợp động lượng và RMSProp để hội tụ nhanh hơn trong các mô hình như... Ultralytics YOLO26.

Cái Adam Optimizer, viết tắt của Adaptive Moment Estimation (Ước lượng mômen thích ứng), là một thuật toán tối ưu hóa phức tạp được sử dụng rộng rãi để huấn luyện các mô hình học sâu. Nó đã cách mạng hóa lĩnh vực này bằng cách kết hợp những ưu điểm của hai phần mở rộng phổ biến khác của thuật toán giảm độ dốc ngẫu nhiên ( SGD ) : Thuật toán độ dốc thích ứng (AdaGrad) và Thuật toán lan truyền bình phương trung bình gốc (RMSProp). Bằng cách tính toán tốc độ học thích ứng riêng lẻ cho các tham số khác nhau từ các ước lượng của mômen bậc nhất và bậc hai của độ dốc, Adam Phương pháp này cho phép mạng nơ-ron hội tụ nhanh hơn đáng kể so với các phương pháp truyền thống. Tính mạnh mẽ và yêu cầu tinh chỉnh tối thiểu khiến nó trở thành lựa chọn mặc định cho nhiều người thực hành khi bắt đầu một dự án học máy (ML) mới.

Làm sao Adam Tác phẩm

Về bản chất, việc huấn luyện một mô hình bao gồm việc tối thiểu hóa hàm mất mát , đo lường sự khác biệt giữa dự đoán của mô hình và dữ liệu thực tế. Các thuật toán tiêu chuẩn thường sử dụng một bước nhảy không đổi (tốc độ học) để giảm dần "đồ thị mất mát" về phía lỗi tối thiểu. Tuy nhiên, đồ thị này thường phức tạp, có những khe núi và cao nguyên có thể làm mắc kẹt các thuật toán đơn giản hơn.

Adam Giải quyết vấn đề này bằng cách duy trì hai bộ đệm lịch sử cho mỗi tham số:

  1. Động lượng (Moment thứ nhất): Tương tự như một quả bóng nặng lăn xuống dốc, động lượng này theo dõi giá trị trung bình động của các độ dốc trước đó để duy trì vận tốc theo hướng thích hợp.
  2. Phương sai (Moment bậc hai): Tham số này theo dõi giá trị trung bình động của bình phương độ dốc, giúp điều chỉnh tốc độ học.

Sự kết hợp này cho phép thuật toán tối ưu hóa thực hiện các bước lớn hơn ở những khu vực bằng phẳng của cảnh quan và các bước nhỏ hơn, thận trọng hơn ở những khu vực dốc hoặc nhiều nhiễu. Cơ chế cụ thể được mô tả chi tiết trong bài báo nghiên cứu nền tảng về Adam của Kingma và Ba , chứng minh tính ưu việt thực nghiệm của nó trên nhiều nhiệm vụ học sâu (DL) khác nhau.

Các Ứng dụng Thực tế

Tính linh hoạt của Adam Công cụ tối ưu hóa đã dẫn đến việc nó được áp dụng rộng rãi trong hầu hết mọi lĩnh vực của trí tuệ nhân tạo (AI) .

  • Xử lý ngôn ngữ tự nhiên (NLP): Các mô hình ngôn ngữ lớn, chẳng hạn như Generative Pre-trained Transformers (GPT) , phụ thuộc rất nhiều vào... Adam (hoặc biến thể của nó) AdamW (để huấn luyện). Thuật toán xử lý hiệu quả các gradient thưa thớt liên quan đến vốn từ vựng khổng lồ và tập dữ liệu lớn, cho phép tạo ra các chatbot và hệ thống dịch thuật mạnh mẽ.
  • Thị giác máy tính trong chăm sóc sức khỏe: Trong phân tích hình ảnh y tế , các mô hình phải... detect Những bất thường nhỏ khó nhận biết, ví dụ như khối u trong ảnh chụp MRI. Adam Điều này giúp các mạng nơ-ron tích chập (CNN) hội tụ nhanh chóng để đạt được các giải pháp có độ chính xác cao, điều rất quan trọng khi phát triển các công cụ chẩn đoán cho trí tuệ nhân tạo trong lĩnh vực chăm sóc sức khỏe .

Adam so với SGD

Trong khi Adam Nhìn chung, thuật toán này hội tụ nhanh hơn, vì vậy điều quan trọng là phải phân biệt nó với thuật toán Giảm độ dốc ngẫu nhiên (Stochastic Gradient Descent - SGD ) . SGD Phương pháp này cập nhật trọng số mô hình bằng cách sử dụng tốc độ học cố định và thường được ưu tiên sử dụng trong giai đoạn cuối của quá trình huấn luyện các mô hình phát hiện đối tượng hiện đại vì đôi khi nó có thể đạt được khả năng khái quát hóa tốt hơn một chút (độ chính xác cuối cùng) trên dữ liệu thử nghiệm.

Tuy nhiên, Adam Nó có tính "thích ứng", nghĩa là nó tự động điều chỉnh tốc độ học. Điều này giúp nó thân thiện hơn với người dùng trong các thử nghiệm ban đầu và các kiến ​​trúc phức tạp, nơi cần điều chỉnh tốc độ học. SGD Sẽ rất khó khăn. Đối với người dùng quản lý các thử nghiệm trên Nền tảng Ultralytics , việc chuyển đổi giữa các trình tối ưu hóa này để so sánh hiệu suất thường là một bước quan trọng trong việc điều chỉnh siêu tham số .

Thực hiện với Ultralytics

Các framework hiện đại như PyTorch và... Ultralytics thư viện tận dụng Adam đơn giản. Một biến thể phổ biến gọi là AdamW ( Adam (với Weight Decay) thường được khuyến nghị vì nó khắc phục các vấn đề về chuẩn hóa trong phiên bản gốc. Adam thuật toán. Điều này đặc biệt hiệu quả đối với các kiến ​​trúc mới nhất như YOLO26 , vốn được hưởng lợi từ tính ổn định. AdamW cung cấp.

Ví dụ sau đây minh họa cách huấn luyện mô hình YOLO26 bằng cách sử dụng... AdamW trình tối ưu hóa:

from ultralytics import YOLO

# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")

# Train the model using the 'AdamW' optimizer
# 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à phát triển quan tâm đến nền tảng lý thuyết sâu sắc hơn, các tài liệu như Stanford CS231n Optimization Notes cung cấp những hình ảnh trực quan tuyệt vời về cách thức hoạt động. Adam So sánh với các thuật toán khác như RMSProp và AdaGrad. Ngoài ra, tài liệu PyTorch Optimizer cung cấp thông tin chi tiết về các tham số và đặc điểm triển khai có sẵn để tùy chỉnh.

Tham gia Ultralytics cộng đồng

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

Tham gia ngay