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

Ngân hàng bộ nhớ

Ngân hàng bộ nhớ là một cấu trúc dữ liệu được sử dụng trong các thuật toán học máy để lưu trữ và tham chiếu thông tin từ các lần lặp trước hoặc các mẫu đã được xử lý, giúp tách biệt hiệu quả dung lượng bộ nhớ của mô hình khỏi các ràng buộc tính toán tức thời. Trong bối cảnh học sâu (DL) , ngân hàng bộ nhớ thường đóng vai trò là kho lưu trữ các embedding hoặc vector đặc trưng. Điều này cho phép mô hình so sánh đầu vào hiện tại với một lượng lớn dữ liệu đầu vào trước đó mà không cần phải xử lý lại hoặc lưu giữ tất cả dữ liệu đó trong bộ nhớ truy cập ngẫu nhiên (RAM) đang hoạt động cùng một lúc. Bằng cách duy trì một bộ đệm các biểu diễn, mô hình có thể học hỏi từ một bối cảnh rộng hơn, cải thiện hiệu suất trong các tác vụ yêu cầu tính nhất quán lâu dài hoặc so sánh với các tập dữ liệu lớn.

Cơ chế hoạt động của ngân hàng bộ nhớ

Chức năng chính của bộ nhớ đệm là mở rộng thông tin có sẵn vượt quá kích thước lô dữ liệu hiện tại. Trong quá trình huấn luyện, khi dữ liệu được truyền qua mạng nơ-ron, các biểu diễn đặc trưng thu được sẽ được đẩy vào bộ nhớ đệm. Nếu bộ nhớ đệm đạt đến dung lượng tối đa, các đặc trưng cũ nhất thường bị loại bỏ để nhường chỗ cho các đặc trưng mới, một quá trình được gọi là hàng đợi vào trước ra trước (FIFO).

Cơ chế này đặc biệt quan trọng vì bộ nhớ GPU có hạn. Nếu không có ngân hàng bộ nhớ, việc so sánh một hình ảnh với một triệu hình ảnh khác sẽ đòi hỏi kích thước lô dữ liệu không thể chứa vừa trên phần cứng tiêu chuẩn. Với ngân hàng bộ nhớ, mô hình có thể lưu trữ các vectơ nhẹ của một triệu hình ảnh đó và tham chiếu chúng một cách hiệu quả bằng cách sử dụng các kỹ thuật tìm kiếm sự tương đồng , chẳng hạn như tích vô hướng hoặc độ tương đồng cosin.

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

Các ngân hàng bộ nhớ đã trở thành nền tảng trong một số quy trình làm việc tiên tiến về thị giác máy tính (CV) và xử lý ngôn ngữ tự nhiên:

  • Học tương phản (Học tự giám sát): Một trong những ứng dụng nổi tiếng nhất là trong học tương phản , cụ thể là trong các thuật toán như Momentum Contrast (MoCo). Mục tiêu ở đây là dạy mô hình phân biệt một hình ảnh cụ thể với nhiều mẫu "tiêu cực" (các hình ảnh khác nhau). Một ngân hàng bộ nhớ lưu trữ hàng ngàn biểu diễn mẫu tiêu cực, cho phép mô hình học các đặc trưng mạnh mẽ mà không cần dữ liệu huấn luyện được gắn nhãn. Để biết thêm chi tiết kỹ thuật, các nhà nghiên cứu thường tham khảo bài báo về MoCo , bài báo đã phổ biến phương pháp này.
  • Theo dõi đối tượng dài hạn: Trong phân tích video, một đối tượng (như ô tô hoặc người) có thể tạm thời bị che khuất bởi vật cản. Các trình theo dõi tiêu chuẩn có thể mất thông tin nhận dạng (ID) của đối tượng trong thời gian bị che khuất này. Các trình theo dõi tiên tiến sử dụng bộ nhớ để lưu trữ các đặc điểm hình ảnh của các đối tượng đã được phát hiện trong quá khứ. Khi đối tượng xuất hiện trở lại, hệ thống sẽ truy vấn bộ nhớ để thiết lập lại ID chính xác. Người dùng sử dụng Ultralytics YOLO26 để theo dõi đối tượng được hưởng lợi từ logic nội bộ tương tự giúp duy trì tính nhất quán về nhận dạng giữa các khung hình.
  • Hiểu video: Để nhận diện các hành động kéo dài vài giây hoặc vài phút, các mô hình cần ngữ cảnh thời gian. Một bộ nhớ đệm hoạt động như một vùng nhớ tạm thời cho các khung hình hoặc đoạn video trước đó, cho phép mạng nơ-ron "ghi nhớ" những gì đã xảy ra ở đầu video trong khi xử lý phần cuối. Điều này rất quan trọng để nhận diện hành động chính xác.

