1 of 28

Smart Car

ML-Agents

Simone Scermino (0522501831)

Ciro Vitale (0522501759)

2 of 28

01

Table of Contents

02

03

04

05

06

07

08

Idea & Obiettivi

Problema

Reinforcement Learning

Tecnologie Utilizzate

Policy

Risultati

Sviluppi Futuri

Thanks

3 of 28

01

Problema

4 of 28

Problema

Analisi dei casi di:

  • Smart City: condivisione dati tra agenti nella stessa città.
  • Smart Mobility: reazione dinamica a vari eventi possibili quali segnaletica orizzontale e verticale, altri attori, imprevisti, sensi di percorrenza, …�

Problema Trattato: Smart Mobility, guida sicura, rispetto della segnaletica orizzontale e verticale.

5 of 28

02

Idea & Obiettivi

6 of 28

Idea

Simulazione in Unity dello scenario di guida per studiare soluzioni di Smart Mobility.

L’uso di ML-Agents consentirà un'implementazione efficace, fornendo sensori avanzati e una logica di training mirata.

7 of 28

Obiettivi

Focus: creazione di un ambiente dinamico in cui l’agente riesca a imparare e reagire a determinati scenari.

Frammentazione dell’obiettivo nei seguenti task:

  • Creazione di un ambiente (scena Unity) in cui andare a collocare l’agente per training/testing/inferenza.
  • Realizzazione di un agente capace di percepire l’ambiente (tramite sensori) e agire su esso (script di controllo, attuatori).
  • Allenare l’agente mediante Reinforcement Learning.
  • Porre l’agente in uno scenario modificato per farlo generalizzare in fase di inferenza.

8 of 28

03

Reinforcement Learning

9 of 28

Reinforcement Learning (RL)

Reinforcement Learning (RL): Apprendimento automatico avente come obiettivo la realizzazione di agenti autonomi, in grado di prendere decisioni per raggiungere obiettivi specifici attraverso l'interazione con l'ambiente.

L’addestramento si basa sull'interazione dell'agente con l'ambiente, le osservazioni prelevate mediante sensori, le decisioni prese e la ricompensa misurata in base all’obiettivo che si vuole conseguire.

La policy (mappatura osservazioni - azioni) appresa in fase di training cerca di massimizzare le ricompense cumulative, minimizzando la loss function. Viene utilizzata in fase di inferenza per determinare le azioni ottimali in nuovi contesti.

Azione

Stato

Reward

Agente

Ambiente

10 of 28

RL in Unity

ML-Agents: Toolkit open-source che permette l’uso di scenari Unity per l’addestramento degli agenti.

Contiene la scena Unity e gli agenti (ai quali dà modo di osservare, agire e imparare).

Collega l’ambiente di cui fa parte all’API di Python.

Interfaccia Python di basso livello per gestire l’ambiente. Fa parte del package “mlagents_envs” e opera durante il training.

Algoritmi che abilitano il training. �Fa parte del package mlagents.

Componente Unity che gestisce osservazioni/azioni di un GameObject

Attributi specifici dell’agente (numero di azioni, tipo di valori, …)

11 of 28

04

Tecnologie Utilizzate

12 of 28

Tecnologie Utilizzate

ML-Agents

Unity

Tensorboard

13 of 28

Scena

Crossing

Checkpoint

Track: Roadline & Wall

TrafficLight: Zone, Line & Light

14 of 28

Scena

Asset Packs:

  • SimplePoly City
  • ModularTrackKit�

Prefab ad hoc

Il tracciato in inferenza è stato modificato per testare la capacità di generalizzazione dell'agente.

15 of 28

Agente

Ray Perception Sensor 3D

MLAgents Script

Decision Requester

Behavior Parameters

Demonstration Record

16 of 28

Agente - Osservazioni & Azioni

Azioni:

  • Action Space: Discrete
  • Sterzata (3): sinistra, nulla, destra
  • Accelerazione (3): avanti, nulla, indietro

