giovedì 26 luglio 2018

L’algoritmo definitivo - Pedro Domingos

L’algoritmo definitivo

Pedro Domingos




L’algoritmo definitivo del titolo è un machine learner universale, un moderno “sacro graal” e cioè un algoritmo in grado di programmare se stesso (in grado quindi di automatizzare le scoperte)


La diffusione dei learners oggi è globale: ogni volta che riceviamo un suggerimento da amazon, da facebook, twitter, netflix, praticamente quasi ogni volta che usiamo un PC, entra in gioco il machine learning

Una volta per ottenere che un pc svolgesse un qualsiasi compito era necessario scrivere un algorimo che definisse nei particolari cosa dovesse fare in ogni occasione

I learners invece capiscono direttamente dai dati cosa devono fare (i pc si “autoprogrammano”)

Quando Amazon vi consiglia un articolo nessuno ha inserito i vostri gusti nel sistema di suggerimento: un algoritmo li ha carpiti da solo basandosi sulla disponibilità dei dati di ciò che avete comprato in passato (determinante l’accessibilità al database storico delle vendite di amazon)

Tutto si basa sulla predictive analisys: per noi umani è facile prevedere dove arriverà la palla che ci è stata tirata (e di conseguenza afferrarla al volo senza dover risolvere un’equazione basata su una formula di fisica). Ci sono poi cose del tutto imprevedibili: in mezzo a queste due situazioni c’è un’enorme regione dove opera il machine learning

Per la stragrande maggioranza i learner sono un mistero: tutti sanno utilizzare Siri ma pochissimi sanno come funziona

Anche a persone preparate sembra che i learners  siano solo bravi a trovare correlazioni avendo a disposizione i big data (tra i quali le nostre impronte digitali, o gran parte di queste)

Ricordiamo il caso dell’algoritmo usato dai magazzini Target che ha fatto mandare a casa di una ragazzina pubblicità di prodotti per l’infanzia prima ancora che i genitori - e lei stessa - sapessero che era incinta (per l’algoritmo il suo profilo di comportamento su internet era molto simile a quello di una donna gravida!)

Oggi sono pochi a conoscere i componenti equivalenti di un learner ed ancora meno chi li sa usare

Questo saggio si propone di dare un “modello concettuale” (definizione di Don Norman) dei machine learners: con questa espressione si intende il minimo di conoscenza di una tecnologia di cui abbiamo bisogno per usarla efficacemente (ad es cio che ci insegnano a scuola guida per condurre con efficacia un automezzo)


È importante sapere che i learners non sono tutti eguali per cui i risultati, a partire dagli stessi dati, possono esser diversi.

Immaginiamo ad es di utilizzare gli algoritmi di amazon e di netflix per farci suggerire un nuovo libro che intercetti i ns gusti all’interno di una libreria tradizionale:

Amazon ci porterebbe in una zona che abbiamo già visitato

Netflix invece in una zona nuova ma alla fine ci farebbe trovare qualcosa di gradito

Il suo algoritmo ha una comprensione più dettagliata dei nostri gusti, quindi migliore di quello di Amazon, ma non per questo ad Amazon converrebbe adottarlo!

Il modello di business delle due realtà è diverso: 

Netflix non ha convenienza a vendervi block busters per i quali non ha particolari sconti negli acquisti, per cui si è “evoluto” per cercare di trovare un modo per suggerirci produzioni secondarie che intercettino i nostri gusti

amazon invece ha contratti vantaggiosi anche con le grandi case editrici e può “risparmiar fatica” attingendo ai sicuri best sellers

Il corollario di tutto ciò è che oggi chi veramente decide cosa leggerà il pubblico sono questi algoritmi! (Ci manipolano in un certo senso)

Ogni anno sono centinaia i nuovi algoritmi che vengono inventati, ma si possono raggruppare in 5 correnti:

1) simbolisti (si ispirano alla filosofia ed alla psicologia): apprendimento = inverso della deduzione

Algoritmo: la deduzione inversa

2) connessionisti: prendono spunto dalle neuroscienze e dalla fisica per compiere un’operazione di reverse engineering del cervello

Algoritmo: retropropagazione

3) evoluzionisti: si ispirano alla genetica e biologia evolutiva per realizzare simulazioni numeriche dell’evoluzione

Algoritmo: programmazione genetica

4) bayesiani: si basano sulla statistica, per cui sono convinti che apprendimento = forma di inferenza probabilistica

Algoritmo: inferenza Bayesiana

5) analogisti: psicologia e ottimizzazione matematica, sono convinti che si impari da estrapolazioni basate su criteri di somiglianza

Algoritmo: macchina a vettori di supporto


