In che modo l'IA impara ad agire quando lo spazio del problema è troppo grande


10

Imparo meglio attraverso la sperimentazione e l'esempio. Sto imparando a conoscere le reti neurali e ho (quello che penso) una buona comprensione della classificazione e della regressione e anche un apprendimento supervisionato e senza supervisione, ma mi sono imbattuto in qualcosa che non riesco a capire;

Se volessi allenare un'intelligenza artificiale per giocare a un gioco complicato; Sto pensando a qualcosa di simile a un RTS (es. Age of Empires, Empire Earth ecc.). In questi tipi di giochi c'è in genere un numero di entità controllate dal giocatore (unità, edifici) ognuna con capacità diverse. Sembra che il problema dell'IA sia la classificazione (ad es. Scegliere quell'unità e quell'azione), tuttavia poiché il numero di unità è una variabile come si fa a gestire un problema di classificazione in questo modo?

L'unica cosa che mi viene in mente è più reti che eseguono fasi diverse (una per la strategia generale, una per il controllo di questo tipo di unità, una per quel tipo di edificio, ecc.); ma sembra che stia complicando il problema.

Esistono buoni esempi di apprendimento automatico / reti neurali per l'apprendimento di giochi complessi (non specificamente RTS, ma più complicato di Mario )?



Potrebbe essere utile per una risposta: ijcai.org/papers07/Papers/IJCAI07-168.pdf e recensione dello stesso: aigamedev.com/open/review/transfer-learning-rts
Neil Slater

Risposte:


4

Questa è una buona domanda e molti scienziati in tutto il mondo si chiedono lo stesso. Bene, in primo luogo un gioco come Age of Empires non è considerato avere uno spazio di soluzione davvero grande, non ci sono così tante cose che puoi fare. È lo stesso in giochi come Mario Bros. Il problema dell'apprendimento in giochi facili come Atari è stato risolto dai ragazzi di DeepMind (qui il documento ), che è stato acquisito da Google. Hanno utilizzato un'implementazione di Reinforcement Learning con Deep Learning.

Tornando alla tua domanda. Un grosso problema è come imitare la quantità di decisioni che un essere umano prende ogni giorno. Svegliati, fai colazione, fai una doccia, esci di casa ... Tutte queste azioni richiedono un livello di intelligenza davvero elevato e molte azioni da sviluppare.

Ci sono molte persone che lavorano su questo problema, io sono uno di loro. Non conosco la soluzione ma posso dirti in che modo sto guardando. Seguo le teorie di Marvin Minsky, è uno dei padri dell'IA. Questo libro, l'Emotion Machine, racconta un'ottima visione del problema. Ha suggerito che il modo di creare una macchina che imita il comportamento umano non è quello di costruire una teoria compatta unificata dell'intelligenza artificiale. Al contrario, sostiene che il nostro cervello contiene risorse che competono tra loro per soddisfare obiettivi diversi nello stesso momento. Hanno chiamato questo Ways to Think .


1

Ottima domanda Questa è una questione di complessità e l'approccio che utilizzerai dipenderà dalla complessità del problema. Qualsiasi problema che cerchiamo di risolvere avrà un certo grado di complessità ad esso associato, definito colloquialmente come "il numero di cose che interagiscono o che devono essere considerate". Nell'apprendimento supervisionato e non supervisionato specifichiamo esattamente il numero di cose da considerare.

Ad esempio, nella regressione lineare multipla diciamo all'algoritmo di apprendimento quante funzioni considerare quando si adatta un modello (il numero di colonne nel set di addestramento). La stessa situazione vale per l'apprendimento senza supervisione; viene utilizzato un set di formazione ben definito con un numero esplicito di funzioni (in questo caso senza etichette).

Ciò che stai affrontando è una situazione inadatta alla classificazione o alla regressione, perché non puoi specificare con precisione il numero di "cose ​​da considerare". Come dici tu, il tuo spazio problematico è estremamente ampio. Un altro modo di pensarci è in termini di formazione necessaria per apprendere un modello; quanto è difficile per te immaginare come appare il set di allenamento? Nel tuo caso difficile. Cosa contengono esattamente le colonne del mio set?

Questo è il motivo per cui applicazioni come auto a guida autonoma, Atari e AlphaGo non usano la classificazione o la regressione. È impossibile sapere come sarebbe il set di allenamento. Puoi provare, ma il tuo modello non riuscirà a fare previsioni affidabili in modo affidabile (in questo caso si sposta). Quante cose devi considerare per costruire un modello di condizioni stradali?

Questo è il motivo per cui esiste un terzo tipo di apprendimento automatico, l'apprendimento per rinforzo. Invece di utilizzare un set di addestramento predefinito, utilizza tentativi ed errori. Cercando continuamente il suo ambiente, può imparare una politica che funziona a lungo termine.

Quindi, per spazi problematici più piccoli in cui abbiamo la possibilità di definire il set di formazione, utilizziamo l'apprendimento automatico supervisionato e non supervisionato. Per spazi problematici più ampi in cui è difficile definire il set di formazione, utilizziamo l'apprendimento per rinforzo. Ovviamente puoi anche creare combinazioni interessanti di tutti gli approcci di cui sopra, ma si riduce ancora alla complessità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.