Ultralytics YOLO27:
Voltar ao Glossário da Ultralytics

Memory Bank

Saiba o que é um banco de memória em deep learning. Explore como os bancos de memória armazenam embeddings para aprendizagem contrastiva, seguimento de objetos e compreensão de vídeo.

Um banco de memória é uma estrutura de dados usada em algoritmos de aprendizagem automática para armazenar e consultar informações de iterações anteriores ou de amostras processadas, separando efetivamente a capacidade de memória do modelo das suas limitações computacionais imediatas. No contexto da aprendizagem profunda (DL), um banco de memória normalmente funciona como um repositório de embeddings ou vetores de características. Isso permite que um modelo compare a entrada atual com um vasto histórico de entradas anteriores sem precisar de processar novamente ou manter todos esses dados simultaneamente na memória de acesso aleatório (RAM) ativa. Ao manter um buffer de representações, os modelos podem aprender com um contexto mais amplo, melhorando o desempenho em tarefas que exigem consistência a longo prazo ou comparação com grandes conjuntos de dados.

Mecânica de um banco de memória#

A principal função de um banco de memória é ampliar as informações disponíveis para além do tamanho do lote atual. Durante o treino, à medida que os dados passam pela rede neural, as representações de características resultantes são inseridas no banco. Quando o banco atinge a sua capacidade máxima, as características mais antigas são normalmente removidas para dar lugar às novas, num processo conhecido como fila Primeiro a entrar, primeiro a sair (FIFO).

Este mecanismo é particularmente importante porque a memória da GPU é finita. Sem um banco de memória, comparar uma única imagem com um milhão de outras imagens exigiria um tamanho do lote impossível de acomodar no hardware convencional. Com um banco de memória, o modelo pode armazenar vetores leves dessas milhões de imagens e consultá-los eficientemente usando técnicas de pesquisa por similaridade, como o produto escalar ou a similaridade de cosseno.

Aplicações no mundo real#

Os bancos de memória tornaram-se fundamentais em vários fluxos de trabalho avançados de visão computacional (CV) e de linguagem natural:

  • Aprendizagem contrastiva (aprendizagem autossupervisionada): Uma das aplicações mais conhecidas está na aprendizagem contrastiva, especificamente em algoritmos como o Contraste por impulso (MoCo). Aqui, o objetivo é ensinar o modelo a distinguir uma imagem específica de muitas amostras "negativas" (imagens diferentes). Um banco de memória armazena milhares de representações de amostras negativas, permitindo que o modelo aprenda características robustas sem exigir dados de treino anotados. Para obter detalhes técnicos aprofundados, os investigadores consultam frequentemente o artigo sobre o MoCo, que popularizou esta abordagem.
  • Rastreamento de objetos a longo prazo: Na análise de vídeo, um objeto (como um carro ou uma pessoa) pode ficar temporariamente oculto por um obstáculo. Os rastreadores convencionais podem perder a identidade (ID) do objeto durante essa oclusão. Os rastreadores avançados usam um banco de memória para armazenar as características visuais de objetos detetados anteriormente. Quando o objeto reaparece, o sistema consulta o banco para restabelecer o ID correto. Os utilizadores que recorrem ao Ultralytics YOLO26 para o rastreamento de objetos beneficiam de uma lógica interna semelhante, que mantém a consistência da identidade entre frames.
  • Compreensão de vídeo: Para reconhecer ações que se estendem por vários segundos ou minutos, os modelos precisam de contexto temporal. Um banco de memória funciona como um buffer para frames ou clipes anteriores, permitindo que a rede "se lembre" do que aconteceu no início de um vídeo enquanto processa o final. Isso é essencial para um reconhecimento de ações preciso.

Distinguir conceitos relacionados#

É útil distinguir o banco de memória de outros conceitos de armazenamento e processamento presentes no glossário:

  • Banco de memória vs. base de dados vetorial: Ambos armazenam embeddings para recuperação. No entanto, um banco de memória é normalmente uma estrutura transitória em memória, usada dinamicamente durante o treino ou a inferência ativa de uma única sessão do modelo. Uma base de dados vetorial (como as usadas em RAG) é uma solução de armazenamento persistente e escalável, concebida para durar indefinidamente e servir várias aplicações.
  • Banco de memória vs. janela de contexto: Uma janela de contexto (comum em modelos Transformer) define o comprimento máximo da sequência de entrada que o modelo processa de uma só vez (por exemplo, 32 mil tokens). Um banco de memória é um buffer externo que armazena representações comprimidas fora da janela de processamento ativa, permitindo teoricamente uma profundidade de memória infinita, como se observa em arquiteturas como o Transformer-XL.
  • Banco de memória vs. tamanho do lote: O tamanho do lote determina quantas amostras são processadas em paralelo para atualizações dos gradientes. Um banco de memória aumenta o número efetivo de amostras que o modelo pode "ver" para fins de comparação sem aumentar o custo computacional das passagens para a frente e para trás.

Exemplo de código: simulação de um banco de características#

O seguinte excerto de Python demonstra o conceito de um banco de memória Primeiro a entrar, primeiro a sair (FIFO) usando torch. Esta estrutura é frequentemente usada para manter um histórico contínuo de vetores de características durante ciclos de treino personalizados ou tarefas de inferência complexas.

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

Desafios e considerações#

Embora sejam poderosos, os bancos de memória introduzem o desafio da "deriva das representações". Como a rede codificadora muda ligeiramente a cada passo de treino, as características armazenadas no banco há 100 passos podem estar "desatualizadas" ou ser inconsistentes com o estado atual do modelo. Técnicas como a utilização de um codificador por impulso (uma média do modelo atualizada lentamente) ajudam a atenuar este problema.

Para equipas que procuram gerir versões de conjuntos de dados e artefactos de modelos que utilizam estas técnicas avançadas, a Ultralytics Platform fornece um hub centralizado para organizar dados, acompanhar experiências e implementar modelos de forma eficiente. Gerir a complexidade do armazenamento e da recuperação de características é essencial para passar da inteligência artificial (AI) experimental para sistemas robustos de produção.

Explore solutions

Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Começa a tua jornada com o futuro da aprendizagem automática