Bedingte Prompt-Lernverfahren für Vision-Sprache-Modelle

Mit dem Aufkommen leistungsstarker vortrainierter Vision-Sprache-Modelle wie CLIP wird es zunehmend notwendig, Methoden zur Anpassung dieser Modelle an nachgeschaltete Datensätze zu untersuchen. Eine kürzlich vorgeschlagene Methode namens Context Optimization (CoOp) führt das Konzept des Prompt-Lernens – einen aktuellen Trend im Bereich der natürlichen Sprachverarbeitung (NLP) – in den Bereich der Computer Vision ein, um vortrainierte Vision-Sprache-Modelle anzupassen. Konkret transformiert CoOp die Kontextwörter in einem Prompt in eine Menge lernbarer Vektoren und erreicht mit lediglich wenigen gelabelten Bildern erhebliche Verbesserungen gegenüber intensiv manuell abgestimmten Prompts. In unserer Studie identifizieren wir ein kritisches Problem von CoOp: Die gelernten Kontexte sind nicht verallgemeinerungsfähig auf weiterreichende, bisher nicht gesehene Klassen innerhalb desselben Datensatzes, was darauf hindeutet, dass CoOp die während des Trainings beobachteten Basisklassen überanpasst. Um dieses Problem zu beheben, schlagen wir Conditional Context Optimization (CoCoOp) vor, das CoOp erweitert, indem es zusätzlich ein leichtgewichtiges neuronales Netzwerk lernt, um für jedes Bild einen eingabebedingten Token (Vektor) zu generieren. Im Gegensatz zu CoOps statischen Prompts passen sich unsere dynamischen Prompts an jedes einzelne Beispiel an und sind somit weniger anfällig gegenüber Klassenshift. Umfangreiche Experimente zeigen, dass CoCoOp gegenüber CoOp erheblich bessere Verallgemeinerungsfähigkeit für bisher nicht gesehene Klassen aufweist und zudem eine vielversprechende Übertragbarkeit über einzelne Datensätze hinaus aufweist; außerdem erzielt es eine stärkere Leistung im Bereich der Domänenverallgemeinerung. Der Quellcode ist unter https://github.com/KaiyangZhou/CoOp verfügbar.