Florence 2 von Microsoft: Neue Maßstäbe in der Computer Vision

Kategorien:
No items found.
Freigegeben:
June 22, 2024

Microsofts Florence-2: Revolutionäre Fortschritte in der Computer-Vision

Einführung


In der Welt der Künstlichen Allgemeinen Intelligenz (AGI) vollzieht sich derzeit ein bedeutender Wandel hin zur Nutzung vielseitiger, vorab trainierter Repräsentationen, die eine aufgabenunabhängige Anpassungsfähigkeit für verschiedene Anwendungen zeigen. Dieser Wandel begann im Bereich der natürlichen Sprachverarbeitung (NLP) und macht nun auch im Bereich der Computervision Fortschritte. Hier kommt Florence-2 ins Spiel: ein Vision-Foundation-Modell, das entwickelt wurde, um die Herausforderungen der Aufgabenvielfalt in der Computervision und bei Vision-Sprach-Aufgaben zu bewältigen.


Hintergrund


Künstliche Allgemeine Intelligenz zielt darauf ab, Systeme zu schaffen, die verschiedene Aufgaben ähnlich gut wie Menschen bewältigen können. Kürzliche Erfolge mit vielseitigen, vorab trainierten Modellen im NLP-Bereich haben einen ähnlichen Ansatz im Bereich der Computervision inspiriert. Während bestehende große Vision-Modelle im Transferlernen hervorragend abschneiden, haben sie oft Schwierigkeiten, wenn sie mit verschiedenen Aufgaben und einfachen Anweisungen konfrontiert werden. Die Herausforderung liegt in der Handhabung der räumlichen Hierarchie und semantischen Granularität, die inhärent in verschiedenen vision-bezogenen Aufgaben sind.

Zu den wichtigsten Herausforderungen gehören die begrenzte Verfügbarkeit umfassender visueller Anmerkungen und das Fehlen eines einheitlichen Pretraining-Frameworks mit einer einzigen neuronalen Netzwerkarchitektur, die räumliche Hierarchie und semantische Granularität nahtlos integriert. Bestehende Datensätze, die für spezialisierte Anwendungen maßgeschneidert sind, verlassen sich stark auf menschliche Kennzeichnung, was die Entwicklung von grundlegenden Modellen, die die Feinheiten von vision-bezogenen Aufgaben erfassen können, einschränkt.


Florence-2: Ein Überblick


Um diese Herausforderungen direkt anzugehen, tritt das Florence-2-Modell als universelles Rückgrat auf, das durch Multitask-Lernen mit umfangreichen visuellen Anmerkungen erreicht wird. Dies führt zu einer einheitlichen, prompt-basierten Repräsentation für verschiedene Vision-Aufgaben und bewältigt effektiv die Herausforderungen begrenzter umfassender Trainingsdaten und des Fehlens einer einheitlichen Architektur.

Florence-2, das von Microsoft entwickelt wurde, übernimmt eine Sequence-to-Sequence-Architektur, die einen Bild-Encoder und einen Multi-Modality-Encoder-Decoder integriert. Dieses Design ermöglicht ein Spektrum von Vision-Aufgaben, ohne dass aufgabenspezifische architektonische Modifikationen erforderlich sind, und orientiert sich am Ethos der NLP-Gemeinschaft für die Entwicklung vielseitiger Modelle mit einer konsistenten zugrunde liegenden Struktur.

Florence-2 zeichnet sich durch seine beispiellosen Zero-Shot- und Fine-Tuning-Fähigkeiten aus und erzielt neue Spitzenleistungen bei Aufgaben wie Bildunterschriften, Objekterkennung, visueller Grundierung und Erfassung von Verweisausdrücken. Selbst nach dem Fine-Tuning mit öffentlich verfügbaren, von Menschen annotierten Daten konkurriert Florence-2 mit größeren spezialisierten Modellen und setzt neue Maßstäbe.


Technischer Einblick


Florence-2 wurde sorgfältig entwickelt, um die Einschränkungen traditioneller Single-Task-Frameworks zu überwinden, und verwendet ein Sequence-to-Sequence-Lernparadigma, das verschiedene Aufgaben unter einem gemeinsamen Sprachmodellierungsziel integriert.


Aufgabenformulierung


