Ricercatori dell’Istituto Allen per l’Intelligenza Artificiale presentano VISPROG Un Approccio Neuro-Simbolico per Risolvere Compiti Visivi Complessi e Compositi dati Istruzioni in Linguaggio Naturale.

Researchers from the Allen Institute for Artificial Intelligence present VISPROG a neuro-symbolic approach to solving complex and composite visual tasks given instructions in natural language.

La ricerca di sistemi AI multiuso ha facilitato lo sviluppo di modelli addestrabili end-to-end capaci, molti dei quali mirano a fornire all’utente un’interfaccia di linguaggio naturale semplice per interagire con il modello. La preelaborazione non supervisionata su larga scala seguita dall’addestramento multitask supervisionato è stato il metodo più comune per lo sviluppo di questi sistemi. Alla fine, vogliono che questi sistemi eseguano su scala indefinita le attività difficili. Tuttavia, questa strategia richiede un dataset accuratamente selezionato per ogni attività. In questo lavoro, studiano l’uso di grandi modelli di linguaggio per gestire la lunga coda di attività complesse, suddividendo le attività difficili espresse in linguaggio naturale in fasi più semplici che possono essere gestite da modelli specializzati addestrati end-to-end o da altri programmi.

Dici a un programma di visione artificiale di “taggare i sette personaggi principali della serie TV The Big Bang Theory in questa immagine”. Il sistema deve prima comprendere lo scopo dell’istruzione prima di eseguire le seguenti operazioni: rilevare i volti, recuperare dalla base di conoscenza l’elenco dei personaggi principali di The Big Bang Theory, classificare i volti usando l’elenco dei personaggi e taggare l’immagine con i nomi e i volti dei personaggi riconosciuti. Mentre diversi sistemi di visione e linguaggio possono eseguire ciascuna attività, l’esecuzione di attività di linguaggio naturale è al di fuori della competenza dei sistemi addestrati end-to-end.

Figura 1: Un sistema neuro-simbolico modulare e interpretabile per il ragionamento visivo composito – VISPROG. VISPROG sviluppa un programma per ogni nuova istruzione utilizzando l’apprendimento in contesto in GPT-3, dati alcuni esempi di istruzioni in linguaggio naturale e i necessari programmi di alto livello, e quindi esegue il programma sulle immagini in input per ottenere la previsione. Inoltre, VISPROG condensa le uscite intermedie in una giustificazione visuale comprensibile. Utilizziamo VISPROG per lavori che richiedono l’assemblaggio di una varietà di moduli per il recupero della conoscenza, l’aritmetica e le operazioni logiche, nonché per l’analisi e la manipolazione di immagini.

I ricercatori dell’Allen Institute for AI propongono VISPROG, un programma che prende come input informazioni visive (una singola immagine o una raccolta di immagini) e un comando in linguaggio naturale, crea una serie di istruzioni, o un programma visuale, come possono essere chiamati, e quindi esegue queste istruzioni per produrre il risultato richiesto. Ogni riga di un programma visuale chiama uno dei molti moduli che il sistema supporta ora. I moduli possono essere modelli di linguaggio pre-costruiti, subroutine di elaborazione immagine OpenCV o operatori aritmetici e logici. Possono anche essere modelli di visione artificiale pre-costruiti. Gli input creati eseguendo le righe precedenti del codice vengono consumati dai moduli, producendo uscite intermedie che possono essere utilizzate successivamente.

Nell’esempio menzionato in precedenza, un rilevatore di volti, GPT-3 come sistema di recupero della conoscenza e CLIP come classificatore di immagini a vocabolario aperto sono tutti utilizzati dal programma visuale creato da VISPROG per fornire l’output necessario (vedi Fig. 1). La generazione ed esecuzione di programmi per le applicazioni di visione vengono entrambe migliorate da VISPROG. Le reti di moduli neurali (NMN) combinano moduli neurali specializzati e differenziabili per creare una rete addestrabile end-to-end specifica per la risposta alle domande visive (VQA). Questi metodi addestrano un generatore di layout utilizzando la supervisione debole delle risposte di REINFORCE o parser semantici pre-costruiti e fragili per generare il layout dei moduli in modo deterministico.

Al contrario, VISPROG consente agli utenti di costruire programmi complicati senza alcun addestramento precedente utilizzando un potente modello di linguaggio (GPT-3) e alcuni esempi in contesto. Invocando modelli all’avanguardia addestrati, subroutine Python non neurali e livelli di astrazione superiori rispetto a NMN, i programmi VISPROG sono anche più astratti rispetto a NMN. Grazie a questi vantaggi, VISPROG è un sistema neuro-simbolico rapido, efficace e versatile. Inoltre, VISPROG è molto interpretato. In primo luogo, VISPROG crea programmi facili da capire la cui precisione logica può essere verificata dall’utente. In secondo luogo, suddividendo la previsione in parti gestibili, VISPROG consente all’utente di esaminare i risultati delle fasi intermedie per individuare eventuali difetti e, se necessario, apportare correzioni alla logica.

Un programma completato con output intermedi (come testo, bounding box, maschere di segmentazione, immagini prodotte, ecc.) connessi per mostrare il flusso di informazioni serve come giustificazione visiva per la predizione. Essi impiegano VISPROG per quattro attività distinte per mostrare la sua versatilità. Questi compiti implicano competenze comuni (come il parsing delle immagini), ma richiedono anche competenze di pensiero specializzato e manipolazione visiva. Questi compiti includono:

  1. Rispondere alle domande visive compositive.
  2. NLVR a zero-shot su accoppiamenti di immagini.
  3. Etichettatura degli oggetti di conoscenza fattuale dalle istruzioni NL.
  4. Manipolazione di immagini guidata dal linguaggio.

Sottolineano che nessuno dei moduli o del modello di linguaggio è stato modificato in alcun modo. Bastano alcuni esempi in contesto con comandi di linguaggio naturale e i programmi appropriati per adattare VISPROG a qualsiasi compito. VISPROG è semplice da usare e ha guadagni sostanziali rispetto a un modello base VQA nel test VQA composito di 2,7 punti, buona accuratezza a zero-shot su NLVR del 62,4%, e piacevoli risultati qualitativi e quantitativi su etichettatura di conoscenza e compiti di modifica delle immagini.