La storia del cane falso eroe, e come ci aiuta a comprendere l’apprendimento per rinforzo

Dog and beefsteak

Dog, a fake hero

Nel 1908 il New York Times ha pubblicato un articolo dedicato ad un cane che ha imparato a ingannare il sistema.

Parigi, gennaio 1908. Un cane trova un modo veloce per guadagnarsi succulente bistecce. Qui l’articolo.

Questo cane, che viveva vicino alla Senna, si è trovato per caso nelle condizioni di salvare un bimbo che era caduto nel fiume. Impavido e coraggioso, saltando nel corso ha portato in salvo la povera creatura.

Come premio, la gente del luogo gli ha donato con affetto una bella bistecca, che nel 1908 doveva essere una rarità per un cane come lui (o lei?).

Il miracolo del cane eroe

Poco tempo dopo, un altro bambino cade nella Senna. Di nuovo, il cane che vive nei paraggi si lancia al salvataggio, guadagnandosi una seconda bistecca gustosa.

Settimana dopo settimana, il numero di bambini salvati e bistecche donate continuava ad aumentare, senza che la cosa destasse grandi sospetti. Forse, qualcuno iniziava a chiedersi come mai tutti quei bambini e bambine continuavano a cadere nel fiume, ma tutto sommato venivano tutti salvati dal cane eroe che viveva sulla Senna, per cui non ci si doveva preoccupare troppo.

O forse no?

Il caso si affievolisce, finché qualche mese più tardi in NYT titola:

Dog, a fake hero!

Butta i bambini nella senna per guadagnarsi bistecche

New York Times, 1908

Cosa era successo?

Il cane, avendo ricevuto una prima conferma del collegamento tra ‘salvare il bambino‘ e ‘ricevere una bistecca‘, aveva provato a replicare l’esperimento generando l’occasione. Avendo quindi spinto un ignaro fanciullo nella Senna, lo aveva salvato, ricevendo poi un secondo premio e nessuna punizione.

Non sappiamo se questa è una fake news dal passato o se è effettivamente esistito il cane falso eroe. Però, chiunque abbia un animale domestico può confermare che molti dei tentativi di educare animali domestici vanno a buon fine grazie a croccantini e premi. Alcuni poi hanno delle svolte inattese. Tipo il gatto che accende la luce nel mezzo della notte perché ha imparato che quando si accende la luce è ora di mangiare.

L’importanza del premio nell’apprendimento per rinforzo

Così come il nostro falso eroe, anche i modelli di deep learning che imparano tramite apprendimento per rinforzo decidono come agire in base a come la loro azione cambia lo stato del sistema, e come da questo nuovo stato possono guadagnare premi e riconoscimenti.

Abbiamo già visto qui che i modelli di apprendimento per rinforzo (Deep Reinforcement Learning) sono agenti capaci di muoversi in un ambiente reale o simulato. Il loro obiettivo è massimizzare il premio (reward) che possono ottenere agendo sull’ambiente, e in base a come questo premio aumenta nel tempo definiscono la loro strategia.

Apprendimento per rinforzo: l’agente fa un’azione, l’ambiente risponde con il nuovo stato e il premio.

L’agente modifica il comportamento dell’ambiente come il cervello modifica il comportamento del nostro corpo: c’è un agente dietro la guida autonoma delle auto, o dietro i robot di Boston Consulting.

Premi, stati e decisioni

Nel caso del nostro amico cane, la strategia che lui ha deciso di seguire è stata di generare occasioni per replicare azioni che precedentemente lo avevano portato ad un premio gradito. Non essendo stato penalizzato con qualche urlaccio e una pedata dopo aver lanciato il primo bimbo nella Senna, non ha registrato quel tipo di strategia come negativa ai fini dell’obiettivo (perché avrebbe dovuto? In fondo nessuno si è fatto male!), quindi ha reiterato la strategia ricevendo sempre più bistecche.

Allo stesso modo, nel deep reinforcement learning l’algoritmo cerca di massimizzare la sua reward, e procede a meno che le azioni che sta testando non lo portano ad una penalizzazione che fa quindi decrescere il premio finale.

Cosa si intende per premio? Il premio, o reward, è la valutazione numerica del nuovo stato dell’ambiente: dopo aver spinto una fanciulla nel fiume, la pancia del cane è più piena. Più lo stato è favorevole rispetto all’obiettivo (task) che l’agente deve portare a termine, più aumenta la reward. Nel caso del cane, il task è scontato e facile da intuire per chiunque abbia a carico un cucciolo costantemente affamato e affacciato alla ciotola.

La strategia quindi è studiata per portare l’ambiente a stati sempre più favorevoli per l’agente, che modifica l’ambiente circostante per raggiungere il suo obiettivo.

Un video che mostra come un agente impara a camminare. Vai Albert, siamo tutti con te!

Per aiutare l’agente a generalizzare il suo comportamento, è buona norma farlo interagire con ambienti e situazioni differenti: ecco perché in molti video si vedono scienziati malvagi spingere i pover robot mentre imparano a camminare. Spingere il robot significa metterlo nelle condizioni di poter imparare a gestire situazioni nuove (come Albert che passa di livello in livello).

Come definire un premio convincente?

L’agente valuta quanto l’ambiente è favorevole – o il livello di sua bravura – in base al task che gli è stato dato. Il task viene direttamente collegato al premio, ovvero alla reward, che aumenta tanto più il task è completato in modo corretto. Oltre che predisporre un premio, è possibile prevedere anche delle penalizzazioni, per evitare alcuni comportamenti (ad esempio, buttare i bimbi nel fiume).

Una buona reward è un indicatore crescente o decrescente, in modo che l’agente sappia se si sta avvicinando o allontanando dal suo obiettivo. La reward può ad esempio essere quanto precisa è una regolazione di processo rispetto alla regolazione umana, o quanto equidistante dalle pareti si sta muovendo il sistema, o quanto velocemente è in grado di concludere un percorso o un task.

Dunque…

L’apprendimento per rinforzo è la modalità di apprendimento che noi animali sfruttiamo per imparare. Definito un obiettivo e una modalità per valutare la bravura nell’obiettivo (premio o reward), un agente prende decisioni per modificare l’ambiente in modo più favorevole per il suo obiettivo. Allo stesso modo in cui il cane falso eroe ha imparato a buttare bimbi nella Senna per poi salvarli e ricevere bistecche.