DarkrAI: a Pareto ε-greedy policy

Informazioni generali

Questo progetto esplora l’uso di tecniche di ottimizzazione derivate dalla biologia per migliorare le prestazioni di un agente di reinforcement learning (RL) e accelerare il processo di apprendimento. In particolare, ci concentriamo sull’addestramento di RL agents per le battaglie Pokémon, un dominio complesso con numerosi esiti possibili in ogni turno.

Approccio

Abbiamo ideato un approccio che combina diversi elementi:

  1. Calcolatore i danni: Per valutare con precisione l’impatto delle mosse dei Pokémon, abbiamo creato un server NodeJS che si interfaccia con un server per il calcolo dei danni mediante apposite API. Questa infrastruttura fornisce dati precisi sugli effetti delle mosse.

  2. Ottimizzazione mediante NSGA-II: Utilizziamo l’algoritmo genetico NSGA-II per risolvere un problema di ottimizzazione multi-obiettivo. NSGA-II identifica le mosse Pareto ottimali che i Pokémon possono fare in un determinato turno, migliorando il processo decisionale.

  3. Artificial Neural Network (ANN): Abbiamo progettato una ANN, i cui pesi vengono appresi tramite RL. Questa rete aiuta a ottimizzare le azioni dei Pokémon.

  4. Ambiente di allenamento: Utilizziamo Pokémon Showdown, un simulatore di battaglie online, come ambiente di allenamento. La libreria Python poke-env facilita la comunicazione con il simulatore e consente lo sviluppo di agenti addestrabili personalizzati.

  5. Dati di Pikalytics: Per risolvere le incertezze sui Pokémon dell’avversario, incorporiamo i dati di Pikalytics, che offrono approfondimenti sulla costruzione della squadra avversaria.

Risultati

I nostri esperimenti mostrano risultati promettenti. ParetoPlayer, un agente addestrato con il nostro approccio, mostra del potenziale per migliorare l’addestramento fornendo ricompense più elevate. Tuttavia, in situazioni con uno spazio di ricerca ridotto e una singola condizione di vittoria, Player supera ParetoPlayer.

Riconosciamo che ulteriori ottimizzazioni, l’esplorazione degli iperparametri e la regolazione della topologia della rete potrebbero migliorare i risultati. Le sfide includono la natura dispendiosa in termini di tempo di NSGA-II, che attualmente si basa su CPU, e la risoluzione degli switch forzati.

Per i dettagli completi, la metodologia, le scelte di implementazione e i risultati, consultare la relazione e le slides della presentazione.

Battaglia Pokémon

I nostri test statistici includono:

Per ulteriori informazioni sui nostri test statistici, consultare il README dell’analisi dati.

Collaboratori