Osservazioni:

  • Vector Observation, Space Size: 12
  • Parametri veicolo: velocità e sterzata.
  • Informazioni sul checkpoint successivo.
  • Stato Semaforo: one-hot encoding per distinguere rosso, giallo e verde.
  • Ambiente circostante: roadlines, crossing, walls, car.

17 of 28

05

Policy

18 of 28

config.yaml

Hyperparameters

Proximal Policy Optimization (PPO)

Network Settings

Reward Signals

Time Horizon

Max Steps

Summary Frequence

Checkpoint Interval

  • batch_size: # esperienze per ogni aggiornamento del gradiente. [512 - 5120]
  • buffer_size: # esperienze memorizzate prima di aggiornare il modello della policy. [2048 - 409600]
  • learning_rate: velocità aggiornamento pesi. [0.00001 - 0.001]
  • beta: forza dell’entropia, ovvero randomicità / esplorazione spazio delle azioni. [0.0001 - 0.01]
  • epsilon: velocità adattamento policy. [0.1 - 0.3]
  • lambd: regolarizzazione per la GAE. [0.9 - 0.95]
  • num_epoch: # passaggi su buffer esperienze. [3 - 10]

  • normalize: normalizzazione input.
  • hidden_units: # neuroni hidden layer. [32 - 512]
  • num_layers: # hidden layer. [1 - 3]

  • extrinsic: ricompensa esterna, su obiettivi definiti.
  • curiosity: ricompensa esplorazione.
  • gail (Generative Adversarial Imitation Learning): apprendimento da dimostrazioni.

19 of 28

Rewards / Penalty

  • Wall (Enter, Stay)
  • Car (Enter, Stay)
  • Roadlines (Enter, Stay)
  • Crossing (Exit):
    • Lento
    • Veloce
  • Checkpoint (Enter):
    • Corretto
    • Errato
  • Semafori (Enter, Stay, Exit):
    • Stop su Rosso
    • Stop Giallo/Verde
    • Go su Giallo/Verde
    • Go su Rosso
  • Velocità Troppo Bassa

20 of 28

Environment

Training Flow

Agent

Cambiamento di stato

Azione effettuata

L’agente modifica il proprio comportamento per migliorare la ricompensa

Rewards / Penalty

Il discriminator confronta osservazioni/azioni dell'agente con la dimostrazione e lo premia per la similarità con essa

Observations, Actions

Demonstration, Observations, Actions

Discriminator

21 of 28

Training

22 of 28

06

Risultati

23 of 28

Risultati

Distribuzioni Ricompense

Ricompensa Cumulativa

Lunghezza Episodi

Loss associata a Imitazione

Loss associata a Curiosità

24 of 28

Comparazione

Modifiche e test effettuati nei vari training:

  • Test su Diversi Scenari (mix di tracciati più semplici e più complessi).
  • Test su Parallelizzazione.
  • Ottimizzazione della funzione di reward.
  • Regolazione dei thresholds.
  • Miglioramenti nella gestione dei semafori (rappresentazione one hot encoding)
  • Introduzione GAIL.
  • Ottimizzazione iterativa e tuning dei parametri:
    • Epochs.
    • Normalize (false).
    • Hyperparameters (learning rate, beta, epsilon, lambda, numero epoche).

25 of 28

Inference

26 of 28

07

Sviluppi Futuri

27 of 28

Sviluppi Futuri

  • Aumentare Fluidità Guida
  • Multi-Agent Training Diversificato (Diversi stili di guida: Safe, Aggressivo, Spericolato)
  • Rilevazione Avanzata tramite Sensori
  • Introduzione Segnaletica Aggiuntiva
  • Scenari di Training Più Complessi

28 of 28

THANKS

Simone Scermino (0522501831)

Ciro Vitale (0522501759)

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik and illustrations by Stories.

Please keep this slide for attribution.

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik and illustrations by Stories