Khám phá cách mà Masked Autoencoders (MAE) cách mạng hóa học máy tự giám sát. Tìm hiểu cách MAE tái tạo giúp cải thiện Ultralytics Hiệu năng và hiệu suất của YOLO26.
Mô hình Autoencoder che mặt nạ (Masked Autoencoders - MAE) đại diện cho một phương pháp học tự giám sát hiệu quả cao và có khả năng mở rộng trong lĩnh vực thị giác máy tính rộng lớn hơn. Được giới thiệu như một phương pháp để huấn luyện các mạng nơ-ron có nhiều tham số mà không cần đến các tập dữ liệu được gắn nhãn rộng rãi, MAE hoạt động bằng cách cố ý che khuất một phần lớn, ngẫu nhiên của hình ảnh đầu vào và huấn luyện mô hình để tái tạo các pixel bị thiếu. Bằng cách dự đoán thành công thông tin hình ảnh bị ẩn, mạng lưới sẽ tự động học được sự hiểu biết sâu sắc về ngữ nghĩa của hình dạng, kết cấu và mối quan hệ không gian.
Kỹ thuật này được lấy cảm hứng mạnh mẽ từ sự thành công của mô hình ngôn ngữ che mặt nạ trong các hệ thống dựa trên văn bản, nhưng được điều chỉnh cho phù hợp với bản chất đa chiều của dữ liệu hình ảnh. Kiến trúc dựa trên khung Transformer rất phổ biến, sử dụng cấu trúc mã hóa-giải mã bất đối xứng.
Điểm đột phá cốt lõi của MAE nằm ở hiệu quả xử lý. Trong quá trình huấn luyện, ảnh đầu vào được chia thành một lưới các mảng nhỏ. Một tỷ lệ lớn các mảng này (thường lên đến 75%) được che khuất ngẫu nhiên và loại bỏ. Bộ mã hóa, thường là Vision Transformer (ViT) , chỉ xử lý các mảng hiển thị, không bị che khuất. Vì bộ mã hóa bỏ qua hoàn toàn các phần bị che khuất, nó yêu cầu ít tài nguyên tính toán và bộ nhớ hơn đáng kể, giúp quá trình huấn luyện diễn ra nhanh chóng hơn nhiều.
Sau khi bộ mã hóa tạo ra các biểu diễn tiềm ẩn của các mảng ảnh hiển thị, một bộ giải mã nhẹ sẽ tiếp quản. Bộ giải mã nhận các mảng ảnh hiển thị đã được mã hóa cùng với "mã thông báo mặt nạ" (các vị trí giữ chỗ cho dữ liệu bị thiếu) và cố gắng xây dựng lại hình ảnh gốc. Vì bộ giải mã chỉ được sử dụng trong giai đoạn huấn luyện trước này, nên nó có thể được giữ rất nhỏ, giúp giảm thiểu hơn nữa chi phí tính toán. Sau khi quá trình huấn luyện trước hoàn tất, bộ giải mã sẽ bị loại bỏ và bộ mã hóa mạnh mẽ hơn sẽ được giữ lại cho các ứng dụng tiếp theo.
Để hiểu rõ hơn về MAE, điều hữu ích là nắm được sự khác biệt giữa chúng với các khái niệm học sâu cũ hơn hoặc rộng hơn:
Vì MAE học được các biểu diễn dữ liệu hình ảnh vô cùng mạnh mẽ, chúng là điểm khởi đầu lý tưởng cho các hệ thống AI phức tạp, ứng dụng thực tế.
Sau khi huấn luyện trước mô hình xương sống bằng phương pháp MAE, bước tiếp theo là tinh chỉnh và triển khai mô hình cho các tác vụ cụ thể như phân loại hình ảnh hoặc phân đoạn hình ảnh . Hệ sinh thái đám mây hiện đại giúp quá trình chuyển đổi này diễn ra liền mạch. Ví dụ, các nhóm có thể tận dụng Nền tảng Ultralytics để dễ dàng chú thích các tập dữ liệu dành riêng cho tác vụ, điều phối quá trình huấn luyện trên đám mây và triển khai các mô hình sẵn sàng cho sản xuất đến các thiết bị biên hoặc máy chủ. Điều này loại bỏ phần lớn công việc xây dựng cơ sở hạ tầng lặp đi lặp lại thường liên quan đến các hoạt động học máy (MLOps) .
Mặc dù việc huấn luyện một MAE hoàn chỉnh đòi hỏi một kiến trúc transformer hoàn chỉnh, nhưng khái niệm cốt lõi về che phủ các mảng ảnh (patch masking) có thể dễ dàng hình dung bằng cách sử dụng các phép toán tensor PyTorch . Đoạn mã đơn giản này minh họa cách người ta có thể chọn ngẫu nhiên các mảng ảnh hiển thị từ một ảnh đầu vào. tensor .
import torch
def create_random_mask(batch_size, num_patches, mask_ratio=0.75):
"""Generates a random mask to simulate MAE patch dropping."""
# Calculate how many patches to keep visible
num_keep = int(num_patches * (1 - mask_ratio))
# Generate random noise to determine patch shuffling
noise = torch.rand(batch_size, num_patches)
# Sort noise to get random indices
ids_shuffle = torch.argsort(noise, dim=1)
# Select the indices of the patches that remain visible
ids_keep = ids_shuffle[:, :num_keep]
return ids_keep
# Simulate a batch of 4 images, each divided into 196 patches
visible_patches = create_random_mask(batch_size=4, num_patches=196)
print(f"Visible patch indices shape: {visible_patches.shape}")
Đối với các nhà phát triển muốn tích hợp các khả năng xử lý hình ảnh mạnh mẽ, được huấn luyện sẵn vào quy trình làm việc của họ mà không cần phải tự viết kiến trúc từ đầu, việc khám phá tài liệu Ultralytics phong phú sẽ cung cấp những điểm khởi đầu tuyệt vời để áp dụng các mô hình xử lý hình ảnh tiên tiến nhất vào những thách thức riêng của bạn. Hơn nữa, các framework lớn như TensorFlow cũng cung cấp hệ sinh thái mạnh mẽ để triển khai nghiên cứu máy học tiên tiến vào môi trường sản xuất có khả năng mở rộng.