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

Kiến trúc dự đoán nhúng chung (JEPA)

Khám phá Kiến trúc Dự đoán Nhúng Chung (JEPA). Tìm hiểu cách khung tự giám sát này dự đoán các biểu diễn tiềm ẩn để thúc đẩy nghiên cứu AI thị giác.

Kiến trúc dự đoán nhúng chung (JEPA) là một khung học tự giám sát tiên tiến được thiết kế để giúp máy móc xây dựng các mô hình dự đoán về thế giới vật lý. Được tiên phong bởi các nhà nghiên cứu tại Meta AI và được phác thảo trong các nghiên cứu nền tảng hướng tới trí tuệ nhân tạo tổng quát , JEPA thay đổi mô hình về cách các mô hình học từ dữ liệu chưa được chú thích. Thay vì cố gắng tái tạo hình ảnh hoặc video từng pixel một, mô hình JEPA học bằng cách dự đoán các phần bị thiếu hoặc các phần trong tương lai của đầu vào trong một không gian tiềm ẩn trừu tượng. Điều này cho phép kiến ​​trúc tập trung vào ý nghĩa ngữ nghĩa cấp cao thay vì bị phân tâm bởi các chi tiết nhỏ, không liên quan như kết cấu chính xác của một chiếc lá hoặc nhiễu trong cảm biến máy ảnh.

Cách thức hoạt động của kiến ​​trúc

Về cơ bản, kiến ​​trúc này dựa trên ba thành phần chính của mạng nơ-ron: bộ mã hóa ngữ cảnh, bộ mã hóa mục tiêu và bộ dự đoán. Bộ mã hóa ngữ cảnh xử lý một phần dữ liệu đã biết (ngữ cảnh) để tạo ra các embedding . Đồng thời, bộ mã hóa mục tiêu xử lý phần dữ liệu bị thiếu hoặc phần dữ liệu trong tương lai để tạo ra biểu diễn mục tiêu. Mạng dự đoán sau đó lấy embedding ngữ cảnh và cố gắng dự đoán embedding mục tiêu. Hàm mất mát tính toán sự khác biệt giữa embedding được dự đoán và embedding mục tiêu thực tế, cập nhật trọng số của mô hình để cải thiện khả năng trích xuất đặc trưng . Thiết kế này rất hiệu quả cho các quy trình học sâu hiện đại.

JEPA so với các kiến ​​trúc liên quan

Khi so sánh các chiến lược học biểu diễn, việc phân biệt JEPA với các phương pháp phổ biến khác trong học máy là rất hữu ích:

  • Bộ mã hóa tự động (Autoencoders ): Các bộ mã hóa tự động có mặt nạ truyền thống dự đoán dữ liệu bị thiếu bằng cách tái tạo chính xác các pixel thô. JEPA tránh được giai đoạn tái tạo tốn kém về mặt tính toán này, tập trung hoàn toàn vào các biểu diễn tiềm ẩn.
  • Học tương phản : Các mô hình tương phản dựa trên việc so sánh các cặp dữ liệu tích cực và tiêu cực để học các ranh giới khác biệt. JEPA không yêu cầu mẫu âm, giúp quá trình huấn luyện ổn định hơn và ít phụ thuộc vào kích thước lô lớn.

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

Bằng cách xây dựng các mô hình biểu diễn mạnh mẽ cho dữ liệu hình ảnh, JEPA giúp tăng tốc nhiều tác vụ thị giác máy tính khác nhau.

  • Nhận diện hành động trong video : Các biến thể như V-JEPA (Video JEPA) xử lý luồng video liên tục để dự đoán các tương tác trong tương lai. Điều này rất quan trọng đối với robot và các hệ thống tự hành cần hiểu được động lực thời gian phức tạp mà không cần dựa vào việc hiển thị từng pixel theo từng khung hình.
  • Các mô hình nền tảng cho các tác vụ tiếp theo : Các kiến ​​trúc dựa trên hình ảnh như I-JEPA đóng vai trò là mạng lưới xương sống được huấn luyện trước mạnh mẽ. Các bộ trích xuất đặc trưng mạnh mẽ này có thể được tinh chỉnh nhanh chóng để phát hiện đối tượng chính xác hoặc phân loại hình ảnh với dữ liệu được gắn nhãn tối thiểu.

Trong khi các hệ thống như Ultralytics YOLO26 vượt trội trong việc phát hiện đối tượng có giám sát từ đầu đến cuối, thì các khái niệm bao quát về không gian tiềm ẩn có tính ngữ nghĩa cao và khả năng chống nhiễu do JEPA tiên phong lại đại diện cho đỉnh cao của nghiên cứu AI thị giác hiện đại. Đối với các nhóm đang tìm cách xây dựng và triển khai các mô hình tiên tiến hiện nay, Nền tảng Ultralytics cung cấp các công cụ liền mạch để chú thích dữ liệu và huấn luyện trên đám mây.

PyTorch Triển khai ý tưởng

Để hiểu được luồng hoạt động bên trong của kiến ​​trúc này, dưới đây là một mô-đun mạng nơ-ron PyTorch đơn giản minh họa cách các embedding ngữ cảnh và mục tiêu tương tác trong quá trình truyền tiến.

import torch
import torch.nn as nn


class ConceptualJEPA(nn.Module):
    """A simplified conceptual representation of a JEPA architecture."""

    def __init__(self, input_dim=512, embed_dim=256):
        super().__init__()
        # Encoders map raw inputs to a semantic latent space
        self.context_encoder = nn.Linear(input_dim, embed_dim)
        self.target_encoder = nn.Linear(input_dim, embed_dim)

        # Predictor maps context embeddings to target embeddings
        self.predictor = nn.Sequential(nn.Linear(embed_dim, embed_dim), nn.ReLU(), nn.Linear(embed_dim, embed_dim))

    def forward(self, context_data, target_data):
        # 1. Encode context data
        context_embed = self.context_encoder(context_data)

        # 2. Encode target data (weights are often updated via EMA in reality)
        with torch.no_grad():
            target_embed = self.target_encoder(target_data)

        # 3. Predict the target embedding from the context embedding
        predicted_target = self.predictor(context_embed)

        return predicted_target, target_embed


# Example usage
model = ConceptualJEPA()
dummy_context = torch.rand(1, 512)
dummy_target = torch.rand(1, 512)
prediction, actual_target = model(dummy_context, dummy_target)

Tăng sức mạnh với Ultralytics YOLO

Nhận AI thị giác tiên tiến cho các dự án của bạn. Tìm giấy phép phù hợp với mục tiêu của bạn ngay hôm nay.

Tìm hiểu các tùy chọn cấp phép