Creato da blogtecaolivelli il 04/03/2012

blogtecaolivelli

blog informazione e cultura della biblioteca Olivelli

 

 

« Computer Science.Nel DNA moderno, antiche tracce »

Computer Science

Post n°1909 pubblicato il 14 Febbraio 2019 da blogtecaolivelli

Fonte: Le Scienze
09 febbraio 2019

Per una teoria generale delle reti neurali

Per una teoria generale delle reti neurali

I sistemi di intelligenza artificiale più avanzati

si basano sulle reti neurali, ispirate alle

connessioni tra i neuroni, il cui comportamento

è però in gran parte imprevedibile.

Nuovi studi teorici stanno cercando di sviluppare

le fondamenta teoriche per collegarne la

struttura ai compiti che devono svolgeredi

Kevin Hartnett/Quanta Magazine

computer scienceintelligenza artificiale

Quando progettiamo un grattacielo, ci

aspettiamo che funzionerà secondo le specifiche:

l'edificio sosterrà tanto peso e sarà in grado di

resistere a un terremoto di una certa intensità.

Ma per una delle tecnologie più importanti del

mondo moderno in realtà stiamo costruendo

alla cieca. Giochiamo con design diversi, armeggiamo

con diverse configurazioni, ma finché non

facciamo una sessione di test va non sappiamo

davvero cosa possono fare e dove falliranno.

Questa tecnologia è la rete neurale, che è alla

base dei sistemi di intelligenza artificiale più

avanzati di oggi. Le reti neurali si stanno muovendo

sempre di più verso aree cruciali della società:

determinano ciò che apprendiamo del mondo

attraverso i social media, aiutano i medici a

diagnosticare le malattie e influenzano persino

il tempo che passerà in prigione una persona

condannata per un reato.

Eppure "la migliore approssimazione a ciò che

sappiamo è che non sappiamo quasi nulla di

come funzionano effettivamente le reti neurali

e di come sarebbe una teoria davvero profonda",

ha detto Boris Hanin, matematico della Texas A&M

University e visiting scientist alla Facebook

AI Research, che studia le reti neurali.

Per una teoria generale delle reti neurali

Koma Zhang/Quanta Magazine Hanin paragona la

situazione allo sviluppo di un'altra tecnologia

rivoluzionaria: il motore a vapore.

Inizialmente, i motori a vapore non facevano molto

più che pompare acqua. Poi hanno mosso i treni, che

è forse il livello di sofisticazione raggiunto dalle reti

neurali. Quindi scienziati e matematici hanno

sviluppato una teoria della termodinamica, che

consente di capire esattamente che cosa sta

succedendo 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 permesso

ottimi treni, poi c'è stato bisogno di un po' di

comprensione teorica per andare sulle navicelle

spaziali", ha detto Hanin.

All'interno dell'estesa comunità che si occupa dello

sviluppo di reti neurali, c'è un piccolo gruppo di

matematici ricercatori che sta cercando di costruire

una teoria delle reti neurali in grado di spiegare come

funzionano, per garantire che, se si costruisce una

rete neurale in un modo specifico, sarà in grado di

eseguire determinati compiti.

Questo lavoro è ancora nelle sue fasi iniziali, ma

nell'ultimo anno i ricercatori hanno prodotto vari

articoli che elaborano la relazione tra forma e

funzione nelle reti neurali.

Il lavoro fa ripartire le reti neurali dalle fondamenta.

Dimostra che molto prima di poter certificare che le

reti neurali possono guidare le automobili è

necessario dimostrare che possono moltiplicare.

La migliore ricetta per un cervello

Le reti neurali puntano a imitare il cervello umano

e un modo per pensare al cervello è che esso

funzioni accumulando astrazioni più piccole in

astrazioni 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 di

volte in cui è possibile combinare le astrazioni di

livello inferiore in astrazioni di livello superiore,

come quando impariamo a distinguere i cani dagli

uccelli.

"Per un essere umano, imparare a riconoscere

un cane significa imparare a riconoscere quattro

soffici zampe", dice Maithra Raghu, una studentessa

di dottorato in informatica presso la Cornell University

e membro di Google Brain. "Idealmente, vorremmo

che 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 da

blocchi chiamati "neuroni" che sono collegati in vari modi.

(I neuroni di una rete neurale sono ispirati ai neuroni

nel cervello ma non li imitano direttamente).

Ogni neurone può rappresentare un attributo o una

combinazione di attributi, che la rete prende in

considerazione a ogni livello di astrazione.

Per una teoria generale delle reti neurali

Le reti neurali si ispirano alle reti di neuroni,

ma non li imitano direttamente

(Science Photo Library RF / AGF) Quando

uniscono questi neuroni, i progettisti hanno

molte scelte da fare. Devono decidere quanti

strati di neuroni dovrebbe avere la rete (vale

a dire quanto dovrebbe essere "profonda").

