Introduzione al problema
Il lavoro si inserisce nel contesto di creare agenti che operino in ambienti domestici. Idealmente vorremmo che un agente sia in grado di spostarsi e che sia in grado di ricevere comandi, operare sullâambiente ed aggiornare la propria rappresentazione interna.
Ă chiaro che in un contesto del genere un agente (robot) deve essere in grado di:
- comprendere la descrizione del mondo
- comprendere il comando inviato
- legare il comando con oggetti realmente esistenti nellâambiente (grounding)
Grounding
Il grounding è quindi il problema di legare le entitĂ presenti nel comando con entitĂ realmente presenti nel mondo o nella sua rappresentazione interna che ha lâagente.
Tra gli approcci a questo problema segnalo GrUT. In GrUT viene utilizzata unâarchitettura basata su transformers per fare il grounding nellâ interazione uomo macchina. Il grounding viene fatto sulle entitĂ realmente esistenti nel mondo sfruttando la Textification: tutte le entitĂ e le loro proprietĂ vengono descritte in linguaggio naturale. Successivamente un modulo filtra tutte e sole le entitĂ rilevante per il comando ricevuto.
In questo paper viene utilizzata una rappresentazione solo testuale del mondo. Idealmente, vorremmo eliminare la descrizione testuale ed inserire delle rappresentazioni piĂš vicine alla realtĂ , come le immagini, creando un ambiente osservabile che lâagente sia in grado di esplorare e su cui possa agire ed interagire.
ProcThor: un framework per la generazione di ambienti domestici
A questo proposito ci è utile utilizzare ProcThor. ProcThor è un framework per la generazione procedurale di ambienti domestici, ed ha vari punti di forza:
- Gli ambienti generati sono realistici
- si possono generare diverse view diverse per ogni ambiente
In questo modo possiamo testare lâapproccio dei modelli di linguaggio su ambienti visivi realistici. Ovviamente manca ancora il modello.
Lâapproccio multimodale: Kosmos 2
A questo punto, se al problema di grounding si aggiunge la modalitĂ visiva sotto forma di immagini, abbiamo bisogno di un modello che la gestisca: Un modello di linguaggio multimodale. I modelli di linguaggio multimodale sono in grado di operare con piĂš âmodalitĂ â oltre a quella testuale: immagini, suoni, feedback video etc. Non basta però. Serve anche che questo modello sia in grado di fare il grounding delle entitĂ presenti nel testo con le entitĂ presenti nellâimmagine.
A questo fine utilizziamo Kosmos2: un Large Language model multimodale che introduce la possibilitĂ di fare grounding sulle immagini.
Si rimanda a questo link per una descrizione esaustiva del modello.
Obiettivo del progetto
Lâobiettivo del progetto è quello di valutare la performance del Large Language Model Kosmos 2 su due task rilevanti :
- grounded image captioning: data unâimmagine generare una caption che riferisca alle bounding box sullâimmagine
- entity grounding: dato il nome di unâentitĂ individuarne il bounding box sullâimmagine.
In questo task viene chiesto al modello di linguaggio di individuare sullâimmagine unâentitĂ precisa, creando un bounding box. Unâesempio di entity grounding:
Viene fornito un prompt come quello di cui sopra, insieme ad unâimmagine:
Lâoutput del modello è una stringa come la seguente:
<grounding><phrase> television</phrase><object><patch_index_0301><patch_index_0467></object> and<phrase> sofa</phrase><object><patch_index_0384><patch_index_0976></object> in a room
Le coordinate del bounding box dellâimmagine possono anche essere ottenute nel formato classico, chiedendo al modello di dare in output le âentitiesâ
[('television', (0, 10), [(0.421875, 0.296875, 0.609375, 0.453125)]), ('sofa', (15, 19), [(0.015625, 0.390625, 0.515625, 0.953125)])]
Ovviamente lâevaluation sarĂ positiva se il bounding box dellâentitĂ di partenza (in questo caso television) è corretto. Qui una spiegazione in dettaglio di come verrĂ fatta lâevaluation su questo task a partire da un labeled dataset. Lâidea è quella di valutare sia Kosmos zero-shot e Kosmos fine-tuned su queste task.