Blog.

Reinforcement Learning Use Cases | Business Mindset


Autore
Andrea Provino
Data
Tempo di lettura
5 minuti
Categoria
machine-learning

reinforcement-learning-use-cases-guida-italiano-esempi-reinforcement-learning-italia

Dopo aver studiato le basi teoriche del Reinforcement Learning, ci rimangono due grandi ambiti: i reinforcement learning use cases e la pratica!

La prima cosa che abbiamo fatto è stata introdurre il Reinforcement Learning.

Avendo optato per un approccio europeo allo studio, sapevamo che avremmo prima considerato la teoria e in seguito la pratica.

Questa divisione, tra teoria e pratica, è particolarmente conveniente per assecondare le esigenze di pubblicazione sul blog e garantire una corretta continuità tra gli articoli evitando di ammassare tutto in un’unica risorsa difficilmente gestibile.

Nonostante ciò preferisco il metodo pragmatico americano con cui imparare attraverso la pratica, e consolidare la conoscenza con l’aiuto della teoria.

Il connubio tra queste due alternative è quindi quello di avere sempre a disposizione un’area all’interno del blog che raggruppi tutti gli elementi teorici di un argomento, e un’altra in cui raccogliere quelli pratici: esempi, minimum value products e prove of concepts che sviluppino definizioni e spiegazioni in modo più approfondito.

Oggi, non vedremo nulla di tutto questo.

Stiamo per creare un ponte tra i due mondi: per capire come sviluppare un progetto di reinforcement learning abbiamo bisogno di selezionare un ambito.

Vediamo allora quali siano i Reinforcement Learning Use Cases!

Reinforcement Learning Use Cases

Mentre le Reti Neurali Convoluzionali (CNN) e le Reti Neurali Ricorrenti (RNN) hanno visto un crescente interesse supportato dalle esigenze di Business in ambito Computer Vision (CV) e Natural Language Processing (NLP), il Reinforcment Learning (RL) pare essere passato in sordina.

Questo ambito mira a sviluppare modelli di decision making; l’aspetto che più dispiace è la difficoltà nel reperire materiale sull’applicazione del Reinforcement Learning ai contesti aziendali reali.

Avendo ormai compreso, seppur superficialmente, il funzionamento dei sistemi di Reinforcment Learning, è arrivato il momento di ragionare insieme sui loro potenziali Use Cases.

Gestione risorse di computer clusters

Sviluppare algoritmi che sappiano allocare risorse limitate a task differenti è complesso e richiede di norma l’intervento dell’euristica.

L’articolo accademico Resource Management with Deep Reinforcement Learning dimostra invece come sia possibile affidarsi al Reinforcement Learning gestire questo problema.


Traffic Light Controller

Il secondo tra i Reinforcement Learning Use Cases è particolare.

Il curioso articolo Reinforcement learning-based multi-agent system for network traffic signal control illustra infatti come realizare un traffic light controller per risolvere il problema di congestione negli incroci.

La simulazione si compone di 5 agenti disposti in altrettante intersezioni, più uno posto in quella centrale a controllo delle luci semaforiche.

È chiaro che il funzionamento è più complesso di così, ma al momento non è rilevante.

Seppur testato solo in ambiente virtuale, questo metodo produce risultati superiori rispetto a quelli convenzionali aprendo le porte all’impiego del RL nella progettazione urbanistica.

Robotics

La robotica chiaramente l’unica area a cui molti ricollegano l’impiego dell’intelligenza artificiale.

Apprendimento automatico e reti neurali? Vorranno mica realizzare un robot che ci controlli?

L’unica pillola efficace in un simile stato d’ignoranza è un cocktail di studio e ragionamento, con una dieta equilibrata a base di minor consumo di film.

È comunque vero che negli ultimi anni il lavoro svolto nell’applicazione dell’IA nella robotica è stato rimarchevole.

Un esempio direttamente collegato all’impiego del Reinforcement Learning, è quello presentato in End-to-End Training of Deep Visuomotor Policies.

In questo articolo gli autori presentano una soluzione che prevede l’ausilio di alcune Deep Convolutional Nural Networks, per un totale di 92,000 parametri, per rappresentare le policies.

Le immagini RGB fornite in ingresso alle reti sono elaborate in segnali da inviare ai motori.

La particolarità dell’approccio è configurare il problema come un caso di supervised learning, con la supervisione fornita da un semplice metodo di trajectory-centric reinforcement learning.

Un metodo complesso ed elaborato dai risultati promettenti.

Bidding and Advertising

Questo esempio tra i Reinforcement Learning Use Cases è particolare e intrigante.

Per capirla, dobbiamo fornire un po’ di contesto e qualche informazione su come funzionano, in genere, le pubblicità online.

Taobao | One Reinforcement Learning Use Cases

Esiste un sito web cinese chiamato TaoBao, realizzato dal gruppo Alibaba, che costituisce la più grande piattaforma online retail al mondo.

In pratica consente alle aziende di vendere ai privati gli oggetti da loro prodotti, procedura in gergo chiamata Business to Client o B2C, e ai privati di vendersi tra di loro oggetti (Client to Client o C2C).

In pratica una fusione tra Amazon e i principali siti web di compravendita usato in Italia, ma sotto steroidi.

Con milioni di prodotti disponibili, trovare quello che fa al caso nostro può diventare complicato.

Ora affinché un prodotto venga acquistato è chiaro che deve essere conosciuto. Taobao ha sviluppato allora un sistema di pubblicità interno alla piattaforma per sponsorizzare specifici prodotti così da aumentarne le vendite.

Gli inserzionisti quindi stabiliscono un budget giornaliero pubblicitario e fanno offerte (bid) per specifici punti nella piattaforma.

La piattaforma decide quale inserzione mostrare.

Come? Entra in gioco il Reinforcement Learning

DCMAB Algorithm

In una ricerca intitolata Real-Time Bidding with Multi-Agent Reinforcement Learningin Display Advertising e datata 2018, gli autori hanno presentato un sistema denominato DCMAB o Distributed Coordinated Multi-Agent Bidding con risultati tanto promettenti da essere stati implementati su TaoBao.

In questo caso, tra le motivazioni che hanno spinto la scelta del Reinforcement Learning troviamo:

  • L’ottimizzazione delle offerte (id optimization) con budget limitato (budget constraint) è un tipico problema di decisione sequenziale o sequential decision problem (i.e. Di quelli risolvibili con il Reinforcement Learning)

In base alle sue caratteristiche, con mercanti facenti offerte tra loro antagoniste, il problema può essere modellato attraverso un’interazione multi-agente.

Per applicare efficacemente il DCMAB è stato necessario creare cluster di mercanti e di clienti per ridurre la complessità.

Il MDP che modella il processo decisionale si configura come segue:

  • Stato: spesa e Gross Merchandise Value (GMV)* di tutti i cluster di mercanti su ogni cluster cliente
  • Azione: selezionare e applicare un fattore di correzione offerta a
  • Ricompensa: GMV* ottenuto dall’agente (i.e. Ogni cluster d’inserzionisti, ovvero mercanti)

* Il GMV è il valore totale di merce venduta in uno specifico periodo di tempo in un C2C exchange

Qualora volessi approfondire l’algoritmo, ti rimando a questa dettagliata presentazione

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea

Taggedbusinessreinforcement learninguse cases


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