SARSALo stato–azione–ricompensa–stato–azione (SARSA) è un algoritmo di apprendimento di una funzione di policy per i processi decisionali di Markov, usato nelle aree dell'apprendimento per rinforzo e dell'apprendimento automatico. Fu proposto da Rummery e Niranjan[1] col nome di "Modified Connectionist Q-Learning" (MCQ-L). L'acronimo alternativo e con cui oggi è più noto l'algoritmo, SARSA, fu proposto da Rich Sutton. Questo acronimo, infatti, sta a indicare che la funzione principale di aggiornamento dei valori di Q dipende esclusivamente dallo stato attuale st, dall'azione at che l'agente sceglie, dalla ricompensa rt, dallo stato st+1 in cui si entra dopo aver effettuato at e dall'azione at+1 che l'agente sceglie nel nuovo stato; formalmente, quindi, SARSA rappresenta la quintupla (st, at, rt, st+1, at+1)[2]. Dunque SARSA è un algoritmo di apprendimento basato sul concetto di learning from interaction. Questo va a significare che gli agenti imparano a migliorare le proprie azioni interagendo con l’ambiente circostante e ricevendo feedback sotto forma di ricompense. Quindi tramite l'esperienza si modificano le interazioni future. SARSA tiene traccia dello stato corrente dell’ambiente, dell’azione intrapresa dall’agente, della ricompensa ricevuta, del prossimo stato raggiunto e dell’azione successiva scelta.[3] AlgoritmoL'agente interagisce con l'ambiente e aggiorna la sua funzione di comportamento basandosi sulle azioni prese e per questo motivo viene considerato un algoritmo di apprendimento on-policy. Il valore della funzione Q per una coppia stato-azione (st,at) viene aggiornato calcolando una funzione di errore e tenendo conto del tasso di apprendimento alfa. I valori della funzione Q rappresentano il valore atteso della ricompensa all'iterazione successiva, eseguendo l'azione at sullo stato corrente st; questo valore viene sommato alla ricompensa futura, quella ottenuta eseguendo at+1 su st+1 ed è possibile pesare il contributo di questa ricompensa attraverso il fattore di sconto gamma. Importanza di SARSA nel Reinforcement LearningSARSA ha e riveste un assoluto ruolo cruciale nel reinforcement learning per diverse ragioni chiave:[4]
IperparametriTasso di apprendimento αCambiando il valore del tasso di apprendimento è possibile modificare il contributo dell'errore stimato a ogni iterazione: un fattore pari a 0 equivale a non apprendere nulla, mentre con un valore di alfa uguale a 1 si considera solo l'osservazione più recente. Fattore di sconto γIl fattore di sconto determina l'importanza delle ricompense future. Un valore di gamma uguale a 0 rende l'agente "opportunista", in quanto considera solo la ricompensa attuale r; al contrario, un valore di gamma prossimo a 1 permette di cercare ricompense anche a lungo termine. Per valori maggiori di 1 i valori di Q possono divergere. Note
|