Imparare dalle macchine (e viceversa)

L’Intelligenza Artificiale offre sempre spunti interessanti per riflettere su noi stessi. Per prima cosa è bene che sappiate che io sono un fermo sostenitore dell’ IA forte e pienamente convinto che, prima o poi, sarà possibile replicare artificialmente una mente  cosciente di se. Questo non implica che tali agenti intelligenti debbano per forza avere meccanismi di pensiero simili ai nostri, dopotutto la storia scientifica ci insegna che tutte le idee umanocentriche sono sempre state demolite dall’evidenza dei fatti, è quindi poco furbo ipotizzare che il cervello umano sia l’unica forma di “coscienza” possibile nell’universo. Tuttavia il cervello umano è senza dubbio l’unico che conosciamo attualmente e, quindi, è naturale che gran parte dell’IA si affidi a quello come musa ispiratrice e come traguardo.

A sostegno di questa tesi c’è poi la constatazione che, in più di un caso isolato, l’AI è riuscita ad anticipare scoperte che le neuroscienze cognitive avrebbero fatto solo alcuni anni dopo. Un caso fra i tanti è quello delle reti neurali. Una rete neurale non è altro che un sistema di neuroni artificiali (che non sono altro che sommatori pesati collegati ad un meccanismo “a soglia”, ovvero la cui uscita si attiva solamente se l’ingresso supera un certo valore) strettamente collegati fra loro. Tale meccanismo, sebbene composto da elementi relativamente semplici, è in grado di svolgere compiti estremamente complessi come, ad esempio, guidare un auto per centinaia di miglia  (si veda il progetto ALVINN). Queste reti vengono addestrate tramite il meccanismo di retro-propagazione. Questa tecnica consiste, per farla breve, nel modificare i pesi in ingresso ai neuroni artificiali in base al valore di predizione dell’intera rete: ho un dato ingresso x, la rete risponde y, se il valore esatto è y allora la rete non subisce variazioni, se invece il valore giusto era z la rete viene modificata in proporzione alla differenza fra il valore predetto e il valore desiderato. Bene, questo processo è del tutto simile al meccanismo alla base dell’apprendimento nella gran parte degli agenti viventi (non solo l’uomo):  è stato infatti constatato come il cervello rilasci dopamina a seconda se un evento previsto si verifichi o no. L’apprendimento tramite il modello errore-predizione è stato quindi sviluppato dall’AI alcuni anni prima che tale modello venisse formalizzato dai neuroscienziati.

L’AI inoltre ci permette anche di rivalutare molte nostre capacità. Tutti noi sappiamo riconoscere volti o comprendere il linguaggio naturale, ragion per cui consideriamo queste due attività delle cose “facili”. Diversamente solo poche persone sanno giocare bene a scacchi e quindi concludiamo che questo sia un compito “difficile”. In realtà dopo oltre 50 anni di ricerca nelle intelligenze artificiali  abbiamo decine di programmi in grado di giocare stupendamente a scacchi ma ben pochi programmi in grado di riconoscere un volto con prestazioni paragonabili a quelle umane. Questo quindi ci mostra come, in realtà, il giudizio che diamo ai vari problemi sia spesso invertito nel caso delle AI.

Perché? Una prima risposta consiste nel valutare l’importanza di tali problemi. Riconoscere un volto e capire il linguaggio sono cose essenziali a livello evolutivo. Animali che non siano in grado di riconoscere un potenziale predatore o preda da un sasso o da una pozza di lava difficilmente raggiungono l’età adulta, è quindi prevedibile che nel corso dell’evoluzione si siano formati cervelli abilissimi a riconoscere figure forme e colori e meno a giocare a scacchi. Ipoteticamente, infatti, se uccidessimo in fasce tutti i bambini che non siano in grado di giocare a scacchi ad un livello accettabile ci ritroveremmo, fra qualche milione di anni, davanti a esseri dotati di un cervello incredibilmente bravo a giocare a scacchi e, probabilmente, meno bravi a riconoscere un volto.

