Costruzione di agenti interattivi nei mondi dei videogiochi

'Creazione di agenti interattivi nei videogiochi'

Introduzione di un framework per creare agenti di intelligenza artificiale che possano capire le istruzioni umane e eseguire azioni in ambienti aperti

Il comportamento umano è straordinariamente complesso. Anche una semplice richiesta come “Metti la palla vicino alla scatola” richiede comunque una profonda comprensione dell’intento situato e del linguaggio. Il significato di una parola come ‘vicino’ può essere difficile da definire – mettere la palla dentro la scatola potrebbe essere tecnicamente la cosa più vicina, ma è probabile che il parlante voglia che la palla venga posizionata accanto alla scatola. Perché una persona possa agire correttamente sulla richiesta, deve essere in grado di comprendere e valutare la situazione e il contesto circostante.

La maggior parte dei ricercatori di intelligenza artificiale (AI) ritiene ora che scrivere codice informatico in grado di catturare le sfumature delle interazioni situate sia impossibile. In alternativa, i ricercatori moderni di apprendimento automatico (ML) si sono concentrati sull’apprendimento di questi tipi di interazioni dai dati. Per esplorare queste approcci basati sull’apprendimento e costruire rapidamente agenti in grado di comprendere le istruzioni umane ed eseguire in modo sicuro azioni in condizioni aperte, abbiamo creato un framework di ricerca all’interno di un ambiente di videogiochi.

Oggi, pubblichiamo un articolo e una collezione di video che mostrano i nostri primi passi nella costruzione di intelligenza artificiale per videogiochi in grado di comprendere concetti umani sfumati – e quindi, di iniziare a interagire con le persone a loro condizioni.

Gran parte dei progressi recenti nell’addestramento dell’intelligenza artificiale per i videogiochi si basa sull’ottimizzazione del punteggio del gioco. Potenti agenti di intelligenza artificiale per StarCraft e Dota sono stati addestrati utilizzando vittorie/sconfitte chiare calcolate dal codice informatico. Invece di ottimizzare un punteggio di gioco, chiediamo alle persone di inventare compiti e valutare il progresso da sole.

Utilizzando questo approccio, abbiamo sviluppato un paradigma di ricerca che ci consente di migliorare il comportamento dell’agente attraverso interazioni basate sulla realtà e aperte con gli esseri umani. Sebbene ancora in fase iniziale, questo paradigma crea agenti che sanno ascoltare, parlare, fare domande, navigare, cercare e recuperare, manipolare oggetti e svolgere molte altre attività in tempo reale.

Questa raccolta mostra i comportamenti degli agenti che seguono i compiti proposti dai partecipanti umani:

Apprendimento nella “casa di gioco”

Il nostro framework inizia con le persone che interagiscono con altre persone nel mondo del videogioco. Utilizzando l’apprendimento per imitazione, abbiamo dotato gli agenti di un insieme ampio ma non raffinato di comportamenti. Questo “comportamento precedente” è cruciale per consentire interazioni che possono essere valutate dagli umani. Senza questa fase iniziale di imitazione, gli agenti sono completamente casuali e virtualmente impossibili da interagire. La valutazione successiva del comportamento dell’agente da parte degli umani e l’ottimizzazione di queste valutazioni mediante l’apprendimento per rinforzo (RL) producono agenti migliori, che possono poi essere migliorati ulteriormente.

Abbiamo creato agenti mediante (1) l'imitazione delle interazioni umane, e poi migliorato gli agenti attraverso un ciclo di (2) interazione umano-agente e feedback umano, (3) addestramento del modello di ricompensa e (4) apprendimento per rinforzo.

Prima abbiamo costruito un semplice mondo di videogiochi basato sul concetto di una “casetta dei giochi” di un bambino. Questo ambiente forniva un ambiente sicuro per l’interazione tra umani e agenti e rendeva facile raccogliere rapidamente grandi volumi di questi dati di interazione. La casa presentava una varietà di stanze, mobili e oggetti configurati in nuovi arrangiamenti per ogni interazione. Abbiamo anche creato un’interfaccia per l’interazione.

