Quale funzione di ricompensa si traduce in un apprendimento ottimale?


13

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:

inserisci qui la descrizione dell'immagine

  • La funzione Adice:
    • 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 Bdice:
    • ricevi una ricompensa linearmente proporzionale alla tua performance
  • La funzione Cdice:
    • 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 Ache renderebbe il robot molto concentrato e imparerebbe il modello esatto, ma diventerebbe stupido quando si tratta di modelli simili, mentre Clo renderebbe più adattabile al cambiamento a costo di perdere la perfezione.

Si potrebbe anche pensare a funzioni più complesse, solo per mostrarne alcune:

inserisci qui la descrizione dell'immagine

Quindi, come si fa a sapere quale funzione scegliere? E 'noto che il comportamento sarebbe emerso da (almeno) di base A, Be Cle funzioni?


Una domanda secondaria è: sarebbe sostanzialmente diverso per robot e bambini umani?


Dubito che un robot diventerebbe stupido facendo sempre la stessa cosa o una cosa simile, a meno che non sia cibernetico.
ott--

@ott, non intendevo questo. Quello che intendevo era con una funzione di ricompensa simile a quella A, il robot poteva diventare estremamente bravo nell'esatto compito, ma terribile in compiti simili ma leggermente diversi. Questa è solo la mia ipotesi però.
Shahbaz,

Ah, ok, capisco. Stai pensando al tennis, ad esempio
ott--

Forse la teoria alla base di questo potrebbe essere complicata, ma una risposta che dice "Ho pensato a diversi compiti per molti robot e spesso la funzione Xmi ha dato il miglior risultato", anche se non perfettamente corretta, darebbe una grande regola empirica.
Shahbaz,

Risposte:


5

Risposta breve: il più forte effetto di rinforzo deriva dalla consegna di una preziosa ricompensa su un programma intermittente (casuale).

Versione più lunga: un aspetto della tua domanda riguarda il condizionamento operante , almeno per quanto riguarda l'insegnamento della matematica a un organismo complesso. Applicarlo all'apprendimento automatico è noto come apprendimento di rinforzo .

L'economia (secondo la risposta di jwpat7 ) affronta solo una parte della storia del rafforzamento. La funzione Utilità ti dice quale premio ha il più forte effetto di rinforzo (maggiore impatto sul comportamento) in un determinato contesto. È lode? cioccolato? cocaina? stimolazione elettrica diretta ad alcune aree del cervello? Principalmente la mia risposta riguarda l'effetto del contesto, assumendo una data utilità di ricompensa.

Per organismi / comportamenti complessi, la pianificazione della ricompensa è importante almeno quanto l'utilità della ricompensa:

  • Un "programma di ricompensa ad intervallo fisso" è il modo meno efficace per modificare il comportamento con una determinata quantità di ricompensa (ti darò $ 10 a settimana se manterrai la tua camera da letto ordinata). Pensa a Dole Bludger.
  • I programmi di ricompensa a rapporto fisso (ti darò $ 10 ogni sette giorni in cui hai una camera da letto ordinata) sono più efficaci degli intervalli fissi, ma hanno una sorta di limite di efficacia (il soggetto metterà in ordine la loro stanza sette volte quando hanno fame per $ 10, ma non diversamente). Pensa al mercenario.
  • Il modo più influente per consegnare un determinato premio con un "programma di rinforzo ad intervallo variabile" (ad es. Ogni giorno che riordini la tua camera da letto hai una possibilità 1/7 di ottenere $ 10). Pensa alla poker machine.

Se sei un supervisore dell'apprendimento con un budget di ricompensa fisso, per una determinata situazione di apprendimento, ci sarà un equilibrio ottimale tra dimensione della ricompensa (utilità) e frequenza. Probabilmente non è una fetta molto piccola di ricompensa a una frequenza molto alta, né una fetta molto grande di ricompensa consegnata molto raramente. Potrebbe anche essere una ricompensa di dimensioni casuali in un programma casuale - l'ottimale è solitamente determinato sperimentalmente per una situazione particolare.

Infine, il programma "ottimale" (frequenza casuale, quantità casuale {p (ricompensa), p (valore)}) varierà probabilmente nelle diverse fasi del processo di apprendimento. Ad esempio, un nuovo allievo potrebbe essere soggetto all'effetto "primato" (benvenuto! Avere un jelly bean) che diventa rapidamente ricompensa ad intervallo fisso se lo si ripete. Potrebbe esserci un effetto "recency" che ottiene più valore di rinforzo da una ricompensa consegnata nell'ultima prova ("finitura su una nota alta"). Nel mezzo, potrebbe esserci un "effetto di fede" cumulativo in cui quando uno studente diventa più esperto, l'ottimale potrebbe spostarsi verso probabilità più basse, maggiore utilità nel tempo. Ancora una volta, più cose da determinare empiricamente nella tua situazione.


Risposta molto interessante Ha molto senso.
Shahbaz,

Sto leggendo di nuovo questa risposta, e vorrei ancora dire quanto sia grande questa risposta! In effetti, lascia che ti dia un po 'di grazia!
Shahbaz,

6

