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


Vita 3.0 - Max Tegmark

Vita 3.0
Max Tegmark



Dopo aver letto il saggio “Percezioni” di Beau Lotto che mi ha aggiornato sullo stato dell’arte delle neuroscienze, il libro postumo “il fiume della conoscenza “ di Oliver Sachs, scritto nella sua prosa delicata ed empatica, che tratta tra gli altri argomenti l’essenza stessa del fenomeno che ne da il titolo, “L’algoritmo definitivo” di Pedro Domingos, un’introduzione all’AI alle reti neurali ed al machine learning (abbastanza complicato per le mie nozioni), non poteva mancare questo saggio che si interroga sul significato dell’AI in relazione al genere umano
Lo trovo scorrevole e di facile lettura (forse perché le difficoltà nell’assimilare i concetti del saggio precedente hanno ... spianato la strada)

Si parte con la definizione delle 3 fasi della vita.
La vita è definita come un processo che può conservare la propria complessità e replicarsi: ciò che viene replicato non è la materia (composta da atomi) ma l’informazione (fatta di bit) che specifica come sono configurati gli atomi
La complessità crescente della vita è causata dall’evoluzione che ricompensa la vita abbastanza complessa da prevedere e sfruttare le regolarità del proprio ambiente: al crescere della complessità di un ambiente si evolve una vita più complessa ed intelligente; questa vita più intelligente crea un ambiente ancora più complesso ecc ecc

Vita 1.0 (biologica): sopravvive e si replica
Non può riprogettare ne il proprio hardware ne il proprio software: entrambi sono determinati dal dna e cambiano solo per effetto dell’evoluzione su tempi molto lunghi 
Hardware e software derivano dall’evoluzione anziché da un progetto

Vita 2.0 (culturale): è in grado di progettare il proprio software, come apprendere nuove competenze anche complesse ed aggiornare la propria visione del mondo ed i propri fini
Hardware frutto dell’evoluzione, software in gran parte progettato
Siamo noi: le ns sinapsi immagazzinano circa 100 terabyte di info, il dna circa 1 gigabyte
Vita 2.0 è più intelligente di vita 1.0 e si adatta più velocemente alle trasformazioni ambientali
Abbiamo sviluppato tecnologie molto potenti, ma il limite stà nell’attuale incapacità di determinare la lunghezza della ns vita ad es, memorizzare un’intera enciclopedia o viaggiare nello spazio senza astronavi

Vita 3.0 (tecnologica): non esiste ancora sulla terra
Riprogetta anche il proprio hardware senza aspettare i tempi lunghi dell’evoluzione
È padrona del proprio destino e libera dai vincoli della sua evoluzione 

I confini sono naturalmente sfumati:
V1.0 possono essere i batteri
V1.1 ad es i topi (limiti nell’apprendimento)
V2.0 gli umani attuali
V2.1 umani con aggiornamenti hardware secondari (membra artificiali, pacemaker, ecc)
V3.0 è controverso quando si possa manifestare
Secondo alcuni sarà un risultato dell’IA già entro un secolo, in particolare IAG (generale), visto che quelle specializzate già esistono e superano le capacità umane

Gennaio 2015 convegno a Puerto Rico sul futuro della IA

Intelligenza: capacità di realizzare fini complessi
IA: intelligenza non biologica
Intelligenza ristretta: capacità di raggiungere un insieme limitato di fini (attuale IA)
Intelligenza generale: capacità di raggiungere qualsiasi fine compreso l’apprendimento (l’algoritmo finale titolo del libro letto in precedenza: un learner generale)
Intelligenza universale: capacità di acquisire un’intelligenza generale dato l’accesso a dati e risorse
IAG: capacità di svolgere qualsiasi compito cognitivo almeno altrettanto bene di un umano
Super intelligenza: intelligenza generale molto al di sopra del livello umano
IA amichevole: super intelligenza i cui fini sono allineati con i nostri
Esplosione dell’intelligenza: automiglioramento ricorsivo che porta rapidamente ad una superintelligenza
Singolarità: esplosione dell’intelligenza
Universo: regione di spazio da cui la luce ha avuto il tempo di raggiungerci nel corso dei 13,8 miliardi di anni trascorsi dal Big Bang

Sfatiamo alcuni miti:
nessuno sa quando e se si potrà manifestare la super intelligenza 
L’IA non può essere malvagia: semplicemente potrebbe divenire competente con fini non allineati ai nostri (es produzione graffette)
I robot non sono l’incarnazione della AI: ad es una AI con fini non allineati ai ns non ha bisogno di robot per distruggerci
L’AI invece potrebbe benissimo controllare gli esseri umani (come noi controlliamo le tigri perché siamo più intelligenti)
Le macchine possono avere un obiettivo (as es missili a ricerca di calore)
La preoccupazione reale è lavorare adesso per pianificare una futura realizzazione di una super intelligenza sicura (per noi)

La materia diventa intelligente (esplosione di intelligenza)
Nei 13,8 mld di anni, materia stupida e senza vita è diventata intelligente, cioè capace di realizzare fini complessi. L’intelligenza è neutra: può servire per realizzare fini considerati sia buoni che cattivi
Inoltre tendiamo ad antropizzare la difficoltà dei compiti: diciamo che riconoscere un viso è più facile di moltiplicare due numeri di 8 cifre. Vero per noi ma l’opposto per i computer 

Paradosso di Moravec

Per ora le macchine non sono in grado di progettare IA
Il perfezionamento è causato da esseri umani
Quando sarà superato questo limite si parla di singolarità 

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 ...