Il problema dell’evoluzione è quindi cruciale quando cerchiamo di imitare il cervello umano. Dobbiamo sempre tenere presente che il nostro cervello è quello che è perché c’è stata, nel corso delle ere, una pressione evolutiva che lo ha spinto ad avere certe capacità e a non averne altre.

Il secondo punto risiede proprio nella rappresentazione e nel modo in cui essa viene generata. Spesso infatti pretendiamo troppo dalle macchine che progettiamo. Prendiamo ad esempio la percezione visiva. Quando ci troviamo difronte alla percezione visiva ci rendiamo subito conto del problema fondamentale che la divide da problemi “semplici” come il gioco degli scacchi: il rumore. Il gioco degli scacchi è infatti facilmente rappresentabile in termini puramente matematici, è possibile cioè togliere semplicemente tutti gli aspetti rumorosi, ovvero che non danno alcuna informazione aggiuntiva tipo la forma degli scacchi o il colore della scacchiera. Quando invece tentiamo di semplificare la visione vengono alla luce notevoli problemi e domande. Ad esempio il concetto di forma e di bordo: che cos’è una forma? Quand’è che un quadrato a cui arrotondiamo via via gli angoli, smette di essere un quadrato e diventa un cerchio? Come definiamo il bordo di un oggetto data la sua immagine? Sappiamo che le risposte a queste domande sono essenziali per la visione ma non abbiamo idea di come il cervello umano le calcoli.