Florence-2 verwendet ein Sequence-to-Sequence-Framework, um eine breite Palette von Vision-Aufgaben auf einheitliche Weise anzugehen. Jede Aufgabe wird als Übersetzungsproblem behandelt, bei dem das Modell ein Eingabebild und eine aufgabenspezifische Eingabeaufforderung nimmt und die entsprechende Ausgabe erzeugt.

Aufgaben können entweder Text- oder Regionsinformationen beinhalten, und das Modell passt seine Verarbeitung je nach Art der Aufgabe an. Für regionsspezifische Aufgaben werden Lokalisierungstoken in die Vokabelliste des Tokenizers eingeführt, um verschiedene Formate wie Box-Darstellung, Viererkisten-Darstellung und Polygon-Darstellung zu berücksichtigen.


Vision-Encoder


Der Vision-Encoder spielt eine entscheidende Rolle bei der Verarbeitung von Eingabebildern. Um dies zu erreichen, integriert Florence-2 DaViT (Data-efficient Vision Transformer) als Vision-Encoder. DaViT transformiert Eingabebilder in abgeflachte visuelle Token-Einbettungen, die sowohl räumliche als auch semantische Informationen erfassen. Die resultierenden visuellen Token-Einbettungen werden mit Texteingaben für die weitere Verarbeitung concatenated.


Multi-Modality Encoder-Decoder Transformer


Das Herzstück von Florence-2 liegt im Transformer-basierten Multi-Modality-Encoder-Decoder. Diese Architektur verarbeitet sowohl visuelle als auch sprachliche Token-Einbettungen und ermöglicht eine nahtlose Verschmelzung von Text- und visuellen Informationen. Der Multi-Modality-Encoder-Decoder ist instrumental bei der Generierung von Antworten, die ein umfassendes Verständnis des Eingabebildes und der Aufgabenaufforderung widerspiegeln.


Optimierungsziel


Um Florence-2 effektiv zu trainieren, wird ein standardmäßiges Sprachmodellierungsziel verwendet. Angesichts der Eingabe (kombiniertes Bild und Aufforderung) und der Zieldaten verwendet das Modell den Kreuzentropie-Verlust für alle Aufgaben. Dieses Optimierungsziel stellt sicher, dass das Modell lernt, genaue Antworten über ein Spektrum von vision-bezogenen Aufgaben zu generieren.

Die Architektur von Florence-2 steht als Beweis für die Leistungsfähigkeit des Multitask-Lernens und der nahtlosen Integration von Text- und visuellen Informationen. Lassen Sie uns kurz auf die Multitask-Lernkonfiguration eingehen.


Multitask-Lernkonfiguration


Multitask-Lernen steht im Mittelpunkt der Fähigkeiten von Florence-2 und erfordert groß angelegte, qualitativ hochwertige annotierte Daten. Die Daten-Engine des Modells, FLD-5B, generiert autonom einen umfassenden visuellen Datensatz mit 5,4 Milliarden Anmerkungen für 126 Millionen Bilder. Diese Engine verwendet eine iterative Strategie der automatisierten Bildannotation und Modellverfeinerung und bewegt sich weg von traditionellen Einzel- und manuell annotierten Ansätzen.

Der Multitask-Lernansatz integriert drei unterschiedliche Lernziele, die jeweils ein anderes Granularitäts- und semantisches Verständnisniveau ansprechen:

- Aufgaben zum Verständnis auf Bildebene: Florence-2 zeichnet sich durch das Verständnis des Gesamtkontexts von Bildern durch sprachliche Beschreibungen aus. Aufgaben umfassen Bildklassifikation, Bildunterschriften und visuelles Fragenbeantworten (VQA).
- Aufgaben zur Erkennung auf Regionen-/Pixelebene: Das Modell erleichtert die detaillierte Objekte- und Entitätslokalisierung innerhalb von Bildern und erfasst die Beziehungen zwischen Objekten und ihrem räumlichen Kontext. Dies umfasst Aufgaben wie Objekterkennung, Segmentierung und Erfassung von Verweisausdrücken.
- Feinkörnige visuelle-sematische Abgleichaufgaben: Florence-2 befasst sich mit der komplexen Aufgabe, feinkörnige Details zwischen Text und Bild abzugleichen. Dies beinhaltet die Lokalisierung von Bildbereichen, die Textphrasen entsprechen, wie Objekte, Attribute oder Beziehungen.