Ognuno di questi algoritmi è indicato per compiti specifici ma non per tutti: un algoritmo che combini le proprietà fondamentali di tutti e 5 (e quindi vada bene per assolvere tutti i compiti) sarebbe l’algoritmo definitivo del titolo


La rivoluzione del machine learning.

L’integrazione continua di nuovi algoritmi con quelli preesistenti (ad es gli aggiornamenti di un sistema operativo) ci pone di fronte a 3 rischi riconducibili ad un concetto unico: la complessità 

- la complessità spaziale: se l’algoritmo crece troppo di dimensioni in termini di memoria, il pc si blocca

- la complessità temporale: il tempo necessario ad ottenere un risultato. Se cresce troppo l’algoritmo è inutile

- la complessità umana: più è complicato l’algoritmo più è soggetto ad errori di programmazione, ed a un certo punto non riusciamo più a “immaginarlo nella sua intierezza” ed a prevedere errori di programmazione

Una soluzione a questi problemi di complessità può venire dal learner:

L’algoritmo classico ha un input (dati) un processo (le istruzioni che lo costituiscono) ed un output (il risultato)

Il learner funziona al contrario: si parte dai dati e dal risultato desiderato e si ottiene l’algoritmo necessario per passare dagli uni agli altri

In pratica i learners sono algoritmi che  creano altri algoritmi: i computer scrivono i programmi!


Ad es noi sappiamo scrivere a mano e guidare una macchina, ma sono capacità subcoscienti e non sappiamo spiegare come si fa ad un pc

Con un numero sufficiente di esempi un learner impara da solo (seguendo modalità differenti da quelle che usiamo noi, più adatte ai pc che alle nostre cellule)

Quindi prima caratteristica dei learner: per funzionare necessitano di tantissimi dati (big data)

La specialità di alcuni learner è la conoscenza, altri abilità pratiche

Il machine learning è indicato con termini diversi a seconda degli usi: pattern recognition, modellizzazione statistica, data mining, scoperta della conoscenza, predictive analisys, data science, sistemi adattivi, sistemi auto-organizzati ecc

Il machine learning è un settore dell’IA (che si propone di insegnare ai computer a fare ciò che attualmente gli esseri umani sanno fare meglio dei pc): ma in questo contesto l’apprendimento è la qualità più importante

Ecco una descrizione interessante dell’ecosistema dell’elaborazione dei dati:

Crawler: i suoi hd contengono una copia del web

Indicizzatore: crea elenco pagine in cui compare una data parola

Database: 

Algoritmi statistici e analitici: compattano e filtrano i dati e li trasformano in informazione

Learners: prendono l’informazione e la trasformano in conoscenza

Mentre l’informatica si basa sul pensiero deterministico, Il machine learning obbliga a pensare statisticamente (l’etichettatura di spam alle emails è sicura al 99%....)

La rivoluzione industriale ha automatizzato il lavoro manuale, quella informatica il lavoro intellettuale, il machine learning l’automazione stessa.

Le aziende quando superano una certa dimensione richiedono troppa complessità per poter fare a meno di un learner

Evoluzione: i pc hanno reso possibile internet che ha creato una valanga di dati da cui il problema della scelta illimitata. La valanga di dati attravero il learning risolve il problema della scelta illimitata

Il dark side di questa situazione è che anche se vi sembra di esser voi a scegliere, il 99,9% della selezione è stato fatto a monte dagli algoritmi

Infine il machine learning è un doping applicato al mondo scientifico: automatizza le scoperte disponendo di enormi moli di dati, li trasforma in conoscenza

La sfida è organizzare le informazioni in un tutto coerente

In passato gli scienziati si servivano di modelli limitati come la regressione lineare: ma sappiamo che la maggioranza dei fenomeni di questo mondo non sono rappresentabili con una retta.

I learners danno accesso ai modelli non lineari

In politica I learners sono stati usati dai tempi della rielezione di Obama. I modelli si stanno raffinando e presto permetteranno una rivoluzione copernicana: scegliere i candidati in base al profilo degli elettori (cosa che non è detto sia la migliore ndr)

Cyberwar: la debolezza dei learners è che se un attacco è di tipo mai visto non hanno esempi precedenti da cui imparare

Si limiteranno ad elaborare modelli di comportamento normale e segnalare le anomalie

Nsa: nei primi anni dello scorso decennio effettuava ricerche per parole chiave sui miliardi di comunicazioni intercettati ogni giorno.  

Attualmente usa learners combinati con la teoria dei giochi


Nessun commento:

Posta un commento

Luca Ricolfi - La società signorile di massa

Luca Ricolfi - La società signorile di massa Luca Ricolfi, professore di Analisi dei Dati all'Università di Torino, intitola con ...