Sia l’umano che l’agente hanno un avatar nel gioco che permette loro di muoversi all’interno – e manipolare – l’ambiente. Possono anche chattare in tempo reale e collaborare su attività, come trasportare oggetti e consegnarseli a vicenda, costruire una torre di blocchi o pulire una stanza insieme. I partecipanti umani impostano i contesti per le interazioni navigando nel mondo, stabilendo obiettivi e facendo domande agli agenti. Nel complesso, il progetto ha raccolto più di 25 anni di interazioni in tempo reale tra agenti e centinaia di partecipanti umani.

Osservare comportamenti che emergono

Gli agenti che abbiamo addestrato sono capaci di una vasta gamma di compiti, alcuni dei quali non erano stati previsti dai ricercatori che li hanno costruiti. Ad esempio, abbiamo scoperto che questi agenti possono costruire file di oggetti usando due colori alternati o recuperare un oggetto da una casa simile a un altro oggetto che l’utente sta tenendo.

Queste sorprese emergono perché il linguaggio consente un insieme quasi infinito di compiti e domande tramite la composizione di significati semplici. Inoltre, come ricercatori, non specifichiamo i dettagli del comportamento degli agenti. Invece, le centinaia di persone che partecipano alle interazioni trovano compiti e fanno domande durante il corso di queste interazioni.

Costruire il framework per la creazione di questi agenti

Per creare i nostri agenti di intelligenza artificiale, abbiamo applicato tre passaggi. Abbiamo iniziato ad addestrare gli agenti a imitare gli elementi di base delle semplici interazioni umane in cui una persona chiede a un’altra di fare qualcosa o di rispondere a una domanda. Ci riferiamo a questa fase come la creazione di un precedente comportamentale che consente agli agenti di avere interazioni significative con un umano con alta frequenza. Senza questa fase imitativa, gli agenti si muovono casualmente e parlano senza senso. Sono quasi impossibili da interagire in modo ragionevole e dar loro un feedback è ancora più difficile. Questa fase è stata trattata in due dei nostri lavori precedenti, “Imitating Interactive Intelligence” e “Creating Multimodal Interactive Agents with Imitation and Self-Supervised Learning”, che hanno esplorato la creazione di agenti basati sull’imitazione.

Andare oltre l’apprendimento dell’imitazione

Anche se l’apprendimento per imitazione porta a interazioni interessanti, tratta ogni momento di interazione come altrettanto importante. Per imparare un comportamento efficiente e orientato agli obiettivi, un agente deve perseguire un obiettivo e padroneggiare movimenti e decisioni particolari nei momenti chiave. Ad esempio, gli agenti basati sull’imitazione non prendono sempre scorciatoie o svolgono compiti con maggiore destrezza rispetto a un giocatore umano medio.

Qui mostriamo un agente basato sull’apprendimento per imitazione e un agente basato sull’apprendimento per rinforzo che seguono la stessa istruzione umana:

Per dotare i nostri agenti di uno scopo, superando ciò che è possibile attraverso l’imitazione, ci siamo affidati all’apprendimento per rinforzo, che utilizza prove ed errori combinati con una misura delle prestazioni per il miglioramento iterativo. Mentre i nostri agenti provavano diverse azioni, quelle che miglioravano le prestazioni venivano rinforzate, mentre quelle che diminuivano le prestazioni venivano penalizzate.

In giochi come Atari, Dota, Go e StarCraft, il punteggio fornisce una misura delle prestazioni da migliorare. Invece di utilizzare un punteggio, abbiamo chiesto agli umani di valutare le situazioni e fornire un feedback, che ha aiutato i nostri agenti a imparare un modello di ricompensa.

Addestramento del modello di ricompensa e ottimizzazione degli agenti

Per addestrare un modello di ricompensa, abbiamo chiesto agli umani di valutare se hanno osservato eventi che indicano un progresso evidente verso l’obiettivo attuale istruito o errori evidenti. Abbiamo quindi stabilito una corrispondenza tra questi eventi positivi e negativi e le preferenze positive e negative. Poiché si verificano nel tempo, chiamiamo queste valutazioni “inter-temporali”. Abbiamo addestrato una rete neurale per prevedere queste preferenze umane e abbiamo ottenuto come risultato un modello di ricompensa (o utilità / punteggio) che riflette il feedback umano.