Durch die Integration dieser Lernziele innerhalb eines Multitask-Frameworks wird Florence-2 in die Lage versetzt, verschiedene räumliche Details zu handhaben, Verständnisniveaus zu unterscheiden und eine universelle Repräsentation für Vision-Aufgaben zu erreichen.


Leistung und Bewertung

Zero-Shot- und Fine-Tuning-Fähigkeiten


Florence-2 beeindruckt durch seine Zero-Shot-Performance und erzielt hervorragende Ergebnisse in verschiedenen Aufgaben ohne aufgabenspezifisches Fine-Tuning. Zum Beispiel erreicht Florence-2-L eine CIDEr-Punktzahl von 135,6 auf COCO Caption und übertrifft damit Modelle wie Flamingo mit 80 Milliarden Parametern.

Beim Fine-Tuning demonstriert Florence-2 Effizienz und Effektivität. Sein einfaches Design übertrifft Modelle mit spezialisierten Architekturen in Aufgaben wie RefCOCO und TextVQA. Florence-2-L zeigt wettbewerbsfähige Spitzenleistungen in verschiedenen Aufgaben und betont seine vielseitigen Fähigkeiten.


Vergleich mit SOTA-Modellen


Florence-2-L sticht unter den Vision-Modellen hervor und liefert starke Leistung und Effizienz. Im Vergleich zu Modellen wie PolyFormer und UNINEXT zeichnet sich Florence-2-L in Aufgaben wie RefCOCO REC und RES aus und zeigt seine Generalisierung auf Aufgabenebenen.

In Aufgaben auf Bildebene erreicht Florence-2 eine CIDEr-Punktzahl von 140,0 auf dem COCO Caption Karpathy-Testsplit und übertrifft Modelle wie Flamingo mit mehr Parametern. Nachgelagerte Aufgaben, einschließlich Objekterkennung und Segmentierung, heben die überlegene Vorab-Trainierung von Florence-2 hervor. Es behält wettbewerbsfähige Leistungen bei, auch wenn Modellstufen eingefroren sind, und betont seine Effektivität.

Die Leistung von Florence-2 in semantischen Segmentierungsaufgaben auf dem ADE20k-Datensatz sticht ebenfalls hervor und übertrifft frühere Spitzenmodelle wie das BEiT vorab trainierte Modell auf ViT-B.


Qualitative Bewertung und Visualisierungsergebnisse


Florence-2 wird qualitativ auf den folgenden Aufgaben bewertet:

- Detaillierte Bildunterschrift
- Visuelle Grundierung
- Open Vocabulary Detection
- OCR
- Region zu Segmentierung


Vergleich mit SOTA LMMs


Florence-2 wird gegen andere große multimodale Modelle (LMMs) wie GPT-4V, LLaVA und miniGPT-4 bei detaillierten Bildunterschriftenaufgaben bewertet.


Schlussfolgerung


Abschließend erweist sich Florence-2 als bahnbrechendes Vision-Foundation-Modell, das das immense Potenzial von Multitask-Lernen und die Verschmelzung von Text- und visuellen Informationen zeigt. Es bietet eine effiziente Lösung für verschiedene Aufgaben, ohne dass umfangreiches Fine-Tuning erforderlich ist.


Bibliografie


https://twitter.com/Gradio/status/1803445146920366513
https://www.reddit.com/r/LocalLLaMA/comments/1diz8en/microsoft_releases_florence2_vision_foundation/
https://gradio.app/
https://www.microsoft.com/en-us/research/publication/florence-2-advancing-a-unified-representation-for-a-variety-of-vision-tasks/
https://www.reddit.com/r/singularity/comments/1djdghy/microsoft_releases_florence2_vision_foundation/
https://encord.com/blog/florence-2-explained/
https://www.linkedin.com/posts/gradio_%3F%3F%3F%3F%3F%3F-%3F%3F%3F%3F%3F%3F%3F-%3F%3F%3F-%3F%3F%3F%3F-activity-7196095237285371904-kuPf
https://www.gradio.app/changelog

Was bedeutet das?