Abbiamo un gran numero di algoritmi in grado di darci i contorni e  la forma di un oggetto ma tali algoritmi sono spesso complessi, macchinosi ed utilizzano equazioni matematiche non banali sull’intera matrice dell’immagine. Ma, oltre al fatto che tali algoritmi sono piuttosto imprecisi, non è così che funziona l’occhio umano. L’occhio, ad esempio, è in gran parte ceco ad eccezione di una piccola zona centrale. L’impressione di avere un unica grande immagine è del tutto illusoria e prodotta dalla mente. L’immagine quindi è un prodotto della mente non un input percettivo. Perché allora vogliamo che le macchine funzionino direttamente sull’immagine? Non sarebbe meglio concentrarsi su come creare questa immagine partendo da una migliore copia dell’occhio umano? Ad esempio utilizzando i meccanismi basilari dell’uomo quali visione spot (ovvero concentrata al centro)  e rilevatore di movimento nella periferia dell’occhio (che serve a direzionare istintivamente il punto “vedente” dell’occhio in direzione di qualcosa che è cambiato per aggiornare l’immagine mentale). Queste cose potrebbero insegnarci nuovi modi per valutare  figure e bordi (un bordo potrebbe essere segnalato da una variazione repentina della visione (spot) che si avverte mentre l’occhio si muove oppure la forma di un oggetto può essere elaborata anche dal modo in cui l’occhio percorre il suo bordo (infatti quando osserviamo un quadrato, capiamo che è un quadrato percorrendo con gli occhi il bordo del quadrato, non lo facciamo consciamente ma lo facciamo).

Insomma, la neuroscienza ha molto da imparare dall’intelligenza artificiale, ma anche  l’intelligenza artificiale apprende molto dalla prima. Le due discipline si trascinano a vicenda verso nuovi traguardi e molto possiamo aspettarci da entrambe nei prossimi anni. E’ con questa consapevolezza che potremo arrivare un giorno a trovare la chiave, il punto di svolta, quella scoperta che ci farà capire che la soluzione ce l’avevamo da sempre sotto gli occhi. O forse dietro.

5 comments on “Imparare dalle macchine (e viceversa)

  1. mi piace questo articolo. a dire il vero non ho molto da dire… apprezzato e basta :p

  2. Caro THeK3nger,

    seguo il tuo blog con estremo interesse e questo tuo articolo lo trovo davvero molto interessante.

    Solo su una parte mi trovo poco daccordo, sia per inclinazioni personali sia per gli studi che faccio (sono uno studente di Scienze Motorie e Sportive).

    “Ipoteticamente, infatti, se uccidessimo in fasce tutti i bambini che non siano in grado di giocare a scacchi ad un livello accettabile ci ritroveremmo, fra qualche milione di anni, davanti a esseri dotati di un cervello incredibilmente bravo a giocare a scacchi e, probabilmente, meno bravi a riconoscere un volto.”

    Ciò che non condivido è principalmente l’asserzione temporale “milione di anni”, oltre al fatto che non è necessario uccidere ma solo maturare un profondo cambiamento sociale.

    Nel campo delle Scienze Motorie il concetto di talento o comunque di attitude verso una particolare disciplina è, come si può facilmente intuire, tema di grande interesse.
    Ricerche neanche troppo recenti mostrano come il cervello umano sia estremamente plastico e come la sua capacità di adattamento si sia evoluta al punto da renderci specie dominante sul pianeta.

    Posso farti un esempio classico del mio campo e poi cerco di adattarlo al tuo esempio degli scacchi:

    Soggetto Y (non dotato di particolari abilità motorie note) apprende e matura, grazie alla propria storia bio-sociale, una grande mole di schemi motori che gli consente di eseguire una estrema varietà di movimenti complessi. Nonostante ciò il soggetto X non eccelle in tali attività perchè impiega molto tempo ad imparare tutte queste varianti di movimento.
    Arrivato ad un certo punto Y genera insieme ad X un figlio XY.
    Tale figlio avrà, se supportato adeguatamente dalla propria storia bio-sociale, ampie possibilità di eccellere nelle attività motorie maturate con fatica dal padre Y e dalla madre X, perchè alla nascita egli è già fornito di un partrimonio in termini di schemi motori regalatogli da madre e padre.

    Ciò ovviamente non significa il neonato di Micheal Jordan (supponendo che lo stesso si sia “fatto da solo”) è in grado di tirare a canestro quando è ancora in fasce ma sicuramente apprende tali gesti con molta più facilità rispetto al padre. Di contro se lo stesso figlio non sviluppasse quegli schemi motori, la sua progenie si ritroverebbe probabilmente nella medesima situazione del nonno.

    Mi sembra semplice applicare il medesimo esempio in analogia agli scacchi.

    Sintentizzando intendo dire che ambiente (sia biologico che sociale) nel quale l’essere si sviluppa altera in modo prepronderante la facilità di apprendimento delle medesime cose nella progenie.
    Ciò significa che, seppur il genoma umano sia identico in tutti per il 98 % e ogni uno di noi differisce dall’altro per il 2 % (motivo per il cui è stupido nel 2010 sentir ancora parlare di razze, visto anche che il concetto di “variazione clinale” ha già la sua bella età), l’ambiente altera in modo netto le predisposizioni del soggetto.

    Sicuramente milioni di anni ci vogliono per far si che il cervello si strutturi in modo completamente differente ma ciò è difficile che avvenga, visto che è molto più probabile la presenza, nell’uomo del futuro, di una nuova corteccia celebrale in aggiunta a quella già presente rispetto ad una mutazione strutturale e funzionale della stessa.

    Al momento il problema più grande sta nell’enorme complessità del cervello umano. A tutt’oggi Neuroscienze e Psicologia non coincidono pienamente, perchè se la prima osserva il fenomeno biologico la seconda osserva quello comportamentale, per cui è ciò che sta nel mezzo il grande enigma.
    Da questo punto di vista sono perfettamente d’accordo che sviluppo delle AI possa portare importanti scoperte per analogia nella neuro-psicologia e vice-versa.

    Grazie per l’attenzione e ancora complimenti per il blog.

    • Gran bel commento. 🙂

      Sono d’accordo con quello che dici, non volevo scendere in dettaglio nei meccanismi evolutivi, il mio è stato forse un eccesso di semplificazione. La questione è infatti estremamente complessa, il mio era un tentativo di mostrare che il nostro cervello sa fare bene delle cose perché esse sono funzionali alla vita (il gioco degli scacchi, ad esempio, è bello e divertente ma certamente non è indispensabile alla riproduzione). Un risposta abbozzata alla domanda “Perché il nostro cervello è fatto così?”.

      Ti ringrazio ancora del commento. Sono sempre bei spunti di riflessione. 🙂

      • Caro THeK3nger,

        grazie a te per il post e per la possibilità di replica che concedi ai tuoi lettori.

        Cercando di argomentare la domanda: “Perché il nostro cervello è fatto così?” c’è da dire che al momento questa è davvero un enigma da una tonnellata di oro (unico bene insieme al sudato lavoro ad aver vero valore universale sulla terra civilizzata); credo sia seconda solo a “Dio esiste?”.

        Filosofie a parte, credo che l’ipotesi più plausibile al momento sia che il cervello si sia sviluppato in tal maniera come risposta evolutiva all’ambiente (che ricordo essere sempre bio-sociale).

        Se disponiamo il sistema nervoso degli organismi conosciuti in diversi livelli di complessità otteniamo quella che ad oggi è intesa come “Scala Evolutiva”.
        Il sistema nervoso in quanto insieme di tessuti altamente specializzati compare quando il sistema endocrino non è più sufficiente a causa della vastità raggiunta dall’organismo nella sua interezza e per tanto serve un sistema maggiormente articolato e prestante in grado di sopperire a tali mancanze mantendo una adeguata integrazione con l’endocrino.

        Arrivati ad un certo grado di complessità il Sistema Nervoso è tale che le dimensioni dell’organismo poco contano (infatti l’essere umano è considerato più evoluto dell’elefante, anche se certi eventi sociali farebbero intendere ben altro).
        Per trovare una analogia al mondo informatico possiamo considerare il concetto di programma e sotto programma. Quando programmiamo, programmi molto semplici (organismi poco evoluti), una singola funzione è più che sufficiente, con un programma di dimensioni ben maggiori (organismi maggiormente evoluti), il lavoro è suddiviso attraverso diversi sotto-programmi detti funzioni. Una volta raggiunto un grado di complessità minimo tale da obbligarci a dividere il programma centrale (organismo) in diverse sotto-funzioni interagenti tra loro, la complessità dimensionale del programma stesso perde di significato perchè la metodologia di suddivisione è sostanziamente la stessa. A tal punto ad acquistare valore sono maggiormente le interazioni che si creano tra le singole funzioni, nonchè il grado di ottimizzazione delle stesse. Saranno queste a far compiere il salto di qualità al programma.

        Come già detto il problema fondamentale sta nella mancanza del tassello tra Neuroscienze (Cervello) e Psicologia (Mente), tassello che potrebbe avere dimensioni enormi in quanto probabilmente determinato dalle miliardi di interazioni sinaptiche che si possono formare.
        Le sperimentazioni sull’uomo sono ovviamente da escludere ma anche se queste fossero accettate si rivelerebbero probabilmente inutili perchè l’organizzazione sinaptica inter-via è totalmente indipendente da organismo ad organismo, ovvero tutti gli esseri umani abbiamo in linea di massima la medesima anatomia e fisiologia nervosa ma la nostra organizzazione mentale è solitamente diversa da individuo ad individuo, con somiglianze molto strette solo in gemelli aventi storia bio-sociale simile (motivo per cui i gemelli erano così ricercati per le sperimentazioni dagli scienzati nazisti).

        Ovviamente quanto detto è una grossa semplificazione della realtà e questo concetto di strutture a matrioska è applicabile a qualsiasi sistema dell’universo creato, basti pesare alla organizzanizzazione interna della cellula eucariote.

        Concludendo (finalmente dirà qualcuno :P), l’universo è pieno di cose meravigliose da comprendere e scoprire, tocca noi scegliere se voler cercare di capirle o meno coscenti che rinunciando potremmo perdere l’occasione di osservare l’operato quella scintilla che ha messo in moto l’universo.

        Grazie per l’attenzione e soprattutto grazie per i temi che affronti con estrema chiarezza, costanza e neutralità.