Blog.

Exploration Policies: ε-greedy policy | Reinforcement Learning


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

exploration-policies-exploration-policy-reinforcement-learning-machine-learning-data-science-markov-decision-process

Le exploration policies costituiscono l’ultimo elemento teorico mancante nella serie di argomenti introduttivi al magico mondo del Reinforcement Learning.

Prima di procedere, un attimo di ambientazione.

Come ben sai, su questo blog, a spiegazioni impegnative siamo soliti associare brevi interruzioni di natura ludica.

Un elemento ricorrente è senza dubbio la metafora del marinaio del capitano.

Ci piace intendere il nostro studio di machine learning, data science e tutela della privacy come un viaggio senza fine, ricco di tappe e incantevoli luoghi da scoprire.

A volte indossiamo i pani dei giovani mariani inesperti che obbediscono con rigore ed efficienza agli ordini del capitano.

Altre volte sulla nostra testa abbiamo il cappello da capitano: abbiamo il dovere di tenere la rotta quando tutti sembrano averla smarrita, il dovere di guidare, di pianificare e decidere.

Oggi però il capitano ha lasciato il posto a un alpinista.

Con la nave attraccata al lontano porto, abbiamo deciso di esplorare l’entroterra e il mistico pesaggio montano.

Proprio mentre scrivo queste parole, mi trovo in un paese di frontiera. A 1800 metri sul livello del mare, poco oltre il confine francese ho dinanzi a me le splendide vette di Monginevro.

Contemplo la bellezza di questo paesaggio dall’ampia vetrata del soggiorno di casa, mentre una finestra socchiusa lascia entrare le gelide brezze che lentamente ghiacciano i poveri piedi scoperti.

Un silenzio avvolgente echeggia in ogni dove: si ode solo qualche cicala lontana e il leggero bisbiglio dei vicini.

Una pace che permane corpo e mente lasciando affiorare pensieri profondi, affogati dal rumore caotico della vita quotidiana.

E quest’altro suono? Forse, sono le gocce che cadono sul tetto in legno.

Qualche lampo di una vicina tempesta illumina a intermittenza il buio della stanza, appena attenuato dalla luce dello schermo e l’illuminazione della tastiera.

È con questo clima che ho intenzione di parlarti di un nuovo argomento: exploration policies in Reinforcement Learning

Exploration policies

L’approccio di Q-Learning, che abbiamo avuto modo di studiare nel precedente post, può funzionare solo se la policy esplorativa esplori accuratamente l’intero MDP.

Sebbene una policy puramente casuale garantisce la visita di ogni stato e ogni transizione multiple volte, il tempo richiesto per il completamento dell’operazione è significativamente alto.

Abbiamo allora diverse soluzioni. Vediamo assieme

ε-greedy policy

La prima soluzione, prevede l’impiego della così detta ε-greedy policy.

Per ogni step questa policy agisce casualmente con probabilità ε o greedily (= avidamente) con probabilità 1 – ε andando in questo caso a optare per l’azione con Q-Value più alto.

Il principale vantaggio di usare una ε-greedy policy anziché una puramente casuale è legato all’incremento dell’efficienza.

Questa policy spende più tempo a esplorare le aree maggiormente interessanti dell’ambiente, poiché le stime dei Q-Values diventano progressivamente migliori.

Allo stesso tempo una ε-greedy policy ha una certa flessibilità, data dall’agire in modo casuale, attraverso cui esplorare regioni sconosciute del MDP.

È comune definire un valore di ε iniziale alto, anche 1.0, per poi ridurlo gradualmente, portandolo ad esempio a 0.05.

Bonus creativo

La seconda soluzione è impiegare quello che ho personalmente definito (i.e. È una definizione di bassissima attendibilità) “bonus creativo”.

Creatività everywhere.

Curiose definizioni a parte, questo approccio permette di “incoraggiare” la policy a compiere azioni rare invece di fare affidamento al puro caso nell’esplorazione dell’ambiente.

Questo metodo può essere implementato direttamente nel processo di stima dei Q-Value.

A livello pratico, contiamo quante volte una specifica azione a’ è stata compiuta nello stato s’ e integriamo questo valore con una funzione esplorativa (exploration function) che attraverso un parametro controlla quanto l’agente sia attratto dall’incognito, ciò a lui sconosciuto.

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea.

Taggedmachine learningreinforcement learningteoria


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