Curiosity driven AI – la curiosità uccide il gatto ma non la macchina

Curiosity driven AI: algoritmi dotati di motivazione intrinseca.

Cosa vuol dire Curiosity diven AI? La ricerca e l’innovazione in AI ci ha oramai abituato a novità e breakthru praticamente ogni giorno. Oramai siamo quasi abituati ad algoritmi che sanno riconoscere scene e ambienti in tempo reale e muoversi di conseguenza, che sanno comprendere il linguaggio naturale (NLP), imparare il lavoro manuale direttamente dall’osservazione, “inventare” video con personaggi noti ricostruendo la mimica sincronizzata all’audio, imitare la voce umana in dialoghi anche non banali, e persino a sviluppare nuovi algoritmi di AI da soli (!).

La gente mette il becco dappertutto. L’uomo non discende dalla scimmia bensì dalla gallina.  (L’ombra del vento – Carlos Ruiz Zafón)

Tutto molto bello e impressionante (o inquietante, a seconda dei punti di vista), ma c’era ancora qualcosa che mancava: in fondo, anche con la capacità di perfezionarsi fino a raggiungere risultati paragonabili o anche superiori a quelli degli esseri umani, tutte queste performance partivano sempre da input umani, ovvero sono sempre gli umani a decidere di cimentarsi in un dato task, a preparare gli algoritmi, e a “spingere” le AI verso una data direzione. In fondo anche automobili totalmente autonome hanno pur sempre bisogno di ricevere una destinazione da raggiungere. In altre parole, non importa il livello di perfezione nell’esecuzione o di autonomia nel raggiungere un obiettivo: la motivazione rimane sostanzialmente umana.

…non importa il livello di perfezione nell’esecuzione o di autonomia nel raggiungere un obiettivo: la motivazione rimane sostanzialmente umana.

Cos’è la motivazione? Da un punto di vista psicologico è la “molla” che ci spinge verso un determinato comportamento. Senza addentrarci nella miriade di teorie psicologiche a riguardo (l’articolo di Ryan e Deci pò essere un buon punto di partenza per chi è interessato ad approfondire, oltre alla voce di Wikipedia), possiamo genericamente distinguere tra motivazione estrinseca, dove l’individuo è motivato da ricompense esterne, e motivazione intrinseca, dove la spinta ad agire deriva da forme di gratificazione interiore.

Queste “ricompense” o gratificazioni sono convenzionalmente chiamati “rinforzi“, che possono essere positivi (premi), o negativi (punizioni), e sono un meccanismo potente di apprendimento, quindi non sorprende più di tanto che sia stato sfruttato anche nel Machine Learning,

Reinforcement Learning

AlphaGo di DeepMind è stato l’esempio più stupefacente dei risultati che si possono raggiungere con il reinforcement learning, e prima ancora la stessa DeepMind aveva presentato risultati sorprendenti con un algoritmo che imparava a giocare ai videogames da solo (l’algoritmo non sapeva praticamente nulla delle regole e dell’ambiente del gioco).

Tuttavia, questo genere di algoritmi prevedeva una forma di rinforzo immediato per l’apprendimento: tentativo giusto – premio – maggiore probabilità di ripeterlo – tentativo sbagliato – punizione – minor probabilità di ricascarci. La macchina riceve istantaneamente un feedback sull’esito (es. il punteggio), per cui è in grado di elaborare strategie che portino ad ottimizzare verso la maggior quantità di “premi” possibile. Questa situazione in un certo senso assomiglia al dilemma degli incentivi aziendali: sono molto efficaci, ma non sempre nella direzione che ci si sarebbe aspettata (celebre l’esempio dell’incentivo ai programmatori per linee di codice, che risultò efficacissimo nell’incoraggiare a produrre codice lunghissimo, spesso a scapito della qualità).

Image result for reinforcement learning

Tuttavia, nel mondo reale i rinforzi esterni sono spesso rari, o addirittura assenti, e in questi casi la curiosità può funzionare da rinforzo intrinseco (motivazione interna) per innescare un’esplorazione del’ambiente e imparare abilità che possono tornare utili successivamente.

Lo scorso anno un gruppo di ricercatori dell’università di Berkeley pubblicò un lavoro notevole, destinato probabilmente a spingere ancora in avanti i limiti del machine learning, il cui titolo era Curiosity Driven Exploration by Self-supervised Prediction. La curiosità in questo contesto veniva definita come “l’errore nella capacità di un agente di prevedere la conseguenza delle proprie azioni in uno spazio di caratteristiche visive apprese da un modello di dinamica inversa auto-supervisionato”. In altre parole, l’agente si crea un modello dell’ambiente che sta esplorando, e l’errore nelle previsioni (differenza tra modello e realtà) consisterebbe nel rinforzo intrinseco che incoraggerebbe la curiosità di esplorazione.

La ricerca prevedeva tre differenti settings:

  • “Sparse extrinsic reward”, ovvero rinforzi estrinseci forniti con bassa frequenza.
  • Esplorazione senza rinforzi estrinseci.
  • Generalizzazione di scenari inesplorati (es. nuovi livelli del gioco), dove la conoscenza acquisita dalla precedente esperienza agevola un’esplorazione più veloce che non ripartire da zero.

Come si vede dal video qui sopra, l’agente dotato di curiosità intrinseca riesce a completare senza problemi il livello 1 di SuperMario Bros e VizDoom, mentre quello che ne è sprovvisto tende a scontrarsi spesso con le pareti, o incastrarsi in qualche angolo.

Intrinsic Curiosity Module (ICM)