Si pensi, per esempio, a una rete neurale che

ha il compito di riconoscere oggetti nelle immagini.

L'immagine entra nel sistema al primo livello.

Al livello successivo, la rete potrebbe avere

neuroni che rilevano solo i bordi dell'immagine.

Lo strato ancora successivo combina le linee

per identificare le curve nell'immagine.

Quindi il livello seguente combina le curve in

forme e trame, e il livello finale elabora le

forme e le trame per giungere a una conclusione

su ciò che sta guardando: un mammut lanoso!

"L'idea è che ogni livello combini aspetti diversi

del livello precedente. Un cerchio è un insieme

di curve in molti posti diversi, una curva è un

insieme di linee in molti posti diversi", dice

David Rolnick, matematico dell'Università

della Pennsylvania.

I progettisti devono anche decidere la "larghezza"

di ogni strato, che corrisponde al numero di diverse

caratteristiche che la rete prende in esame a ogni

livello di astrazione. Nel caso del riconoscimento

dell'immagine, la larghezza dei livelli sarebbe il

numero di tipi di linee, curve o forme che esamina

in ogni livello.

Oltre alla profondità e alla larghezza di una rete,

ci sono anche delle scelte su come connettere i

neuroni all'interno dei livelli e tra di essi, e quanto

peso dare a ogni connessione.

Quindi, se si ha in mente un compito specifico,

come si fa a sapere quale architettura di rete

neurale lo realizzerà al meglio?

Ci sono alcune regole generali.

Per le attività relative alle immagini, i progettisti

utilizzano tipicamente reti neuronali "convoluzionali",

che presentano lo stesso schema di connessioni

tra gli strati ripetuti più volte.

Per l'elaborazione del linguaggio naturale - come

il 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 a

strati non adiacenti.

A parte queste linee guida generali, tuttavia, ci si

deve afidare in gran parte a prove sperimentali:

si fanno girare 1000 diverse reti neurali e si

osserva quale svolge il compito.

"Nella pratica, queste scelte sono spesso fatte

per tentativi ed errori", dice Hanin.

"È un approccio un po' complesso perché ci sono

infinite scelte e in realtà non si sa quale sia il migliore".

Un approccio migliore comporterebbe un po' meno

tentativi ed errori e una comprensione un po' più

anticipata di ciò che fornirà una determinata

architettura di rete neurale.

Alcuni articoli pubblicati di recente hanno spostato

il campo di ricerca in questa direzione.

"Questi lavori cercano di sviluppare una sorta di

ricettario per progettare la rete neurale giusta.

Se sai che cosa vuoi ottenere dalla rete, ecco la

ricetta per quella rete", dice Rolnick.

Legare una pecora rossa

Una delle prime importanti verifiche teoriche

sull'architettura delle reti neurali risale a tre decenni fa.

Nel 1989, gli informatici hanno dimostrato che se

una rete neurale ha un singolo livello computazionale,

ma si consente a uno strato di avere un numero

illimitato di neuroni, con connessioni illimitate tra

di loro, la rete sarà in grado di svolgere qualsiasi

compito si possa chiederle.

È stata una dichiarazione generale che si è r

ivelata abbastanza intuitiva e non così utile.

È come dire che se si può identificare un numero

illimitato di linee in un'immagine, si può distinguere

tra tutti gli oggetti usando solo un livello.

Questo può essere vero in linea di principio,

ma è ben difficile tradurlo in pratica.

Per una teoria generale delle reti neurali

Schema di progettazione di una rete neurale

(in inglese) (Lucy Reading-Ikkanda/Quanta Magazine)

I ricercatori oggi descrivono reti così ampie e

piatte come "espressive", vale a dire che sono

capaci in teoria di catturare un insieme più ricco