"Apprendimento ottimale" è un termine molto vago ed è completamente dipendente dal problema specifico su cui stai lavorando. Il termine che stai cercando è " overfitting ": inserisci qui la descrizione dell'immagine

(La linea verde è l'errore nella previsione del risultato sui dati di addestramento, la linea viola la qualità del modello e la linea rossa è l'errore del modello appreso utilizzato "in produzione")

In altre parole: quando si tratta di adattare il comportamento appreso a problemi simili, il modo in cui è stato premiato il sistema è meno importante di quante volte lo si è ricompensato: si desidera ridurre gli errori nei dati di allenamento, ma non mantenerli in allenamento così a lungo che perde la capacità di lavorare su modelli simili.

Un metodo per affrontare questo problema è di dimezzare i dati di allenamento: utilizzare metà per imparare e l'altra metà per convalidare la formazione. Ti aiuta a identificare quando inizi a sovra-adattarsi.

Funzioni di ricompensa non lineari

La maggior parte degli algoritmi di apprendimento supervisionato prevede che l'applicazione della funzione di ricompensa produrrà un risultato convesso. In altre parole, avere minimi locali in quella curva impedirà al tuo sistema di convergere nel comportamento corretto. Questo video mostra un po 'di matematica dietro le funzioni di costo / ricompensa .


3

Questi problemi vengono affrontati, in una certa misura, dallo studio delle funzioni di utilità in economia. Una funzione di utilità esprime valori effettivi o percepiti di una cosa in termini di un'altra. (Mentre le curve mostrate nella domanda sono funzioni di ricompensa ed esprimono la quantità di ricompensa che verrà offerta per vari livelli di prestazione, funzioni di utilità dall'aspetto simile potrebbero esprimere la quantità di prestazioni risultante da vari livelli di ricompensa.)

Quale funzione di ricompensa funzionerà meglio dipende dagli equilibri tra il pagatore e l'esecutore. L' articolo della curva del contratto di Wikipedia illustra con le scatole di Edgeworth come trovare allocazioni efficienti di Pareto . Il teorema dell'utilità Von Neumann-Morgenstern delinea condizioni che assicurano che un agente sia razionale VNM e possa essere caratterizzato come avente una funzione di utilità. La sezione "Previsioni comportamentali derivanti dall'utilità HARA" dell'articolo Hyperbolic sull'avversione al rischio assoluto in Wikipedia descrive le conseguenze comportamentali di determinate funzioni di utilità.

Riepilogo: questi argomenti sono stati oggetto di enormi quantità di studi in economia e microeconomia. Sfortunatamente, l'estrazione di un breve e utile sommario che risponda alla tua domanda potrebbe anche richiedere un enorme lavoro o l'attenzione di qualcuno piuttosto esperto di me.


Questo è abbastanza complicato, non sono sicuro di averlo capito. Ma sei sicuro che la funzione di utilità dell'economia si applichi anche alla robotica? Nell'apprendimento supervisionato (di un robot), il pagatore in realtà non perde nulla. La ricompensa sarebbe spesso solo un numero che dice al robot quanto bene hanno svolto il compito.
Shahbaz,

1

La funzione di ricompensa ottimale dipende dall'obiettivo di apprendimento, cioè da cosa deve essere appreso. Per problemi semplici potrebbe essere possibile trovare una rappresentazione in forma chiusa per la funzione di ricompensa ottimale. In effetti, per problemi davvero semplici, sono sicuro che sia possibile anche se non conosco metodi formali per farlo (sospetto che la teoria dell'utilità possa rispondere a questa domanda). Per problemi più complessi, direi che non è possibile trovare una soluzione a forma chiusa.

Invece di cercare la funzione ottimale, potremmo cercare un esperto per una buona funzione di ricompensa. Un approccio per farlo è una tecnica chiamata Inverse Reinforcement Learning (IRL). Formula un problema di apprendimento come un problema di apprendimento di rinforzo in cui la funzione di ricompensa è sconosciuta e l'obiettivo del processo di apprendimento. L'articolo Apprendistato sull'apprendimento attraverso l'apprendimento di rinforzo inverso di Pieter Abbeel e Andrew Ng è un buon posto per iniziare a conoscere IRL.


0

Qualsiasi forma di apprendimento supervisionato è una ricerca diretta nello spazio politico. Cerchi di trovare la politica, quindi quale azione intraprendere, che fornisca la massima aspettativa di ricompensa. Nella tua domanda dai un premio in funzione della performance. Finché questa funzione è monotona, qualsiasi metodo che converge alla fine ti darà le massime prestazioni (anche rimanere con la tua terminologia).

La rapidità con cui converge il metodo è un'altra questione e può dipendere dalla curva. Ma penso che questo differirà da metodo a metodo.

Un problema completamente diverso è che per scenari più complessi le prestazioni non sono un semplice scalare e definirlo può essere piuttosto difficile. Qual è la funzione di ricompensa per essere bravo in matematica?


La rapidità con cui converge il metodo è un'altra questione e può dipendere dalla curva. , Beh, certo. Stavo cercando di capire in che modo la curva influenza l'apprendimento (e non se lo fa, perché so già che lo fa).
Shahbaz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.