Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

Memory Bank

Узнай, что такое банк памяти в глубоком обучении. Изучи, как банки памяти хранят эмбеддинги для контрастивного обучения, отслеживания объектов и понимания видео.

Memory bank — это структура данных, используемая в алгоритмах машинного обучения для хранения и обращения к информации из прошлых итераций или обработанных выборок, что позволяет эффективно отделить объем памяти модели от текущих вычислительных ограничений. В контексте deep learning (DL) memory bank обычно служит хранилищем для embeddings или векторов признаков. Это позволяет модели сравнивать текущие входные данные с огромной историей предыдущих без необходимости повторной обработки или удержания всех этих данных в активной оперативной памяти (RAM) одновременно. Поддерживая буфер представлений, модели могут обучаться на более широком контексте, повышая производительность в задачах, требующих долгосрочной согласованности или сравнения с большими наборами данных.

Link to this sectionМеханика Memory Bank#

Основная функция memory bank заключается в расширении доступной информации за пределы текущего batch size. Во время обучения, по мере прохождения данных через нейронную сеть, результирующие представления признаков помещаются в банк. Если банк достигает своей максимальной емкости, самые старые признаки обычно удаляются, чтобы освободить место для новых — этот процесс известен как очередь First-In, First-Out (FIFO).

Этот механизм особенно важен, так как память GPU ограничена. Без использования memory bank сравнение одного изображения с миллионом других потребовало бы размера батча, который невозможно уместить на стандартном оборудовании. С memory bank модель может хранить облегченные векторы этих миллионов изображений и эффективно обращаться к ним, используя методы similarity search, такие как скалярное произведение или косинусное сходство.

Link to this sectionРеальные приложения#

Memory banks стали краеугольным камнем в ряде передовых рабочих процессов computer vision (CV) и обработки естественного языка:

  • Контрастивное обучение (самообучение): Одно из самых известных применений — contrastive learning, в частности, в алгоритмах вроде Momentum Contrast (MoCo). Здесь цель состоит в том, чтобы научить модель отличать конкретное изображение от множества «негативных» примеров (других изображений). Memory bank хранит тысячи представлений негативных примеров, позволяя модели изучать устойчивые признаки без необходимости в размеченных training data. Для глубокого технического ознакомления исследователи часто ссылаются на статью MoCo, которая популяризировала этот подход.
  • Долгосрочное отслеживание объектов: В видеоанализе объект (например, автомобиль или человек) может быть временно скрыт препятствием. Стандартные трекеры могут потерять идентификатор (ID) объекта во время такого перекрытия. Продвинутые трекеры используют memory bank для хранения визуальных признаков объектов, обнаруженных в прошлом. Когда объект появляется снова, система запрашивает банк, чтобы восстановить правильный ID. Пользователи, применяющие Ultralytics YOLO26 для object tracking, выигрывают от схожей внутренней логики, которая поддерживает согласованность идентификации между кадрами.
  • Понимание видео: Чтобы распознавать действия, которые длятся несколько секунд или минут, моделям нужен временной контекст. Memory bank выступает в роли буфера для прошлых кадров или клипов, позволяя сети «помнить», что происходило в начале видео, во время обработки его конца. Это критически важно для точного action recognition.

Link to this sectionРазграничение похожих концепций#

Полезно различать memory bank и другие концепции хранения и обработки, встречающиеся в глоссарии:

  • Memory Bank vs. Vector Database: Оба хранят эмбеддинги для поиска. Однако memory bank — это, как правило, транзитная структура в оперативной памяти, используемая динамически во время обучения или активного инференса одного сеанса модели. Векторная база данных (например, используемые в RAG) — это постоянное, масштабируемое решение для хранения, предназначенное для долгосрочного использования и поддержки множества приложений.
  • Memory Bank vs. Context Window: Контекстное окно (обычно используемое в Transformer) определяет максимальную длину последовательности входных данных, которую модель обрабатывает за один раз (например, 32 тыс. токенов). Memory bank — это внешний буфер, который хранит сжатые представления вне активного окна обработки, теоретически позволяя достичь бесконечной глубины памяти, как это видно в таких архитектурах, как Transformer-XL.
  • Memory Bank vs. Batch Size: Batch size определяет, сколько образцов обрабатывается параллельно для обновления градиентов. Memory bank увеличивает эффективное число образцов, которые модель может «видеть» для сравнения, без увеличения вычислительных затрат на прямой и обратный проходы.

Link to this sectionПример кода: симуляция банка признаков#

Следующий фрагмент кода на Python демонстрирует концепцию memory bank типа First-In, First-Out (FIFO) с использованием torch. Эта структура часто используется для поддержания скользящей истории векторов признаков во время пользовательских циклов обучения или сложных задач инференса.

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])

Link to this sectionПроблемы и соображения#

Несмотря на свою мощность, memory banks привносят проблему «дрейфа представлений». Поскольку сеть энкодера немного меняется на каждом шаге обучения, признаки, сохраненные в банке 100 шагов назад, могут оказаться «устаревшими» или несогласованными с текущим состоянием модели. Техники, такие как использование энкодера с моментом (медленно обновляемое среднее модели), помогают смягчить эту проблему.

Для команд, стремящихся управлять версиями наборов данных и артефактами моделей, использующих эти передовые методы, Ultralytics Platform предоставляет централизованный хаб для организации данных, отслеживания экспериментов и эффективного развертывания моделей. Управление сложностью хранения и поиска признаков необходимо для перехода от экспериментального artificial intelligence (AI) к надежным производственным системам.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения