User Tools

Site Tools


neurali:modello_actor-critic

< 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 TD-learnig

Potjans la adotta con neuroni Integrate-and-fire su 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:

  1. La rete *Actor* è quella che stabiisce l'azione da eseguire in un certo stato
  2. La rete *Critic* è quella che valuta le conseguenze di tale azione, modificando V(s) del passo temporale precedente 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 . Lo stato interno del sistema (sistema agente) cambia per poter rispondere ai cambiamenti dell'ambiente esterno.

Nel precedente schema si possono osservare diversi passi discreti:

  1. l'ambiente produce stimoli ambientali
  2. gli stimoli (input) sono percepiti dalla rete che elabora una stima dello stato attuale del sistema
  3. nel passo di acquisizione degli input, deve essere inibita (modulandola) la scelta di un'azione da eseguire (connessione inibitoria rossa)
  4. nel passo di elaborazione/stima dello stato, i neuroni che valutano lo stato comunicano a quelli di action la politica migliore (Pgreco)
  5. 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)
  6. Nel passo di attuazione, i neuroni di Action inviano l'azione scelta agli attuatori che agiscono sull'ambiente (modificandolo)
  7. contemporaneamente, Critic conosce lo stato attuale stimato, e può fornire la ricompensa indiretta (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.
  8. 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

  1. 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……
  2. I pesi sinaptici si dovrebbero modificare nel tempo continuo, ma TD learning è fatto per il discreto.
  3. Critic è un previsore di ricompense? sono plastiche su se stesse?

La 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/modello_actor-critic.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1