Ultralytics YOLO27:
Zurück zum Glossar von Ultralytics

Memory Bank

Erfahre, was eine Memory Bank im Deep Learning ist. Entdecke, wie Memory Banks Embeddings für kontrastives Lernen, Objektverfolgung und Videoverständnis speichern.

Eine Memory Bank ist eine Datenstruktur, die in Algorithmen des maschinellen Lernens verwendet wird, um Informationen aus vergangenen Iterationen oder verarbeiteten Stichproben zu speichern und darauf zu verweisen. Dadurch wird die Speicherkapazität des Modells effektiv von seinen unmittelbaren Rechenbeschränkungen entkoppelt. Im Kontext von Deep Learning (DL) dient eine Memory Bank typischerweise als Ablage für Embeddings oder Merkmalsvektoren. So kann ein Modell die aktuelle Eingabe mit einer umfangreichen Historie vorheriger Eingaben vergleichen, ohne all diese Daten gleichzeitig erneut verarbeiten oder im aktiven Direktzugriffsspeicher (RAM) vorhalten zu müssen. Durch die Aufrechterhaltung eines Puffers mit Repräsentationen können Modelle aus einem breiteren Kontext lernen und ihre Leistung bei Aufgaben verbessern, die langfristige Konsistenz oder Vergleiche mit großen Datensätzen erfordern.

Funktionsweise einer Memory Bank#

Die Hauptfunktion einer Memory Bank besteht darin, die verfügbaren Informationen über die aktuelle Batch-Größe hinaus zu erweitern. Während des Trainings werden die resultierenden Merkmalsrepräsentationen in die Bank eingefügt, sobald Daten das neuronale Netzwerk durchlaufen. Wenn die Bank ihre maximale Kapazität erreicht, werden normalerweise die ältesten Merkmale entfernt, um Platz für neue zu schaffen – ein Prozess, der als First-In-First-Out-Warteschlange (FIFO) bezeichnet wird.

Dieser Mechanismus ist besonders wichtig, da der Speicher der GPU begrenzt ist. Ohne eine Memory Bank würde der Vergleich eines einzelnen Bildes mit einer Million anderer Bilder eine Batch-Größe erfordern, die auf übliche Hardware nicht passen würde. Mit einer Memory Bank kann das Modell kompakte Vektoren dieser Millionen Bilder speichern und mithilfe von Verfahren zur Ähnlichkeitssuche wie Skalarprodukt oder Kosinusähnlichkeit effizient darauf zugreifen.

Anwendungen in der Praxis#

Memory Banks sind zu einem zentralen Bestandteil verschiedener fortgeschrittener Workflows in den Bereichen Computer Vision (CV) und Verarbeitung natürlicher Sprache geworden:

  • Kontrastives Lernen (selbstüberwachtes Lernen): Eine der bekanntesten Anwendungen findet sich im kontrastiven Lernen, insbesondere in Algorithmen wie Kontrast mit Impuls (MoCo). Dabei soll das Modell lernen, ein bestimmtes Bild von vielen „negativen“ Stichproben (anderen Bildern) zu unterscheiden. Eine Memory Bank speichert die Repräsentationen Tausender negativer Stichproben, sodass das Modell robuste Merkmale lernen kann, ohne beschriftete Trainingsdaten zu benötigen. Für ausführliche technische Details verweisen Forschende häufig auf das MoCo-Paper, durch das dieser Ansatz populär wurde.
  • Langzeitobjektverfolgung: Bei der Videoanalyse kann ein Objekt (etwa ein Auto oder eine Person) vorübergehend durch ein Hindernis verdeckt werden. Standard-Tracker verlieren während dieser Verdeckung möglicherweise die Identität (ID) des Objekts. Fortschrittliche Tracker verwenden eine Memory Bank, um die visuellen Merkmale zuvor erkannter Objekte zu speichern. Wenn das Objekt wieder erscheint, fragt das System die Bank ab, um die korrekte ID wiederherzustellen. Nutzer, die Ultralytics YOLO26 für die Objektverfolgung einsetzen, profitieren von einer ähnlichen internen Logik, die die Konsistenz der Identität über mehrere Bilder hinweg gewährleistet.
  • Videoverständnis: Um Handlungen zu erkennen, die sich über mehrere Sekunden oder Minuten erstrecken, benötigen Modelle zeitlichen Kontext. Eine Memory Bank fungiert als Puffer für vergangene Bilder oder Videoclips und ermöglicht es dem Netzwerk, sich beim Verarbeiten des Endes eines Videos daran zu „erinnern“, was an dessen Anfang geschehen ist. Dies ist entscheidend für eine präzise Handlungserkennung.

