• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
AI, machine-learning

OpenAI Gym Cartpole | Sviluppo Reinforcement Learning Algorithm

OpenAI Gym Cartpole | Sviluppo Reinforcement Learning Algorithm

OpenAI Gym è un toolkit per lo sviluppo e la comparazione di algoritmi di reinforcement learning che supporta l’allenamento di differenti tipologie di agenti.

Nel 2015, Elon Musk e Sam Altman, un mito dal cui blog dovremmo apprendere molto, fondarono un’organizzazione non profit con lo scopo di promuovere la ricerca nel campo delle intelligenze artificiali, a una sola condizione: che tutto il materiale prodotto fosse condiviso con la community. Nasceva OpenAI

Nell’aprile 2016 OpenAI Gym veniva rilasciato pubblicamente: sviluppatori e i ricercatori potevano iniziare a contar su una piattaforma per il reinforcement learning.

OpenAI Gym

Giusto per motivi estetici:

Gym è un toolkit per lo sviluppo e la comparazione di algoritmi di reinforcement learning che supporta l’allenamento di differenti tipologie di agenti.

Cos’è Gym

Contrariamente ad altre piattaforme, e con nostro sommo dispiacere, la documentazione ufficiale è scarsa.

Questa si aggiunge all’elenco di documentazioni da leggere, lista che contiene:

  • Documentazione di tesnsorflow
  • Documentazione di Gym

Sarà un novembre intenso.

Perché Gym?

Dove si cela la necessità di una simile libreria?

Ragioniamo insieme.

Una delle sfide maggiori del Reinforcement Learning è disporre di ambienti di test funzionanti in cui poter allenare l’agente.

Il nostro obiettivo è allenare un agente per giocare ad Atari? Avremo prima bisogno di un Atari simulator funzionante.

Vogliamo che il nostro robot impari a scalare una montagna? Lo portiamo in quota e nel caso in cui dovesse cadere… beh ne prendiamo un altro, e poi ancora uno… e… Ok non è scalabile.

Ecco che entrano in gioco gli ambienti di simulazione (simulated environment) in cui poter allenare l’agente.

Si tratta di ambienti replicabili, dalle condizioni controllate.

E’ quindi possibile aumentare o ridurre lo scorrere del tempo, incrementare la potenza computazionale, o allenare differenti ambienti in parallelo simultaneamente.

Entra in gioco: OpenAI Gym

Funzionamento Gym

Nel concreto la libreria Gym è una collezione di test problems, chiamati environemnts (ambienti) che possono essere impiegate come “palestre” di allenamento per la ricerca e lo sviluppo di nuovi algoritmi di reinforcement learning.

Gli environments condividono un’interfaccia comune, questo significa che possiamo scrivere algoritmi generali senza doverli adattare ai diversi ambienti.

Questo ci piace!

Installazione OpenAI Gym | Hello World con il Cartpole

Gym richiede Python 3.5+ e può essere installato come pacchetto usando pip:

pip install gym

Ora che ne dici di fare un bel “Hello World!” ?

Si beh… stiamo parlando di reinforcement learning…

Quindi abbiamo il nostro environment: un carrello capace di muoversi e un bastone in equilibrio.

Ora ci manca l’algoritmo, la nostra intelligenza.

In questo caso andiamo a scrivere l’algoritmo più stupido mai partorito da mente umana: movimento randomico.

Apriamo un editor ti testo e salviamo il file gym.py :

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample()) # take a random action
env.close()

In realtà è divertente: dopo pochi secondi il carrello schizzerà via.

Questa è una breve introduzione a OpenAI Gym CartPole.

Ora è arrivato il momento di alzare il livello.

Seguimi per sviscerare il funzionamento del’ambiente CartPole, esaminandone la documentazione e realizzando un primo elementare algoritmo di Reinforcement Learning!

Accetto la sfida

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Ottobre 30, 2019
Tags | deep learning, reinforcement learning

You Might Also Like

deep-learning-training-neural-network-guida-italiano-teoria-bocconi-laurea-intelligenza-artificiale-machine-learning-blog-data-science-scaled

Neural Network Training Theory | 6.S191 – Deep Learning

Marzo 3, 2020
gan-generative-adversarial-networks-italia-rete-generativa-avversaria-rete-antagonista-generativa

GAN: Cosa sono le Generative Adversarial Nets

Aprile 20, 2020
u-net-convolutional-neural-network-cnn-deep-learning-italia-machine-learning-engineer-guida-italiano-machine-learning-engineers

U-Net FCN Networks | Deep Learning Engineer Italia

Novembre 14, 2020

4 Comments

  • OpenAI Gym CartPole: how it works, Tutorial | Log Novembre 2, 2019 at 18:00

    […] già introdotto e presentato la libreria: ora è arrivato il momento di capirne il funzionamento partendo dal primo ambiente, […]

    Reply
  • Supervised, Unsupervised, Semisupervised e Reinforcement Learning - Novembre 3, 2019 at 16:07

    […] risolvere questo problema possiamo fare ricorso a libreria come OpenAI Gym, che mettendo a disposizione ambienti come il CartPole, con molti parametri usufruibili, consente […]

    Reply
  • Recommender Systems - Machine Learning & Data Science Blog Novembre 14, 2019 at 19:08

    […] Senz’altro più utile del tentare di mantenere un palo in equilibrio. […]

    Reply
  • The credit assignment problem | Reinforcement Learning Italia Agosto 6, 2020 at 20:11

    […] Esatto quello che avevamo visto insieme qui. […]

    Reply
  • Please Post Your Comments & Reviews
    Annulla risposta

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    Next Post
    Previous Post

    Una pubblicità che non vedi se usi AdBlock

    EXPAND YOUR KNOWLEDGE

    • Blockchain

      Patricia Merkle Trie

      Maggio 30, 2023
    • Artistic representation of a tree Blockchain

      Tree Data Structure: cos’è un Merkle Tree

      Maggio 26, 2023
    • Cover image for Bitcoin UTXO explanation post Blockchain

      UTXO: come funziona il modello Unspent Transaction Outputs

      Maggio 23, 2023
    • Blockchain

      Cos’è Ethereum

      Maggio 15, 2023
    • Blockchain Developer

      Circuito aritmetico

      Novembre 1, 2022
    • machine-learning

      Un nuovo inizio

      Settembre 4, 2021
    • Zero Knwoledge Proof Article Privacy Preserving

      Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

      Luglio 8, 2021
    • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

      Oblivious Transfer (OT)

      Luglio 6, 2021
    • Aleo Studio Website Preview machine-learning

      Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

      Luglio 1, 2021
    • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

      Perché il Privacy Tech è un vantaggio competitivo micidiale

      Giugno 17, 2021

    Quello che Google pensa ti possa piacere

    Prodotti che i Cookie dicono potresti trovare interessanti

    AI Blog - © 2019-2021 Andrea Provino