di connessioni tra i possibili input (come un'immagine)

e gli output (come le descrizioni dell'immagine).

Tuttavia queste reti sono estremamente difficili

da addestrare, il che significa che è quasi

impossibile insegnare loro come  produrre

realmente questi output. Dal punto di vista

computazionale, inoltre, sono anche più

impegnative di quanto potrebbe gestire

qualunque computer.

Più di recente, i ricercatori hanno cercato

di capire fino a che punto possono spingere

le reti neurali nella direzione opposta,

rendendole più strette (con meno neuroni

per strato) e più profonde (con più strati

complessivamente). 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 diverse

forme, che danno tutti gli elementi costitutivi

necessari per riconoscere la maggior parte

degli oggetti.

In un articolo completato l'anno scorso,

Rolnick e Max Tegmark del Massachusetts

Institute of Technology hanno dimostrato che

aumentando la profondità e diminuendo la

larghezza, è possibile eseguire le stesse

funzioni con un numero di neuroni esponenzialmente i

nferiore.

Hanno dimostrato che se la situazione

che si sta modellizzando ha 100 variabili di

input, è possibile ottenere la stessa affidabilità

usando 2100neuroni in uno strato o solo 210

 neuroni distribuiti su due livelli.

Hanno scoperto la potenzialità che c'è nel

prendere piccoli pezzi e combinarli a livelli

più alti di astrazione invece di tentare di

catturare tutti i livelli di astrazione

contemporaneamente.

"La nozione di profondità in una rete neurale

è legata all'idea che puoi esprimere qualcosa

di complicato facendo molte cose semplici in

sequenza", dice Rolnick. "È come una catena

di montaggio."

Rolnick e Tegmark hanno dimostrato l'utilità

della profondità chiedendo alle reti neurali

di svolgere un compito semplice: moltiplicare

le funzioni polinomiali.

(Queste sono equazioni che presentano

variabili elevate a esponenti che sono numeri

naturali, per esempio y = x3 + 1).

Hanno addestrato le reti mostrando loro

esempi di equazioni e dei loro prodotti.

Quindi hanno chiesto alle reti di calcolare i

prodotti delle equazioni che non avevano

mai visto prima. Le reti neuronali più profonde

hanno appreso il compito con molti meno neuroni

di quelle meno profonde.

Anche se la moltiplicazione non è un compito

che rivoluzionerà il mondo, Rolnick afferma

che l'articolo ha segnato un punto importante:

"Se una rete poco profonda non può nemmeno

fare un moltiplicazione, non dovremmo

fidarcene per nient'altro".

Altri ricercatori hanno studiato la quantità

minima di larghezza necessaria. Alla fine di

settembre, Jesse Johnson, già matematico

dell'Oklahoma State University e ora ricercatore

presso la casa farmaceutica Sanofi, ha dimostrato

che a un certo punto nessuna profondità può

compensare la mancanza di larghezza.

Per avere un'idea del suo risultato, immaginiamo

delle pecore in un campo.

Tuttavia, si tratta di pecore punk-rock: la loro

lana è stata tinta in diversi colori.

Il compito della nostra rete neurale è tracciare

una linea attorno a tutte le pecore dello

stesso colore.

In sostanza, questo compito è simile alla

classificazione delle immagini: la rete ha una

raccolta di immagini (che rappresenta come

punti nello spazio di dimensione superiore)

e ha bisogno di raggruppare quelle simili.

Johnson ha dimostrato che una rete neurale

fallirà in questo compito quando la larghezza

degli strati è inferiore o uguale al numero di input.

Quindi, riguardo alle nostre pecore, ciascuna

può essere descritta con due input: una x e

una y per specificare la sua posizione nel

campo. La rete neurale etichetta dunque

ogni pecora con un colore e traccia un bordo

attorno 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 dimostrato

che se il rapporto larghezza-variabile è

sbagliato, la rete neurale non sarà in grado

di definire cicli chiusi, il tipo di cicli che avrebbe

bisogno di definire se, per esempio, tutte le

pecore rosse fossero raggruppate insieme al

centro del pascolo. "Se nessuno degli strati

è più spesso del numero di dimensioni di input,

ci sono alcune forme che la funzione non

sarà mai in grado di creare, indipendentemente

dal numero di livelli che si aggiungono",

ha detto Johnson.

Articoli come quello di Johnson stanno

iniziando a costruire i rudimenti di una

teoria delle reti neurali. Al momento, i ricercatori

possono fare solo affermazioni molto basilari

sulla relazione tra architettura e funzione e

queste affermazioni sono una piccola parte

rispetto al numero di compiti che le reti neurali

stanno affrontando.

Quindi, anche se la teoria delle reti neurali

non cambierà di colpo il modo in cui vengono

costruiti i sistemi, si stanno elaborando i

progetti per una nuova teoria su come

imparano i computer: una teoria che potrebbe

avviare l'umanità lungo un percorso con

ripercussioni 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)

 
 
 
Vai alla Home Page del blog

ARCHIVIO MESSAGGI

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 

AREA PERSONALE

 

FACEBOOK

 
 
Citazioni nei Blog Amici: 1
 

ULTIME VISITE AL BLOG

vurlaprefazione09m12ps12vittorio.59dony686miriade159tirchio2000blogtecaolivelliellistar2012Draiostre.sa47bibanna545annamatrigianoLoneWolf1822
 

CHI PUņ SCRIVERE SUL BLOG

Solo l'autore puņ pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
I messaggi e i commenti sono moderati dall'autore del blog, verranno verificati e pubblicati a sua discrezione.
 

CERCA IN QUESTO BLOG

  Trova
 

ARCHIVIO MESSAGGI

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 
RSS (Really simple syndication) Feed Atom
 
Citazioni nei Blog Amici: 1
 

TAG CLOUD

 
Citazioni nei Blog Amici: 1
 

ARCHIVIO MESSAGGI

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 
 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963