Migliorare il Question Answering Visivo con Sistemi Guidati dagli Utenti
Il sistema AVIS migliora la risposta a domande visive attraverso flussi di lavoro strutturati e grafi di transizione.
― 6 leggere min
Indice
Abbiamo impostato il sistema AVIs utilizzando uno specifico frammento di codice. Durante i test, abbiamo usato le API di Google Search, LENS, PALI e PALM direttamente. Questo processo non ha richiesto potenza di calcolo extra come GPU o TPU. Per gli Strumenti che non richiedevano query di input, come il rilevamento di oggetti e la ricerca di immagini, i risultati sono stati preparati in anticipo con due set di dati per risparmiare tempo. Altri strumenti, come il Visual Question Answering (VQA), la ricerca testuale e LLM QA sono stati utilizzati mentre il sistema era in funzione.
Confronto con il Baseline Autonomo senza Grafo di Transizione
Gran parte del nostro lavoro consiste nell'usare un grafo di transizione creato da uno studio reale degli utenti. Per mostrare quanto sia importante questo grafo e i prompt degli utenti per AVIS, abbiamo creato un baseline che non utilizza questo grafo. In questo caso, il modello vede un elenco completo di tutti gli strumenti con le descrizioni delle attività a ogni passo. Questo baseline è simile a progetti recenti come AutoGPT e BabyAGI, che hanno cercato di usare LLM come agenti indipendenti per scegliere tra le azioni disponibili online.
I risultati si possono trovare nella tabella dei risultati. Il baseline non performa bene come AVIS con il grafo di transizione e i prompt degli utenti. Il problema principale è la natura generale dell'elenco degli strumenti. Ad esempio, spesso affrontiamo per primi le domande visive usando il rilevamento di oggetti e la ricerca di immagini, e poi gestiamo le domande di conoscenza con Google Search e LLM. Se il modello si basa solo sulle descrizioni delle attività, senza il comportamento umano come guida, potrebbe selezionare strumenti inappropriati. Spiegheremo meglio questa idea nelle sezioni seguenti.
Risultati dei Modelli
| Modello & Infoseek | OKVQA |
|---|---|
| AVIS senza Grafo di Transizione | 38.2 |
| AVIS con Grafo di Transizione | 50.7 |
Analisi della Sequenza di Esecuzione degli Strumenti in AVIS
Abbiamo esaminato se ci sono schemi comuni su come il modello AVIS esegue i suoi compiti. Abbiamo raccolto dati sugli strumenti utilizzati in tutti gli esempi nel set di dati Infoseek. Inizialmente, mostriamo con quale frequenza viene invocato ciascun strumento. Poi, analizziamo i primi quattro strumenti più comunemente usati.
Il modello AVIS, quando guidato dal grafo di transizione e dai prompt, non usa ogni possibile combinazione di strumenti ma tende a favorire certe coppie. Ad esempio, "selezione oggetto" è spesso usato all'inizio, e durante il terzo passo, il modello tende a usare "ricerca web" per raccogliere più informazioni.
Abbiamo anche calcolato la probabilità di transizione del grafo creato. Questa struttura è un po' diversa dal grafo di transizione guidato perché, durante l'uso reale, il modello non prevede tutte le connessioni. In generale, mostra un chiaro schema in due fasi nella risoluzione delle domande. Prima, AVIS raccoglie informazioni visive usando strumenti come il rilevamento di oggetti e poi usa LLM QA per ottenere la risposta visiva. Dopo, chiama regolarmente la ricerca web e LLM QA con un prompt per trovare la risposta finale.
Abbiamo anche esaminato le lunghezze delle sequenze di azioni generate. Le lunghezze differiscono significativamente, invece di essere fisse, ma una lunghezza di 5 è la più comune per queste sequenze.
Componente Reasoner in AVIS
Un altro aspetto interessante è il nostro componente reasoner, che verifica se l'output di ciascuno strumento è "informativo", "non informativo" o "rispondibile". Mostriamo la frequenza generale di queste previsioni. Il modello classifica solitamente la maggior parte degli output come informativi o rispondibili. Tuttavia, circa l'8,1% degli output è etichettato come "non informativo". In questi casi, AVIS tornerà indietro e sceglierà azioni alternative.
Esempi di Predizioni
Ecco alcuni esempi che mostrano come funziona il reasoner e le sue decisioni.
| Domanda | Azione | Contenuto Restituito | Output del Reasoner |
|---|---|---|---|
| Dove si trova l'isola? | Ricerca Immagini | [...] | Non informativo |
| Chi o cosa mantiene questo posto? | LLM QA | Trafalgar Square è il punto focale... | Non informativo |
| Qual è la quantità totale di articoli prodotti per questo tipo di aereo? | Ricerca Immagini | [...] | Rispondibile |
| Qual è il nome di questa montagna? | Ricerca Immagini | Il Monte degli Olivi... | Rispondibile |
Dettagli del Dataset
Infoseek è un dataset di Visual Question Answering (VQA) focalizzato su domande che richiedono più di una conoscenza di base per rispondere. È stato creato raccogliendo domande annotate da umani e collegandole con dati visivi esistenti per creare coppie complesse di domande e risposte. Al momento della presentazione, avevamo accesso solo alla sua parte su Wikidata.
OK-VQA è un altro dataset VQA che richiede conoscenze esterne non direttamente visibili nelle immagini. Questo dataset è stato creato con l'aiuto di molte persone che hanno scritto domande dettagliate basate su conoscenze da Wikipedia.
Risultati VQA
| Modello | Entità Non Viste | Domanda Non Vista |
|---|---|---|
| PALM (solo Q, pochi esempi) | 6.6 | 4.8 |
| OFA (fine-tune) | 2.9 | 6.2 |
| PALI (fine-tune) | 5.9 | 13.3 |
| PALM con CLIP (pochi esempi + conoscenza esterna) | 14.9 | 15.6 |
| FiD con CLIP (fine-tune + conoscenza esterna) | 17.6 | 18.9 |
| Nostro (pochi esempi) | 31.4 | 33.6 |
Esempi di Prompt per il Workflow AVIS
Qui sotto, mostriamo diversi esempi di prompt che supportano il workflow di AVIS. Il primo prompt aiuta a pianificare quali strumenti usare e quali domande fare.
Struttura del Prompt di Pianificazione e Istruzioni di Compito
planner_prompt = """
Il tuo obiettivo è rispondere alla seguente query:
Per rispondere, ti verranno forniti i seguenti strumenti:
Per favore prendi la decisione in base al contesto attuale.
task_instructions =
'Fai domande semplici su questa immagine a un modulo QA esterno.',
'Seleziona un oggetto che rileviamo per approfondire.',
'Vedrai le didascalie di tutte le immagini identiche all'immagine fornita.',
'Vedrai le didascalie di tutte le immagini simili a questo oggetto.',
'Invierai domande a Google Search per la conoscenza.',
'Chiederai a un modulo QA quando la domanda è diretta.'
Esempi di Prompt di Pianificazione
vqa_plan_prompts = [
"""Query: cosa sta trasportando il treno?
un treno che viaggia sui binari...
Azione: vqa
"""
]
Decomposizione delle Domande in Sotto-Domande
Mostriamo anche come AVIS suddivide le domande in componenti visivi e di conoscenza all'inizio per guidare l'uso successivo degli strumenti.
question_decomposition_prompt = """
Leggi la seguente domanda per un'immagine data. Decomponi la domanda in due sotto-domande.
La prima chiederà riguardo all'immagine, e la seconda avrà bisogno di ragionamento sulla conoscenza.
"""
Conclusione
Il sistema AVIS mostra quanto sia efficace nel gestire domande visive complesse quando supportato da flussi di lavoro strutturati e guidato da prompt degli utenti. L'uso di grafi di transizione aggiunge un grande valore, permettendo al sistema di operare in modo più efficiente rispetto a modelli privi di questo approccio strutturato. Implementando questi metodi, AVIS può comprendere meglio e rispondere a domande che richiedono risposte visive e basate sulla conoscenza.
Attraverso un'attenta analisi dell'uso degli strumenti e l'integrazione di un reasoner, otteniamo ulteriori informazioni non solo su cosa fa AVIS, ma anche su come lo fa in modo efficace. Questo sviluppo consente risposte più affidabili nei compiti di visual question answering, aprendo la strada a futuri miglioramenti e applicazioni in questo campo.
Titolo: AVIS: Autonomous Visual Information Seeking with Large Language Model Agent
Estratto: In this paper, we propose an autonomous information seeking visual question answering framework, AVIS. Our method leverages a Large Language Model (LLM) to dynamically strategize the utilization of external tools and to investigate their outputs, thereby acquiring the indispensable knowledge needed to provide answers to the posed questions. Responding to visual questions that necessitate external knowledge, such as "What event is commemorated by the building depicted in this image?", is a complex task. This task presents a combinatorial search space that demands a sequence of actions, including invoking APIs, analyzing their responses, and making informed decisions. We conduct a user study to collect a variety of instances of human decision-making when faced with this task. This data is then used to design a system comprised of three components: an LLM-powered planner that dynamically determines which tool to use next, an LLM-powered reasoner that analyzes and extracts key information from the tool outputs, and a working memory component that retains the acquired information throughout the process. The collected user behavior serves as a guide for our system in two key ways. First, we create a transition graph by analyzing the sequence of decisions made by users. This graph delineates distinct states and confines the set of actions available at each state. Second, we use examples of user decision-making to provide our LLM-powered planner and reasoner with relevant contextual instances, enhancing their capacity to make informed decisions. We show that AVIS achieves state-of-the-art results on knowledge-intensive visual question answering benchmarks such as Infoseek and OK-VQA.
Autori: Ziniu Hu, Ahmet Iscen, Chen Sun, Kai-Wei Chang, Yizhou Sun, David A Ross, Cordelia Schmid, Alireza Fathi
Ultimo aggiornamento: 2023-11-02 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2306.08129
Fonte PDF: https://arxiv.org/pdf/2306.08129
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.