User Tools

Site Tools


neurali:modello_actor-critic

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
neurali:modello_actor-critic [2017/06/27 05:34] profproneurali:modello_actor-critic [2020/06/08 22:20] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +< [[neurali:reinforcement learning]]
 +
 +Articolo: //A Spiking Neural Network Model of an Actor-Critic Learning Agent// di Potjans e altri 
 +
 +======Actor-critic model======
 +
 +È una variante sull'architettura del modello [[neurali:td-learning|TD-learnig]]
 +
 +Potjans la adotta con neuroni [[neurali:modelli di neuroni|Integrate-and-fire]] su [[neurali:Spiking Neural Network]].
 +
 +Problematiche:
 +  * per TD-learning è necessario il tempo discreto, mentre nelle dinamiche delle sinapsi sarebbe necessario il tempo continuo. Si vedrà che la soluzione adottata è... ????
 +  * per TD-learning manca la memoria della storia di tutti gli stati attraversati. Si vedrà che come soluzione si possono aggiungere connessioni ricorrenti RNN
 +
 +L'obiettivo dell';;;;agente;;;; è quello di massimizzare la ricompensa nel tempo.
 +
 +L';;;;agente;;;; svolge due lavori eseguendo due ruoli con due reti diverse:
 +  - La rete *Actor* è quella che stabiisce l'azione da eseguire in un certo ''stato''
 +  - La rete *Critic* è quella che valuta le conseguenze di tale azione, modificando V(s) del passo temporale <del>precedente</del> successivo.
 +
 +L';;;ambiente;;; (esterno) viene percepito e misurato tramite sensori di input. Il sistema elabora questi input all'interno della valutazione/stima dello stato. La stima dello stato e le eventuali ricompense vengono comunicate all';;;;agente;;;; . <del>Lo stato interno del sistema (sistema agente) cambia per poter rispondere ai cambiamenti dell';;;ambiente;;; esterno. </del>
 +
 +{{:neurali:potjans.png?500}}
 +
 +Nel precedente schema si possono osservare diversi passi discreti:
 +  - l'ambiente produce stimoli ambientali
 +  - gli stimoli (input) sono percepiti dalla rete che elabora una stima dello //stato attuale// del sistema
 +  - nel passo di acquisizione degli input, deve essere inibita (modulandola) la scelta di un'azione da eseguire (connessione inibitoria rossa)
 +  - nel passo di elaborazione/stima dello stato, i neuroni che valutano lo stato comunicano a quelli di //action// la **politica** migliore (Pgreco)
 +  - contemporaneamente, i neuroni che valutano lo stato, comunicano il valore V (positivo o negativo) del nuovo stato. Le connessioni Stato/Critic sono quelle che implementano la **funzione valore** (V)
 +  - Nel passo di attuazione, i neuroni di //Action// inviano l'azione scelta agli attuatori che agiscono sull'ambiente (modificandolo)
 +  - contemporaneamente, //Critic// conosce lo //stato attuale// **stimato**, e può fornire la ricompensa indiretta ([[neurali:dopamina]]) alle connessioni tra Stato e Action e tra Stato e Critic stesso. Quindi questo sistema non riceve una ricompensa esterna diretta perché non conosce lo stato esterno direttamente, ma quello stimanto indirettamente.
 +  - Si ritorna al primo passo... quando l'ambiente esterno produce nuovi stimoli, esso produrrà modifiche alla stima dello stato attuale.
 +
 +==== Plasticità stato-critic====
 +
 +Queste connessioni rappresentano la funzione valore V
 +
 +  - Le connessioni tra stato_attuale e critic sono fisse quando il sistema si trova in un determinato stato, sono plastiche per poco pochissimo tempo, quando cambia lo stato attuale. Dove prendo il segnale che mi notifica il momento del cambiamento di stato? Prendo il pre-sinaptic rate aggiungendo un passa basso......
 +  - I pesi sinaptici si dovrebbero modificare nel tempo **continuo**, ma TD learning è fatto per il discreto.
 +  - Critic è un previsore di ricompense? sono plastiche su se stesse?
 + 
 +La [[neurali:regola di apprendimento]] da applicare è simile alla regola di apprendimento differenziale di Hebbian, ma non si basa sulla simultaneità delle attività pre e post-sinaptiche, ma sui cambiamenti di frequenza dei neuoni
 +
 +==== Plasticità stato-actor ====
 +
 +Queste connessioni rappresentano la //politica// della scelta delle azioni (Pgreco)
 +
 +queste connessioni si aggiornano in un altro momento, cioè subito dopo la scelta dell'action.
 +
 +i pesi sinaptici sono proporzionali alla funzione valore, e si arriva a dire che sono proporzionali ai pesi sinaptici di stato-critic!
 +
 +
 +
 +
 +
 +
 +
 +
 +==== Temporal credit assignement problem ====
 +Cosa significa? Come distribuire le ricompense ricevute in uno stato dopo una azione? Le ricompense vanno distribuite termporalmente a tutti gli stati che ci hanno portato in questa situazione.
 +
 +
 +
 +{{:neurali:action-critic.png?500}}
 +