Una volta addestrato il modello di ricompensa utilizzando le preferenze umane, lo abbiamo utilizzato per ottimizzare gli agenti. Abbiamo inserito i nostri agenti nel simulatore e li abbiamo indirizzati a rispondere a domande e seguire istruzioni. Mentre agivano e parlavano nell’ambiente, il nostro modello di ricompensa addestrato valutava il loro comportamento e utilizzavamo un algoritmo di apprendimento per rinforzo per ottimizzare le prestazioni degli agenti.

Quindi da dove provengono le istruzioni e le domande per i compiti? Abbiamo esplorato due approcci per questo. In primo luogo, abbiamo riutilizzato i compiti e le domande poste nel nostro set di dati umani. In secondo luogo, abbiamo addestrato gli agenti a imitare come gli umani impostano compiti e pongono domande, come mostrato in questo video, in cui due agenti, uno addestrato a imitare gli umani nell’impostare compiti e porre domande (blu) e uno addestrato a seguire istruzioni e rispondere a domande (giallo), interagiscono tra loro:

Valutare e iterare per continuare a migliorare gli agenti

Abbiamo utilizzato una varietà di meccanismi indipendenti per valutare i nostri agenti, dai test scritti a mano a un nuovo meccanismo per la valutazione offline umana di compiti aperti creati dalle persone, sviluppato nel nostro lavoro precedente Valutazione degli agenti interattivi multimodali . È importante sottolineare che abbiamo chiesto alle persone di interagire in tempo reale con i nostri agenti e di giudicarne le prestazioni. I nostri agenti addestrati tramite RL si sono comportati molto meglio di quelli addestrati solo tramite apprendimento per imitazione.

Abbiamo chiesto alle persone di valutare i nostri agenti in interazioni online in tempo reale. Gli esseri umani hanno fornito istruzioni o domande per 5 minuti e hanno giudicato il successo degli agenti. Utilizzando RL, i nostri agenti ottengono un tasso di successo più elevato rispetto all'apprendimento per imitazione da solo, raggiungendo il 92% delle prestazioni degli esseri umani in condizioni simili.

Infine, esperimenti recenti dimostrano che possiamo iterare il processo di RL per migliorare ripetutamente il comportamento dell’agente. Una volta addestrato un agente tramite RL, abbiamo chiesto alle persone di interagire con questo nuovo agente, annotare il suo comportamento, aggiornare il nostro modello di ricompensa e quindi eseguire un’altra iterazione di RL. Il risultato di questo approccio sono stati agenti sempre più competenti. Per alcuni tipi di istruzioni complesse, siamo riusciti addirittura a creare agenti che superavano in media i giocatori umani.

Abbiamo iterato il ciclo di feedback umano e RL sul problema della costruzione di torri. L'agente di imitazione si comporta significativamente peggio rispetto agli esseri umani. Round successivi di feedback e RL risolvono il problema della costruzione di torri più spesso degli esseri umani.

Il futuro dell’allenamento dell’IA per le preferenze umane situate

L’idea di addestrare l’IA utilizzando le preferenze umane come ricompensa è stata presente per molto tempo. In Deep reinforcement learning from human preferences , i ricercatori hanno introdotto approcci recenti per allineare gli agenti basati su reti neurali alle preferenze umane. Lavori recenti per sviluppare agenti di dialogo a turni hanno esplorato idee simili per addestrare assistenti con RL a partire dal feedback umano . La nostra ricerca ha adattato ed ampliato queste idee per costruire AI flessibili in grado di padroneggiare una vasta gamma di interazioni multimodali, incarnate e in tempo reale con le persone.

Speriamo che il nostro framework possa un giorno portare alla creazione di AI per giochi in grado di rispondere ai nostri significati espressi in modo naturale, anziché fare affidamento su piani comportamentali scritti a mano. Il nostro framework potrebbe anche essere utile per la costruzione di assistenti digitali e robotici con cui le persone interagiscono quotidianamente. Non vediamo l’ora di esplorare la possibilità di applicare elementi di questo framework per creare un’AI sicura che sia veramente utile.

Curioso di saperne di più? Dai un’occhiata al nostro ultimo paper . Saranno benvenuti feedback e commenti.