Verwandte Konzepte unterscheiden#

Es ist hilfreich, die Memory Bank von anderen im Glossar behandelten Konzepten zur Speicherung und Verarbeitung zu unterscheiden:

  • Memory Bank im Vergleich zur Vektordatenbank: Beide speichern Embeddings zum Abrufen. Eine Memory Bank ist jedoch typischerweise eine vorübergehende, speicherinterne Struktur, die während des Trainings oder der aktiven Inferenz einer einzelnen Modellsitzung dynamisch verwendet wird. Eine Vektordatenbank (wie sie etwa in RAG eingesetzt wird) ist eine dauerhafte, skalierbare Speicherlösung, die unbegrenzt bestehen und mehrere Anwendungen bedienen soll.
  • Memory Bank im Vergleich zum Kontextfenster: Ein Kontextfenster (häufig bei Transformern) legt die maximale Länge der Eingabesequenz fest, die das Modell gleichzeitig verarbeitet (z. B. 32.000 Token). Eine Memory Bank ist ein externer Puffer, der komprimierte Repräsentationen außerhalb des aktiven Verarbeitungsfensters speichert und theoretisch eine unbegrenzte Speichertiefe ermöglicht, wie bei Architekturen wie Transformer-XL.
  • Memory Bank im Vergleich zur Batch-Größe: Die Batch-Größe bestimmt, wie viele Stichproben für Gradientenaktualisierungen parallel verarbeitet werden. Eine Memory Bank erhöht die effektive Anzahl der Stichproben, die das Modell zu Vergleichszwecken „sehen“ kann, ohne die Rechenkosten der Vorwärts- und Rückwärtsdurchläufe zu erhöhen.

Codebeispiel: Simulation einer Merkmalsbank#

Das folgende Python-Snippet veranschaulicht das Konzept einer First-In-First-Out-Memory-Bank (FIFO) mithilfe von torch. Diese Struktur wird häufig verwendet, um während benutzerdefinierter Trainingsschleifen oder komplexer Inferenzaufgaben eine fortlaufend aktualisierte Historie von Merkmalsvektoren zu verwalten.

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

Herausforderungen und Überlegungen#

Memory Banks sind zwar leistungsfähig, bringen jedoch die Herausforderung einer „Drift der Repräsentationen“ mit sich. Da sich das Encodernetzwerk mit jedem Trainingsschritt geringfügig verändert, können die vor 100 Schritten in der Bank gespeicherten Merkmale „veraltet“ oder nicht mit dem aktuellen Modellzustand konsistent sein. Verfahren wie die Verwendung eines Momentum-Encoders (eines sich langsam aktualisierenden Mittelwerts des Modells) helfen, dieses Problem zu mildern.

Für Teams, die Datensatzversionen und Modellartefakte verwalten möchten, die diese fortgeschrittenen Verfahren nutzen, bietet die Ultralytics Platform eine zentrale Anlaufstelle zum Organisieren von Daten, Nachverfolgen von Experimenten und effizienten Bereitstellen von Modellen. Die Komplexität der Speicherung und des Abrufs von Merkmalen zu bewältigen, ist entscheidend für den Übergang von experimenteller künstlicher Intelligenz (AI) zu robusten Produktionssystemen.

Explore solutions

Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeiterkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Bringe KI-gestützte Bildverarbeitung mit Ultralytics YOLO-Modellen in die Luftüberwachung. Unterstütze Drohnen, Luft- und Raumfahrt-Workflows, Umweltschutz und Geodatenbranchen mit Computer-Vision-Lösungen.
Mehr erfahren

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision AI unterstützt Perimeterüberwachung, Bedkennung, Kennzeichenerkennung und Arbeitssicherheit.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mache Maschinen mit Ultralytics YOLO-Modellen intelligenter. Vision AI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Computer Vision in der Logistik

Computer Vision in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketinspektion, Sortierung, Fahrzeugverfolgung und Überwachung der Lagersicherheit in Echtzeit.
Mehr erfahren
Computer Vision im Einzelhandel

Computer Vision im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und aussagekräftigere Einblicke in das Kundenverhalten.
Mehr erfahren
Computer Vision im Gesundheitswesen

Computer Vision im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI im Gesundheitswesen ermöglicht eine schnellere medizinische Bildgebung, intelligentere Diagnosen und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Einhaltung von Vorgaben zur persönlichen Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilindustrie

Computer Vision in der Automobilindustrie

Setze Computer Vision mit Ultralytics YOLO-Modellen in der Automobilindustrie ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Bring Vision AI mit Ultralytics YOLO-Modellen in die intelligente Landwirtschaft. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und intelligentere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens