Pensiamo alle seguenti situazioni:
- Stai insegnando a un robot a giocare a ping pong
- Stai insegnando un programma per calcolare la radice quadrata
- Stai insegnando matematica a un bambino a scuola
Queste situazioni (cioè l'apprendimento supervisionato) e molte altre hanno una cosa (tra le altre) in comune: lo studente ottiene una ricompensa in base alle sue prestazioni.
La mia domanda è: come dovrebbe essere la funzione di ricompensa? C'è una risposta "migliore" o dipende dalla situazione? Se dipende dalla situazione, come si determina quale funzione di ricompensa scegliere?
Ad esempio, prendi le tre seguenti funzioni di ricompensa:
- La funzione
A
dice:- sotto un certo punto, il male o il peggio sono gli stessi: non ottieni nulla
- c'è una chiara differenza tra quasi buono e perfetto
- La funzione
B
dice:- ricevi una ricompensa linearmente proporzionale alla tua performance
- La funzione
C
dice:- se la tua performance è pessima, va bene, hai fatto del tuo meglio: otterrai comunque un premio
- non c'è molta differenza tra perfetto e quasi buono
Intuitivamente, penso A
che renderebbe il robot molto concentrato e imparerebbe il modello esatto, ma diventerebbe stupido quando si tratta di modelli simili, mentre C
lo renderebbe più adattabile al cambiamento a costo di perdere la perfezione.
Si potrebbe anche pensare a funzioni più complesse, solo per mostrarne alcune:
Quindi, come si fa a sapere quale funzione scegliere? E 'noto che il comportamento sarebbe emerso da (almeno) di base A
, B
e C
le funzioni?
Una domanda secondaria è: sarebbe sostanzialmente diverso per robot e bambini umani?
A
, il robot poteva diventare estremamente bravo nell'esatto compito, ma terribile in compiti simili ma leggermente diversi. Questa è solo la mia ipotesi però.
X
mi ha dato il miglior risultato", anche se non perfettamente corretta, darebbe una grande regola empirica.