blogtecaolivelli

Computer Science


Fonte: Le Scienze09 febbraio 2019Per una teoria generale delle reti neurali
I sistemi di intelligenza artificiale più avanzatisi basano sulle reti neurali, ispirate alleconnessioni tra i neuroni, il cui comportamentoè però in gran parte imprevedibile.Nuovi studi teorici stanno cercando di svilupparele fondamenta teoriche per collegarne lastruttura ai compiti che devono svolgeredi Kevin Hartnett/Quanta Magazinecomputer scienceintelligenza artificialeQuando progettiamo un grattacielo, ciaspettiamo che funzionerà secondo le specifiche:l'edificio sosterrà tanto peso e sarà in grado diresistere a un terremoto di una certa intensità.Ma per una delle tecnologie più importanti delmondo moderno in realtà stiamo costruendoalla cieca. Giochiamo con design diversi, armeggiamocon diverse configurazioni, ma finché nonfacciamo una sessione di test va non sappiamodavvero cosa possono fare e dove falliranno.Questa tecnologia è la rete neurale, che è allabase dei sistemi di intelligenza artificiale piùavanzati di oggi. Le reti neurali si stanno muovendosempre di più verso aree cruciali della società:determinano ciò che apprendiamo del mondoattraverso i social media, aiutano i medici adiagnosticare le malattie e influenzano persinoil tempo che passerà in prigione una personacondannata per un reato.Eppure "la migliore approssimazione a ciò chesappiamo è che non sappiamo quasi nulla dicome funzionano effettivamente le reti neuralie di come sarebbe una teoria davvero profonda",ha detto Boris Hanin, matematico della Texas A&MUniversity e visiting scientist alla FacebookAI Research, che studia le reti neurali.
Koma Zhang/Quanta Magazine Hanin paragona lasituazione allo sviluppo di un'altra tecnologiarivoluzionaria: il motore a vapore.Inizialmente, i motori a vapore non facevano moltopiù che pompare acqua. Poi hanno mosso i treni, cheè forse il livello di sofisticazione raggiunto dalle retineurali. Quindi scienziati e matematici hannosviluppato una teoria della termodinamica, checonsente di capire esattamente che cosa stasuccedendo all'interno dei motori di qualsiasi tipo.Alla fine, quella conoscenza ci ha portato sulla Luna."All'inizio c'era una grande tecnologia, che ha permessoottimi treni, poi c'è stato bisogno di un po' dicomprensione teorica per andare sulle navicellespaziali", ha detto Hanin.All'interno dell'estesa comunità che si occupa dellosviluppo di reti neurali, c'è un piccolo gruppo dimatematici ricercatori che sta cercando di costruireuna teoria delle reti neurali in grado di spiegare comefunzionano, per garantire che, se si costruisce unarete neurale in un modo specifico, sarà in grado dieseguire determinati compiti.Questo lavoro è ancora nelle sue fasi iniziali, manell'ultimo anno i ricercatori hanno prodotto variarticoli che elaborano la relazione tra forma efunzione nelle reti neurali.Il lavoro fa ripartire le reti neurali dalle fondamenta.Dimostra che molto prima di poter certificare che lereti neurali possono guidare le automobili ènecessario dimostrare che possono moltiplicare.La migliore ricetta per un cervelloLe reti neurali puntano a imitare il cervello umanoe un modo per pensare al cervello è che essofunzioni accumulando astrazioni più piccole inastrazioni più grandi.La complessità del pensiero, in questa prospettiva,viene quindi misurata dalla gamma di astrazioni piùpiccole da cui è possibile attingere e dal numero divolte in cui è possibile combinare le astrazioni dilivello inferiore in astrazioni di livello superiore,come quando impariamo a distinguere i cani dagliuccelli."Per un essere umano, imparare a riconoscereun cane significa imparare a riconoscere quattrosoffici zampe", dice Maithra Raghu, una studentessadi dottorato in informatica presso la Cornell Universitye membro di Google Brain. "Idealmente, vorremmoche le nostre reti neurali facessero lo stesso tipo di cose."L'astrazione è naturale per il cervello umano.Le reti neurali devono lavorare per arrivarci.Come nel cervello, le reti neurali sono costituite dablocchi chiamati "neuroni" che sono collegati in vari modi.(I neuroni di una rete neurale sono ispirati ai neuroninel cervello ma non li imitano direttamente).Ogni neurone può rappresentare un attributo o unacombinazione di attributi, che la rete prende inconsiderazione a ogni livello di astrazione.
Le reti neurali si ispirano alle reti di neuroni,ma non li imitano direttamente(Science Photo Library RF / AGF) Quandouniscono questi neuroni, i progettisti hannomolte scelte da fare. Devono decidere quantistrati di neuroni dovrebbe avere la rete (valea dire quanto dovrebbe essere "profonda").Si pensi, per esempio, a una rete neurale cheha il compito di riconoscere oggetti nelle immagini.L'immagine entra nel sistema al primo livello.Al livello successivo, la rete potrebbe avereneuroni che rilevano solo i bordi dell'immagine.Lo strato ancora successivo combina le lineeper identificare le curve nell'immagine.Quindi il livello seguente combina le curve informe e trame, e il livello finale elabora leforme e le trame per giungere a una conclusionesu ciò che sta guardando: un mammut lanoso!"L'idea è che ogni livello combini aspetti diversidel livello precedente. Un cerchio è un insiemedi curve in molti posti diversi, una curva è uninsieme di linee in molti posti diversi", diceDavid Rolnick, matematico dell'Universitàdella Pennsylvania.I progettisti devono anche decidere la "larghezza"di ogni strato, che corrisponde al numero di diversecaratteristiche che la rete prende in esame a ognilivello di astrazione. Nel caso del riconoscimentodell'immagine, la larghezza dei livelli sarebbe ilnumero di tipi di linee, curve o forme che esaminain ogni livello.Oltre alla profondità e alla larghezza di una rete,ci sono anche delle scelte su come connettere ineuroni all'interno dei livelli e tra di essi, e quantopeso dare a ogni connessione.Quindi, se si ha in mente un compito specifico,come si fa a sapere quale architettura di reteneurale lo realizzerà al meglio?Ci sono alcune regole generali.Per le attività relative alle immagini, i progettistiutilizzano tipicamente reti neuronali "convoluzionali",che presentano lo stesso schema di connessionitra gli strati ripetuti più volte.Per l'elaborazione del linguaggio naturale - comeil riconoscimento vocale o la generazione di linguaggio- i progettisti hanno scoperto che le reti neurali"ricorrenti" sembrano funzionare meglio.In queste, i neuroni possono essere collegati astrati non adiacenti.A parte queste linee guida generali, tuttavia, ci sideve afidare in gran parte a prove sperimentali:si fanno girare 1000 diverse reti neurali e siosserva quale svolge il compito."Nella pratica, queste scelte sono spesso fatteper tentativi ed errori", dice Hanin."È un approccio un po' complesso perché ci sonoinfinite scelte e in realtà non si sa quale sia il migliore".Un approccio migliore comporterebbe un po' menotentativi ed errori e una comprensione un po' piùanticipata di ciò che fornirà una determinataarchitettura di rete neurale.Alcuni articoli pubblicati di recente hanno spostatoil campo di ricerca in questa direzione."Questi lavori cercano di sviluppare una sorta diricettario per progettare la rete neurale giusta.Se sai che cosa vuoi ottenere dalla rete, ecco laricetta per quella rete", dice Rolnick.Legare una pecora rossaUna delle prime importanti verifiche teorichesull'architettura delle reti neurali risale a tre decenni fa.Nel 1989, gli informatici hanno dimostrato che seuna rete neurale ha un singolo livello computazionale,ma si consente a uno strato di avere un numeroillimitato di neuroni, con connessioni illimitate tradi loro, la rete sarà in grado di svolgere qualsiasicompito si possa chiederle.È stata una dichiarazione generale che si è rivelata abbastanza intuitiva e non così utile.È come dire che se si può identificare un numeroillimitato di linee in un'immagine, si può distingueretra tutti gli oggetti usando solo un livello.Questo può essere vero in linea di principio,ma è ben difficile tradurlo in pratica.
Schema di progettazione di una rete neurale(in inglese) (Lucy Reading-Ikkanda/Quanta Magazine)I ricercatori oggi descrivono reti così ampie epiatte come "espressive", vale a dire che sonocapaci in teoria di catturare un insieme più riccodi connessioni tra i possibili input (come un'immagine)e gli output (come le descrizioni dell'immagine).Tuttavia queste reti sono estremamente difficilida addestrare, il che significa che è quasiimpossibile insegnare loro come  produrrerealmente questi output. Dal punto di vistacomputazionale, inoltre, sono anche piùimpegnative di quanto potrebbe gestirequalunque computer.Più di recente, i ricercatori hanno cercatodi capire fino a che punto possono spingerele reti neurali nella direzione opposta,rendendole più strette (con meno neuroniper strato) e più profonde (con più straticomplessivamente). Può darsi che basti scegliere solo 100 linee diverse, ma dotate di connessioni,per trasformare quelle 100 linee in 50 curve,che poi è possibile combinare in 10 diverseforme, che danno tutti gli elementi costitutivinecessari per riconoscere la maggior partedegli oggetti.In un articolo completato l'anno scorso,Rolnick e Max Tegmark del MassachusettsInstitute of Technology hanno dimostrato cheaumentando la profondità e diminuendo lalarghezza, è possibile eseguire le stessefunzioni con un numero di neuroni esponenzialmente inferiore.Hanno dimostrato che se la situazioneche si sta modellizzando ha 100 variabili diinput, è possibile ottenere la stessa affidabilitàusando 2100neuroni in uno strato o solo 210 neuroni distribuiti su due livelli.Hanno scoperto la potenzialità che c'è nelprendere piccoli pezzi e combinarli a livellipiù alti di astrazione invece di tentare dicatturare tutti i livelli di astrazionecontemporaneamente."La nozione di profondità in una rete neuraleè legata all'idea che puoi esprimere qualcosadi complicato facendo molte cose semplici insequenza", dice Rolnick. "È come una catenadi montaggio."Rolnick e Tegmark hanno dimostrato l'utilitàdella profondità chiedendo alle reti neuralidi svolgere un compito semplice: moltiplicarele funzioni polinomiali.(Queste sono equazioni che presentanovariabili elevate a esponenti che sono numerinaturali, per esempio y = x3 + 1).Hanno addestrato le reti mostrando loroesempi di equazioni e dei loro prodotti.Quindi hanno chiesto alle reti di calcolare iprodotti delle equazioni che non avevanomai visto prima. Le reti neuronali più profondehanno appreso il compito con molti meno neuronidi quelle meno profonde.Anche se la moltiplicazione non è un compitoche rivoluzionerà il mondo, Rolnick affermache l'articolo ha segnato un punto importante:"Se una rete poco profonda non può nemmenofare un moltiplicazione, non dovremmofidarcene per nient'altro".Altri ricercatori hanno studiato la quantitàminima di larghezza necessaria. Alla fine disettembre, Jesse Johnson, già matematicodell'Oklahoma State University e ora ricercatorepresso la casa farmaceutica Sanofi, ha dimostratoche a un certo punto nessuna profondità puòcompensare la mancanza di larghezza.Per avere un'idea del suo risultato, immaginiamodelle pecore in un campo.Tuttavia, si tratta di pecore punk-rock: la lorolana è stata tinta in diversi colori.Il compito della nostra rete neurale è tracciareuna linea attorno a tutte le pecore dellostesso colore.In sostanza, questo compito è simile allaclassificazione delle immagini: la rete ha unaraccolta di immagini (che rappresenta comepunti nello spazio di dimensione superiore)e ha bisogno di raggruppare quelle simili.Johnson ha dimostrato che una rete neuralefallirà in questo compito quando la larghezzadegli strati è inferiore o uguale al numero di input.Quindi, riguardo alle nostre pecore, ciascunapuò essere descritta con due input: una x euna y per specificare la sua posizione nelcampo. La rete neurale etichetta dunqueogni pecora con un colore e traccia un bordoattorno alle pecore dello stesso colore.In questo caso, ci sarà bisogno di tre o piùneuroni per strato per risolvere il problema.Più nello specifico, Johnson ha dimostratoche se il rapporto larghezza-variabile èsbagliato, la rete neurale non sarà in gradodi definire cicli chiusi, il tipo di cicli che avrebbebisogno di definire se, per esempio, tutte lepecore rosse fossero raggruppate insieme alcentro del pascolo. "Se nessuno degli stratiè più spesso del numero di dimensioni di input,ci sono alcune forme che la funzione nonsarà mai in grado di creare, indipendentementedal numero di livelli che si aggiungono",ha detto Johnson.Articoli come quello di Johnson stannoiniziando a costruire i rudimenti di unateoria delle reti neurali. Al momento, i ricercatoripossono fare solo affermazioni molto basilarisulla relazione tra architettura e funzione equeste affermazioni sono una piccola parterispetto al numero di compiti che le reti neuralistanno affrontando.Quindi, anche se la teoria delle reti neuralinon cambierà di colpo il modo in cui vengonocostruiti i sistemi, si stanno elaborando iprogetti per una nuova teoria su comeimparano i computer: una teoria che potrebbeavviare l'umanità lungo un percorso conripercussioni ancora maggiori del viaggio sulla Luna.(L'originale di questo articolo è stato pubblicato il 31 gennaio 2019 da QuantaMagazine.org, una pubblicazione editoriale indipendente online promossa dalla Fondazione Simons per migliorare la comprensione pubblica della scienza. Traduzione ed editing a cura di Le Scienze.Riproduzione autorizzata, tutti i diritti riservati)