Blog.

Open AI Safety Gym per Reinforcement Learning


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
AI, machine-learning

open-ai-safety-gym-cover-italiano-data-science-blog-guida-machine-learning-deep-reinforcement-learning

Open AI è un’organizzazione non profit di ricerca sull’intelligenza artificiale fondata da Elon Musk e Sam Altman. Nel 2016 nasce Open AI Gym, un toolkit per l’allenamento di agenti di Reinforcement Learning. Il 21 novembre 2019 Open AI Safety Gym è rilasciato.

Open AI Safety Gym è una suite di ambienti e strumenti per misurare il progresso di agenti che devono attenersi a specifici requisiti di sicurezza.

Sappiamo che in un sistema di Reinforcement Learning durante l’addestramento un agente sviluppa una policy, intesa come istruzioni che massimizzano il reward in uno specifico ambiente.

Open AI Gym è la palestra di allenamento degli agenti.

In un nostro log: da 0 a 0,001 abbiamo creato un una policy molto primitiva sfruttando l’ambiente Open AI Gym Cart Pole.

In una seconda fase sfrutteremo una Rete Neurale Artificiale per sviluppare l’agente vero e proprio.

Il nostro focus è ora su un nuovo ambiente: Safety Gym

Open AI Safety Gym

Alcuni sistemi di Deep Reinforcement Learning sono impiegati nello sviluppo delle Self-Driving Car.

Abbiamo visto quanto complicata possa essere questa missione con l’aiuto di Nada Cvijetic.

Far comprendere a questi algoritmi le dinamiche di un possibile incidente senza che l’auto di testing sia realmente coinvolta è tra i task più complessi.

Open AI Safety Gym cerca di risolvere queste sottili problematiche.

Safe Exploration Problem: Exploration is Risky

Per Safe Exploration Problem intendiamo una problematica a cui i sistemi di Reinforcement Learning devono logicamente andare in contro.

L’abstract della ricerca di DeepMind a riguardo è self-explanatory.

Brevemente, un agente deve esplorare l’ambiente per imparare il comportamento migliore da attuare.

Il procedimento di allenamento è quello del Trial & Error: “proviamo commettendo errori finché non riusciamo”

Capirai bene che se stessimo ragionando in termini di auto a guida autonoma questo sarebbe un grave problema: non possiamo certo permetterci di far scontrare la nostra vettura con una vetrina per fargli capire che… …come dire… …dovrebbe forse frenare.

L’esplorazione è fondamentalmente rischiosa a causa d’inaccettabili errori potenziali: l’agente potrebbe attuare comportamenti pericolosi.

Constrained Reinforcement Learning

Una possibile soluzione è quella di limitare l’apprendimento dell’agente, sfruttando a nostro vantaggio l’effetto di una cost function applicata all’ambiente di allenamento.

In questo modo la policy dovrà massimizzare il reward, minimizzando al contempo la cost function.

In un modello di Reinforcement Learning tradizionale infatti è possibile fissare una penalità costante, per limitare l’agente nel commettere inaccettabili errori.

C’è solo una cosuccia… una che mio Zio definirebbe da lazzarone.

In caso di penalità costante, potrebbe diventare conveniente commettere errori al fine di massimizzare il più possibile la reward function.

Cosa significa questo?

Il cugino di mia madre è disposto a prendere multe in autostrada pur di arrivare in orario agli appuntamenti, guidando oltre il limite.

La sua guida è sicura, quella del nostro agente potrebbe non esserlo.

Il punto è un altro.

In presenza di una penalità costante (ipotizziamo una multa di 100€) è conveniente essere penalizzati ma raggiungere l’obiettivo (firmare un contratto da 6000€) invece di mancarlo rispettando le regole.

Il nostro agente potrebbe imparare proprio questo comportamento.

Non ci piace.

Ecco perché introduciamo i Constrained Reinforcement Learning.

Questo approccio prevede l’inizializzazione di una penalità di valore accettabile, che aumenta in caso di errata condotta.

Safety Gym

Open AI Safety Gym è l’ambiente di prova per i Constrained Reinforcement Learning per garantire una safe exploration.

Giusto alcune informazioni utili.

In ogni ambiente della palestra, gli agenti sono portati a muoversi in presenza di ostacoli che occludono gli spazi.

Esistono tre robot, alterego dell’agente:

  • Punto, una semplice entità limitata sul piano bidimensionale con due attuatori: per l’avanzamento e il cambio direzionale. È presente un piccolo quadrato per lo spostamento di oggetti.
  • Auto, con due ruote parallele indipendenti e una libera a supporto del cambio direzionale. (L’agente deve imparare a coordinare il movimento delle ruote)
  • Doggo, un quadrupede con simmetria bilaterale e molteplici punti di flessione per le articolazioni, dotato di una uniform random policy che ne gestisce la caduta

Per il momento è tutto. Per approfondire dai un’occhiata qui.

Un caldo abbraccio, Andrea.

Taggedmachine learningreinforcement learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum