Utente:SalvatoreVcc/Sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
L'Algoritmo Definitivo
Titolo originaleThe Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
AutorePedro Domingos
1ª ed. originale2015
1ª ed. italiana2016
Generesaggio
Sottogenereinformatica
Lingua originaleinglese

L'Algoritmo Definitivo (The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World) è un saggio scritto da Pedro Domingos nel 2015.

L'opera descrive i numerosi aspetti del mondo del machine learning, all'interno del quale vengono identificate cinque scuole di pensiero, differenti l'una dall'altra per idee e metodi utilizzati nella creazione di algoritmi.

Obiettivo dell'autore è fornire una guida introduttiva allo studio del machine learning e tentare di unificare le cinque tribù in un unico, perfetto algoritmo: l'Algoritmo Definitivo.

La rivoluzione del machine learning e l'Algoritmo Definitivo[modifica | modifica wikitesto]

Domingos spiega, innanzitutto, cosa sia un algoritmo: una sequenza di istruzioni, precisa, univoca e ordinata, che dice ad un computer cosa fare. Il principale problema degli algoritmi è la complessità.

Il modo migliore per superarla è ricorrere al machine learning, l'apprendimento automatico, sempre più utilizzato anche dalle grandi aziende. Il machine learning capovolge tutto: si parte dai dati e dal risultato desiderato e si arriva all'algoritmo che consente il passaggio dagli uni all'altro.

Ipotesi centrale del libro è che: "Tutta la conoscenza - passata, presente e futura - può essere derivata da un singolo algoritmo di apprendimento universale[1]. Tale algoritmo è l'Algoritmo Definitivo.

All'interno del machine learning, esistono cinque tribù, ognuna delle quali con un proprio possibile Algoritmo Definitivo: simbolisti, connessionisti, evoluzionisti, bayesiani e analogisti.

Hume e il problema dell'induzione[modifica | modifica wikitesto]

I simbolisti si ispirano alla filosofia, alla psicologia e alla logica.

Il credo fondamentale della scuola simbolista del machine learning, fondata da Ryszard Michalski, Tom Mitchell e Jaime Carbonell, è che ogni forma di intelligenza possa essere ridotta a una manipolazione di simboli. Ragione principale della sua rapida diffusione è la propria semplicità.

Essa si basa sulla deduzione inversa, l'induzione, che consiste nel partire dai singoli fattori ed estendersi man mano, procedendo un elemento per volta.

Il filosofo David Hume, tuttavia, sosteneva l'impossibilità di giustificare razionalmente l'induzione, in quanto nulla potrebbe effettivamente autorizzarci a generalizzare ciò che non sappiamo da ciò che sappiamo. Questo pareva essere un enorme problema del machine learning, in grado di fargli perdere ogni efficacia.

La prima regola non scritta del machine learning, però, fu enunciata da Isaac Newton. Nei Principia, infatti, oltre alle tre leggi del moto, Newton enunciò quattro regole cui deve obbedire il metodo induttivo. La regola fondamentale era la terza, parafrasabile nel seguente modo: "Ciò che vale per tutto quello che osserviamo, vale in tutto l'Universo[2]. Domingos nota come tale regola, all'apparenza eccessivamente ottimista, sia stata da anni utilizzata con successo dalla scienza, specialmente in ambito medico e biologico, accrescendo le nostre conoscenze all'aumentare dei fatti considerati. Bisogna, quindi, applicare il metodo scientifico induttivo al machine learning.

Le principali difficoltà della deduzione inversa sono le informazioni quantitative e il costo computazionale elevato, che ne rende problematica l'estensione a insiemi di dati molto grandi. Per questo motivo, l'algoritmo induttivo preferito dai simbolisti è l'albero di decisione, che garantisce che ad ogni istanza corrisponda una sola regola. Il loro ingresso nel machine learning è stato favorito dalle ricerche di psicologi come Earl Hunt e J. Ross Quinlan, il più illustre rappresentante della scuola simbolista, che applicò gli alberi di decisione agli scacchi.

Le principali critiche mosse a questa scuola di pensiero provengono dai connessionisti, secondo cui sono tante le cose che il ragionamento formale non riesce a cogliere.

Come impara un cervello?[modifica | modifica wikitesto]

Il connessionismo si basa su neuroscienze e fisica.

Alla sua base si trova la cosiddetta "regola di Donald Olding Hebb". In sintesi, la regola afferma che: "Se due neuroni si accendono insieme, sono interconnessi[3]

Nella visione simbolista, tra simboli e concetti che rappresentano c'è una corrispondenza biunivoca. Le rappresentazioni connessioniste, invece, sono distribuite: ogni concetto è rappresentato da molti neuroni e ogni neurone partecipa alla rappresentazione di molti concetti diversi. Altra differenza tra l'apprendimento simbolista e quello connessionista è che il primo è sequenziale, il secondo parallelo: nella deduzione inversa si procede per passi, nei modelli connessionisti tutti i neuroni imparano insieme.

Il primo modello formale di un neurone, proposto nel 1943 da Warren McCulloch e Walter Pitts, assomigliava molto alle porte logiche dei computer. Una rete di questi neuroni poteva, dunque, compiere tutte le operazioni di un computer, ma non era in grado di imparare. Per farlo, bisognava associare dei pesi variabili alle connessioni tra neuroni. Il risultato fu il percettrone, inventato alla fine degli anni 50 da Frank Rosenblatt, uno psicologo di Cornell.

L'arrivo del percettrone scatenò all'epoca grande entusiasmo, ma esso si interruppe bruscamente quando un ingegnere della conoscenza, Marvin Minsky, pubblicò con il collega Seymour Papert "Perceptrons", opera in cui venivano analizzati i limiti del percettrone.

Il machine learning sembrava condannato al dimenticatoio, finché John Hopfield, un fisico, notò un'analogia tra il cervello e i vetri di spin, particolari materiali magnetici: lo spin di un elettrone reagiva al comportamento dei suoi vicini più o meno come fa un elettrone. Hopfield definì, quindi, un tipo di rete neurale che evolve nel tempo come un vetro di spin: la rete di Hopfield. D'un tratto, fu possibile applicare al machine learning un enorme numero di idee mutuate dalla fisica, che portarono ad un ritorno in auge del machine learning e dei percettroni.

Nell'algoritmo del percettrone, tuttavia, un output è giusto o sbagliato. Ciò non aiuta molto se abbiamo una rete di numerosi neuroni. L'Algoritmo Definitivo dei connessionisti è, per questo motivo, la retropropagazione, o backprop, più potente del percettrone, in quanto propaga in avanti il segnale e consente la modifica dei pesi dei neuroni in funzione di esso, con un output non binario, ma continuo. La backprop fu inventata nel 1986 da David Rumelhart, psicologo dell'Università della California di San Diego, con l'aiuto di Geoff Hinton e Ronald Williams. I primi grandi successi delle reti neurali furono la previsione dell'andamento dei mercati azionari e la capacità di guidare un'automobile.[4] La retropropagazione consente di procedere per strati, invece di dover aggiustare il peso di ogni singolo neurone, ma presenta comunque problemi: la difficile applicazione nel caso di entità più complesse, con un vasto numero di strati.

L'algoritmo di apprendimento della natura: l'evoluzione[modifica | modifica wikitesto]

Gli evoluzionisti si ispirano alla genetica e alla biologia evolutiva.

Le basi dell'evoluzione furono poste da Charles Darwin, ma l'autore della sua seconda ondata fu John Henry Holland, il quale creò un algoritmo genetico. Input principale di tale algoritmo è una funzione di fitness, che, dato un semplice programma candidato e un obiettivo da raggiungere, assegna al programma un punteggio numerico che riflette la sua capacità di raggiungere l'obiettivo. Fatto ciò, esso imita la riproduzione naturale, mediante crossover delle sequenze di bit, come se fossero cromosomi, in un punto a caso, creando una nuova generazione con un punteggio di fitness superiore alla precedente e ripetendo infine il processo.

Gli algoritmi genetici sono molto diversi dai percettroni multistrato. Nei primi, infatti, le scelte casuali abbondano, riuscendo, così, più facilmente a trovare qualcosa di realmente nuovo, ma diventando anche più difficili da analizzare.

A metà degli anni 80 l'interesse per il calcolo evoluzionistico prese il volo. Uno degli allievi migliori di Holland fu John Koza, che, tornando da una conferenza in Italia, ebbe l'idea di far evolvere non entità semplici, come avveniva fino a quel momento, ma programmi in piena regola, evitando, inoltre, di rappresentarli come sequenze di bit e distruggere potenzialmente subroutine perfette con crossover casuali. La programmazione genetica di Koza unì due "alberi" di programmi che si sono già riprodotti, scambiando due dei loro "sotto-alberi". Grazie a questa tecnica, l'apprendimento ne guadagnò in flessibilità, nonostante ci fosse una tendenza generale alla dilatazione, con "alberi" che diventavano sempre più grandi.

Sia gli evoluzionisti che i connessionisti si ispirano alla natura, ma in modo diverso: i primi perfezionano una struttura prodotta dall'evoluzione, gli altri costruiscono a mano una struttura semplice ma con molte connessioni.

Nella chiesa del reverendo Bayes[modifica | modifica wikitesto]

I bayesiani si fondano sulla statistica. Essi prendono il nome da Thomas Bayes, sacerdote inglese del XVIII secolo noto per il teorema di Bayes, utile per aggiornare il grado di confidenza in un'ipotesi all'arrivo di nuovi dati: se i nuovi dati sono constistenti con l'ipotesi, la sua probabilità aumenta; in caso contrario, diminuisce. Per i bayesiani, l'apprendimento è una semplice applicazione di questa regola.

Il bayesianesimo per come lo conosciamo oggi fu inventato da Pierre-Simon de Laplace, uno dei principali scienziati nel periodo napoleonico, interessato alla probabilità e intenzionato a rispondere allo scetticismo di Hume. La sua risposta era articolata in due parti. La prima consisteva nel principio di ragion sufficiente, secondo cui, ad esempio, se non abbiamo ragioni particolari per credere che il sole sorga di nuovo o meno, i due scenari sono equiparabili. La seconda parte consisteva nella constatazione di poter utilizzare, spesso con esiti positivi, il passato come guida per il futuro.

L'inferenza bayesiana consente di aggiornare le nostre credenze a priori in base ai nuovi dati disponibili e trasformarle nelle nostre credenze a posteriori. I bayesiani partono dall'osservazione che non sapremo mai con sicurezza quale sia l'ipotesi vera. Sono, però, diversi dal pensiero frequentista, in quanto non credono nell'esistenza di una verità oggettiva e considerano la probabilità come un livello di credenza soggettivo.

Tra i vari algoritmi di apprendimento che si servono del teorema di Bayes, ricordiamo il Classificatore Bayesiano Naif (Naive Bayes Classifier), che, data una causa assume che gli effetti siano indipendenti fra di loro, le Catene di Markov, create dal matematico russo Andrej Andreevič Markov applicando il calcolo delle probabilità alla ripetizione di consonanti e vocali nelle opere letterarie, e le reti bayesiane, create agli inizi degli anni 80 da Judea Pearl, docente di informatica all'Università della California di Los Angeles, resosi conto che una rete complessa di dipendenze tra variabili casuali non rappresentava un problema, a patto che ogni variabile dipendesse direttamente da poche altre.

Siete ciò che vi assomiglia[modifica | modifica wikitesto]

Gli analogisti ritengono che l'elemento fondamentale dell'apprendimento sia il riconoscimento delle situazioni simili. Questa è la meno compatta tra le cinque tribù, assomigliando più ad un gruppo di ricercatori uniti solo dalla fiducia nei giudizi di somiglianza come base per l'apprendimento.

L'algoritmo di apprendimento più semplice e veloce è il Nearest Neighbor, che, data, ad esempio, un'immagine, cerca la sua "vicina più prossima". Algoritmo analogo è il K-Nearest Neighbor, dove un esempio di test viene classificato facendo votare i suoi "k" vicini più prossimi: se l'immagine più vicina a quella caricata è un volto, ma le più vicine non lo sono, l'algoritmo decide che l'immagine caricata non è un volto.

Problema che affligge tutti gli algoritmi di apprendimento, ma, in particolare, il Nearest Neighbor è la dimensionalità. Quando le dimensioni sono poche, funziona bene, ma, al crescere di esse, la situazione precipita. Gli attributi significativi sono pochi e il Nearest Neighbor si confonde di fronte a quelli che non lo sono.

Imparare senza maestri[modifica | modifica wikitesto]

Dopo aver analizzato le varie scuole di pensiero del machine learning, Domingos si sofferma su ciò di cui bisogna cogliere l'essenza con un computer: la mente umana o, meglio ancora, la mente di un bambino.