Quello che propongono gli autori è l’Intrinsic Curiosity Module (ICM), che si avvale della metodologia dei gradienti asincroni A3C proposta da Minh e coll. per la determinazione delle policy da perseguire.

Schema concettuale di ICM. Il simbolo αt indica una determinata azione nell’istante t, pi rappresenta la policy seguita dall’agente, rè il rinforzo estrinseco, ril rinforzo intrinseco, sè lo stato dell’agente in un determinato istante t, mentre E rappresenta l’ambiente esterno.

Qui sopra ho riproposto il diagramma concettuale del modulo: a sinistra mostra come l’agente interagisce con l’ambiente in relazione alla policy e ai rinforzi che riceve. L’agente si trova in un determinato stato st, ed esegue l’azione αt in accordo con il piano π1 . L’azione αt riceverà eventualmente rinforzi intrinseci ed estrinseci (ret+rit), e modificherà l’ambiente E portando a un nuovo stato st+1… e così via.

A destra c’è uno spaccato di ICM: un primo modulo converte gli stati grezzi sdell’agente in feature φ(st) utilizzabili nell’elaborazione. Successivamente il modulo di dinamica inversa (inverse model) utilizza le features di due stati adiacenti φ(st) e φ(st+1) per predire l’azione che ha compiuto l’agente per passare da uno stato all’altro.

Contemporaneamente viene addestrato anche un altro sottosistema (forward model), che predice la prossima feature a partire dall’ultima azione dell’agente. I due sistemi vengono ottimizzati insieme, ovvero Inverse Model impara feature che sono rilevanti solo alle previsioni sulle azioni dell’agente, e Forward Model impara a fare previsioni su queste features.

E quindi?

Il punto saliente è che non essendoci rinforzi per features ambientali che non hanno rilevanza con le azioni dell’agente, la strategia imparata è robusta ad aspetti ambientali incontrollabili (vedi l’esempio con rumore bianco nel video).

Per capirci meglio, il vero rinforzo dell’agente qui è la curiosità, ovvero l’errore nella predizione degli stimoli ambientali: maggiore è la variabilità, maggiori saranno gli errori che l’agente farà nel predire l’ambiente, maggiore sarà il rinforzo intrinseco, mantenendo l’agente “curioso”.

Cinque pattern di esplorazione. I gialli sono relativi ad agenti addestrati col modulo di curiosità senza rinforzi estrinseci, mentre i blu sono esplorazioni casuali. Si può notare che i primi esplorano una quantità di stanze molto maggiore dei secondi

La ragione dell’estrazione delle features di cui sopra è che fare predizioni basate sui pixel non solo è molto difficile, ma rende l’agente troppo “fragile” rispetto a rumore o elementi poco rilevanti. Tanto per fare un esempio, se nell’esplorazione di un labirinto l’agente si trovasse davanti ad alberi con le foglie mosse dal vento, l’agente rischierebbe di “ipnotizzarsi” sulle foglie per la sola ragione che sono difficili da prevedere, trascurando tutto il resto. ICM invece consente di avere features estratte autonomamente dal sistema, in pratica in modo auto-supervisionato, risultando nella robustezza di cui parlavamo.

Generalizzazione

Il modello proposto dagli autori porta un notevole contributo alla ricerca sull’esplorazione curiosity-driven, in quanto utilizzando features autoestratte invece che i pixel per le predizioni, rendono il sistema quasi immune a rumore e a elementi irrilevanti, evitando di andare a cacciarsi in vicoli ciechi.

Ma non è ovviamente tutto qua: questo sistema è infatti in grado di utilizzare la conoscenza acquisita durante l’esplorazione per migliorare la performance. Nella figura sopra l’agente riesce a completare il livello 2 di SuperMario bros molto più velocemente grazie all’esplorazione “curiosa” effettuata nel livello 1, mentre in VizDoom riusciva a percorrere il labirinto molto velocemente senza andare a sbattere contro le pareti.

In SuperMario l’agente è in grado di completare il 30% della mappa senza alcun tipo di rinforzo estrinseco. La ragione però è che al 38% si trova un baratro superabile solo da una ben determinata combinazione di 15-20 tasti: l’agente cade e muore senza alcun tipo di informazione sull’esistenza di ulteriori porzioni di ambiente esplorabile. Il problema non è in sé collegato all’apprendimento per curiosità, ma è senz’altro uno scoglio da risolvere.

Note

1. La policy di learning, che nel caso specifico è il modello Asynchronous Advantage Actor Critic (A3C) di Minh e coll. Il sottosistema di policy è addestrato appunto per massimizzare i rinforzi ret+ri(dove reè prossimo allo zero).

Link

Richard M. Ryan, Edward L. Deci: Intrinsic and Extrinsic Motivations: Classic Definitions and New Directions. Contemporary Educational Psychology 25, 54–67 (2000), doi:10.1006/ceps.1999.1020.

In search of the evolutionary foundations of human motivation

D. Pathak et al. Curiosity-driven Exploration by Self-supervised PredictionarXiv 1705.05363

CLEVER MACHINES LEARN HOW TO BE CURIOUS (AND PLAY SUPER MARIO BROS.)

I. M. de Abril, R. Kanai: Curiosity-driven reinforcement learning with homeostatic regulation – arXiv 1801.07440

Researchers Have Created an AI That Is Naturally Curious

V. Mnih et al.: Asynchronous Methods for Deep Reinforcement Learning – arXiv:1602.01783

Asynchronous Advantage Actor Critic (A3C) – Github (codice sorgente)

Asynchronous methods for deep reinforcement learning – the morning paper

AlphaGo Zero Cheat Sheet

The 3 tricks that made AlphaGo Zero work

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.