Sviluppa e confronta algoritmi di apprendimento per rinforzo utilizzando questo toolkit.

Se non puoi creare un modello di machine learning da zero o non hai l'infrastruttura, basta collegare la tua app a un modello funzionante per colmare il divario.

L'intelligenza artificiale è qui per essere usata da tutti in un modo o nell'altro. Per quanto riguarda OpenAI Gym, ci sono molti campi di allenamento esplorabili per alimentare i tuoi agenti di apprendimento per rinforzo.

Cos'è OpenAI Gym, come funziona e cosa puoi costruire usandolo?

Cos'è la palestra OpenAI?

OpenAI Gym è un'API Pythonic che fornisce ambienti di addestramento simulati per gli agenti di apprendimento per rinforzo affinché agiscano sulla base di osservazioni ambientali; ogni azione viene fornita con una ricompensa positiva o negativa, che matura ad ogni passo temporale. Mentre l'agente mira a massimizzare i premi, viene penalizzato per ogni decisione inaspettata.

Il passo temporale è un tick a tempo discreto per il transito dell'ambiente in un altro stato. Si somma quando le azioni dell'agente modificano lo stato dell'ambiente.

instagram viewer

Come funziona la palestra OpenAI?

Gli ambienti OpenAI Gym si basano sul Markov Decision Process (MDP), un modello decisionale dinamico utilizzato nell'apprendimento per rinforzo. Pertanto, ne consegue che le ricompense arrivano solo quando l'ambiente cambia stato. E gli eventi nello stato successivo dipendono solo dallo stato presente, poiché MDP non tiene conto degli eventi passati.

Prima di proseguire, esaminiamo un esempio per una rapida comprensione dell'applicazione di OpenAI Gym nell'apprendimento per rinforzo.

Supponendo che tu intenda addestrare un'auto in un gioco di corse, puoi girare una pista in OpenAI Gym. Nell'apprendimento per rinforzo, se il veicolo gira a destra invece che a sinistra, potrebbe ottenere una ricompensa negativa di -1. La pista cambia ad ogni passo temporale e potrebbe diventare più complicata negli stati successivi.

Ricompense o penalità negative non sono un male per un agente nell'apprendimento per rinforzo. In alcuni casi, lo incoraggia a raggiungere il suo obiettivo più rapidamente. Pertanto, l'auto impara a conoscere la pista nel tempo e padroneggia la sua navigazione utilizzando serie di ricompense.

Ad esempio, abbiamo avviato il FrozenLake-v1 ambiente, dove un agente viene penalizzato per essere caduto in buche di ghiaccio ma premiato per aver recuperato una confezione regalo.

La nostra prima corsa ha generato meno penalità senza premi:

Tuttavia, una terza iterazione ha prodotto un ambiente più complesso. Ma l'agente ha ricevuto alcune ricompense:

Il risultato di cui sopra non implica che l'agente migliorerà nella successiva iterazione. Sebbene possa evitare con successo più buchi la volta successiva, potrebbe non ottenere alcuna ricompensa. Ma la modifica di alcuni parametri potrebbe migliorare la sua velocità di apprendimento.

I componenti della palestra OpenAI

L'API OpenAI Gym ruota attorno ai seguenti componenti:

  • IL ambienti dove si forma un agente. Puoi avviarne uno usando il gym.make metodo. OpenAI Gym supporta anche ambienti multi-agente.
  • IL involucri per modificare un ambiente esistente. Sebbene ogni ambiente di base sia preconfezionato per impostazione predefinita, puoi ridimensionarlo con parametri come max_actions, min_actions e max rewards.
  • UN azione; definisce cosa fa l'agente mentre osserva i cambiamenti nel suo ambiente. Ogni azione in un ambiente è un passaggio che definisce la risposta di un agente alle osservazioni. Un completamento del passaggio restituisce un'osservazione, una ricompensa, informazioni e un valore troncato o terminato.
  • IL osservazione; definisce l'esperienza di un agente in un ambiente. Una volta che c'è un'osservazione, segue un'azione con le sue informazioni. Il parametro info è un registro di esecuzione utile per il debug. Al termine di un passaggio, l'ambiente viene reimpostato n volte, a seconda del numero di iterazioni specificate.

Cosa puoi fare con OpenAI Gym?

Poiché OpenAI Gym ti consente di creare ambienti di apprendimento personalizzati, ecco alcuni modi per utilizzarlo in uno scenario di vita reale.

1. Simulazione di gioco

Puoi sfruttare gli ambienti di gioco di OpenAI Gym per premiare i comportamenti desiderati, creare premi di gioco e aumentare la complessità per livello di gioco.

2. Riconoscimento delle immagini

Dove c'è una quantità limitata di dati, risorse e tempo, OpenAI Gym può essere utile per sviluppare un sistema di riconoscimento delle immagini. A un livello più profondo, puoi ridimensionarlo per creare un sistema di riconoscimento facciale, che premia un agente per identificare correttamente i volti.

3. Addestramento robotico

OpenAI Gym offre anche modelli ambientali intuitivi per simulazioni 3D e 2D, in cui è possibile implementare i comportamenti desiderati nei robot. Roboscuola è un esempio di software di simulazione di robot in scala costruito utilizzando OpenAI Gym.

4. Marketing

Puoi anche creare soluzioni di marketing come ad server, bot di compravendita di azioni, bot di previsione delle vendite, sistemi di raccomandazione di prodotti e molti altri utilizzando OpenAI Gym. Ad esempio, puoi creare un modello OpenAI Gym personalizzato che penalizzi gli annunci in base all'impressione e alla percentuale di clic.

5. Elaborazione del linguaggio naturale

Alcuni modi per applicare OpenAI Gym elaborazione del linguaggio naturale sono domande a scelta multipla che implicano il completamento di frasi o creazione di un classificatore di spam. Ad esempio, puoi formare un agente in modo che apprenda le variazioni di frase per evitare pregiudizi durante la valutazione dei partecipanti.

Come iniziare con OpenAI Gym

OpenAI Gym supporta Python 3.7 e versioni successive. Per configurare un ambiente OpenAI Gym, installerai palestra, la versione da palestra biforcuta a supporto continuo:

pip install gymnasium

Quindi, crea un ambiente. Tuttavia, puoi creare un ambiente personalizzato. Ma inizia giocando con uno esistente per padroneggiare il concetto di OpenAI Gym.

Il codice seguente fa girare il file FrozenLake-v1. IL reset.env metodo registra l'osservazione iniziale:

importare palestra COME palestra
env = gym.make("FrozenLake-v1", render_mode="umano")

osservazione, info = env.reset()

Alcuni ambienti richiedono librerie aggiuntive per funzionare. Se devi installare un'altra libreria, Python lo consiglia tramite il messaggio di eccezione.

Ad esempio, installerai una libreria aggiuntiva (palestra[testo-giocattolo]) per eseguire il FrozenLake-v1 ambiente.

Sfrutta la potenza di OpenAI Gym

Una delle battute d'arresto per lo sviluppo dell'IA e dell'apprendimento automatico è la carenza di infrastrutture e set di dati di addestramento. Ma mentre cerchi di integrare i modelli di machine learning nelle tue app o nei tuoi dispositivi, ora è tutto più semplice con modelli di intelligenza artificiale già pronti che volano su Internet. Mentre alcuni di questi strumenti sono a basso costo, altri, inclusa OpenAI Gym, sono gratuiti e open-source.