Per un adulto, organizzare il mondo in oggetti e categorie è una seconda natura. Bisogna cercare un algoritmo che raggruppi spontaneamente oggetti simili o immagini diverse dello stesso oggetto: è il problema del clustering, uno dei più studiati nel settore.

Raggruppare numerose entità in un numero ridotto di cluster, tuttavia, è solo metà dell'opera; l'altra metà consiste nell'abbreviare la descrizione di ogni entità. Gli esperti di machine learning chiamano questo processo "riduzione di dimensionalità", fondamentale quando si ha a che fare con grandi volumi di dati. Spesso, infatti, bastano poche dimensioni per descrivere quasi tutta la variabilità. Esse sono identificate nel procedimento noto come "PCA", ossia "Analisi delle Componenti Principali".

Il clustering e la riduzione della dimensionalità ci avvicinano alle modalità di apprendimento umane, ma non completamente. Il bambino che impara, infatti, non si limita ad osservare passivamente, ma agisce, utilizzando le emozioni come guida. Tutti i learner analizzati finora sono guidati dalla gratificazione istantanea, ma esiste un altro settore: quello guidato dall'apprendimento per rinforzo. Idea fondamentale in questo tipo di apprendimento è che non tutti gli stati hanno una ricompensa, ma tutti gli stati hanno un valore. I learner basati sul rinforzo, tuttavia, quando si trovano in un certo stato per la prima volta non sanno cosa fare e, in aggiunta a ciò, è opinabile l'idea che esistano effettivamente due situazioni perfettamente identiche. Una soluzione può essere quella di applicare tale apprendimento ad uno dei learner esaminati in precedenza, ma anche in questo caso, a meno che il learner non sia estremamente semplice, sorgono difficoltà nel convergere su una soluzione stabile. Nonostante tutto, questa soluzione ha dato risultati degni di nota, come, ad esempio, l'esecuzione di videogiochi, il parcheggio di un'auto in retromarcia, il controllo di ascensori e tanti altri. [5]

I pezzi del puzzle trovano il loro posto[modifica | modifica wikitesto]

Il primo passo verso l'Algoritmo Definitivo è la combinazione di più learner.

Si parla di "metalearning" quando si tratta di apprendimento su learner. Il metalearner può essere un learner qualsiasi. Forme di metalearning sono lo stacking e il bagging. Uno dei metalearner più ingegnosi è il boosting, che, invece di combinare learner diversi, applica ripetutamente ai dati lo stesso classificatore, usando ogni nuovo modello per correggere gli errori del precedente.

Il metalearning dà ottimi risultati, ma non combina i modelli in maniera particolarmente approfondita e, inoltre, è molto costoso. Domingos crede che possa esistere un learner che faccia tutto da solo e che i vari pezzi del puzzle vadano in qualche modo incastrati fra di loro per formare tre sole componenti:

  1. Rappresentazione, ossia il linguaggio formale con cui il learner esprime i suoi modelli;
  2. Valutazione, cioè la funzione di calcolo che ci informa sulla bontà del modello;
  3. Ottimizzazione, ovvero l'algoritmo che cerca di identificare il modello con il punteggio più alto.

Il mondo che nascerà dal machine learning[modifica | modifica wikitesto]

Domingos conclude l'opera con alcune sue considerazioni su come cambierà il mondo una volta che qualcuno avrà creato l'Algoritmo Definitivo. L'autore si dimostra estremamente ottimista: l'uomo entrerà in un'epoca d'oro, nella quale farà enormi passi avanti, in tutti i settori, dall'economia alla medicina. Il sogno principale di Domingos, di cui parla svariate volte nel corso dell'opera, è sconfiggere il cancro, malattia che, come possiamo leggere nella dedica speciale prima dell'introduzione del libro, gli ha portato via la sorella.

Malattia che Pedro ritiene, senza dubbio, curabile, insieme a tante altre, con la creazione dell'Algoritmo Definitivo.

Note[modifica | modifica wikitesto]

  1. ^ Domingos, p. 49.
  2. ^ Domingos, p. 91.
  3. ^ Domingos, p. 121.
  4. ^ Domingos, p. 142.
  5. ^ Domingos, p. 260.

Bibliografia[modifica | modifica wikitesto]