Phân biệt các khái niệm liên quan

Việc phân biệt ngân hàng bộ nhớ với các khái niệm lưu trữ và xử lý khác được tìm thấy trong thuật ngữ là rất hữu ích:

  • Ngân hàng bộ nhớ so với cơ sở dữ liệu vectơ : Cả hai đều lưu trữ các embedding để truy xuất. Tuy nhiên, ngân hàng bộ nhớ thường là một cấu trúc tạm thời, nằm trong bộ nhớ và được sử dụng động trong quá trình huấn luyện hoặc suy luận tích cực của một phiên mô hình duy nhất. Cơ sở dữ liệu vectơ (như những cơ sở dữ liệu được sử dụng trong RAG ) là một giải pháp lưu trữ bền vững, có khả năng mở rộng, được thiết kế để tồn tại vô thời hạn và phục vụ nhiều ứng dụng.
  • Ngân hàng bộ nhớ so với cửa sổ ngữ cảnh : Cửa sổ ngữ cảnh (thường thấy trong Transformer) xác định độ dài chuỗi đầu vào tối đa mà mô hình xử lý cùng một lúc (ví dụ: 32k token). Ngân hàng bộ nhớ là một bộ đệm bên ngoài lưu trữ các biểu diễn được nén bên ngoài cửa sổ xử lý đang hoạt động, về mặt lý thuyết cho phép độ sâu bộ nhớ vô hạn, như được thấy trong các kiến ​​trúc như Transformer-XL .
  • Ngân hàng bộ nhớ so với kích thước lô : Kích thước lô quyết định số lượng mẫu được xử lý song song để cập nhật gradient. Ngân hàng bộ nhớ làm tăng số lượng mẫu hiệu quả mà mô hình có thể "nhìn thấy" cho mục đích so sánh mà không làm tăng chi phí tính toán của các lượt truyền tiến và truyền ngược.

Ví dụ mã: Mô phỏng ngân hàng đặc trưng

Sau đây là Python Đoạn mã này minh họa khái niệm về ngân hàng bộ nhớ vào trước ra trước (FIFO) bằng cách sử dụng torchCấu trúc này thường được sử dụng để duy trì lịch sử cập nhật liên tục của các vectơ đặc trưng trong các vòng lặp huấn luyện tùy chỉnh hoặc các tác vụ suy luận phức tạp.

import torch

# Initialize a memory bank (Capacity: 100 features, Vector Dim: 128)
# In a real scenario, these would be embeddings from a model like YOLO26
memory_bank = torch.randn(100, 128)

# Simulate receiving a new batch of features (e.g., from the current image batch)
new_features = torch.randn(10, 128)

# Update the bank: Enqueue new features, Dequeue the oldest ones
# This maintains a fixed size while keeping the memory 'fresh'
memory_bank = torch.cat([memory_bank[10:], new_features], dim=0)

print(f"Updated Memory Bank Shape: {memory_bank.shape}")
# Output: Updated Memory Bank Shape: torch.Size([100, 128])

Những thách thức và cân nhắc

Mặc dù mạnh mẽ, các ngân hàng bộ nhớ lại đặt ra thách thức về "sự thay đổi biểu diễn". Vì mạng mã hóa thay đổi nhẹ sau mỗi bước huấn luyện, các đặc trưng được lưu trữ trong ngân hàng từ 100 bước trước có thể bị "lỗi thời" hoặc không nhất quán với trạng thái hiện tại của mô hình. Các kỹ thuật như sử dụng bộ mã hóa động lượng (một giá trị trung bình được cập nhật chậm của mô hình) giúp giảm thiểu vấn đề này.

Đối với các nhóm muốn quản lý các phiên bản tập dữ liệu và các thành phần mô hình sử dụng các kỹ thuật tiên tiến này, Nền tảng Ultralytics cung cấp một trung tâm tập trung để tổ chức dữ liệu. track Các thí nghiệm và triển khai mô hình một cách hiệu quả. Quản lý sự phức tạp của việc lưu trữ và truy xuất tính năng là điều cần thiết để chuyển từ trí tuệ nhân tạo (AI) thử nghiệm sang các hệ thống sản xuất mạnh mẽ.

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