Cos'è la rete neurale?

Cos'è la rete neurale?

La rete neurale è un modello di machine learning che impila semplici “neuroni” in strati e apprende i pesi e le distorsioni, riconoscendo i modelli dai dati per mappare gli input agli output.

Le reti neurali sono tra gli algoritmi più influenti nel machine learning moderno e nell’intelligenza artificiale (AI). Sono alla base delle innovazioni nella computer vision, nell’elaborazione del linguaggio naturale (NLP), nel riconoscimento vocale e in innumerevoli applicazioni nel mondo reale, che vanno dalla previsione al riconoscimento facciale.

Mentre le odierne reti neurali profonde (DNN) alimentano sistemi complessi come trasformatori e reti neurali convoluzionali (CNN), le origini delle reti neurali risalgono a modelli semplici come la regressione lineare e il modo in cui il cervello umano digerisce, elabora e decide le informazioni che gli vengono presentate.

Come funzionano le reti neurali?

A un alto livello, l’ispirazione per le reti neurali viene dai neuroni biologici del cervello umano, che comunicano tramite segnali elettrici.

Nel 1943, Warren McCulloch e Walter Pitts proposero il primo modello matematico di un neurone, dimostrando che unità semplici potevano eseguire il calcolo di una funzione. Più tardi, nel 1958, Frank Rosenblatt introdusse il percettrone, un algoritmo progettato per eseguire il riconoscimento di modelli. Il perceptron è l’antenato storico delle reti odierne: essenzialmente un modello lineare con un output vincolato.

Nella sezione seguente, approfondiremo come le reti neurali traggono ispirazione dal cervello umano per prendere decisioni e riconoscere schemi.  

Una rete neurale può essere compresa attraverso un semplice esempio: il rilevamento. Una e-mail viene immessa nella rete e le caratteristiche come parole o frasi come “premio”, “denaro”, “caro” o “vincere” vengono utilizzate come input.

I primi neuroni della rete elaborano l’importanza di ogni segnale, mentre gli strati successivi combinano queste informazioni in segnali di livello superiore che catturano il contesto e il tono. L’ultimo livello calcola quindi la probabilità che la e-mail sia spam e, se tale probabilità è sufficientemente alta, questa e-mail viene contrassegnata. In sostanza, la rete impara a trasformare le caratteristiche grezze in modelli significativi e a utilizzarli per fare previsioni.

Questo processo è alimentato da due concetti fondamentali: pesi e distorsioni. I pesi agiscono come quadranti che controllano l’intensità con cui ogni caratteristica di input influenza la decisione: a una parola come “premio” potrebbe essere dato più peso di una parola comune come “ciao”.

I bias sono valori incorporati che spostano la soglia decisionale, consentendo a un neurone di attivarsi anche se gli input stessi sono deboli. Insieme, questi parametri del modello determinano in che modo ciascun neurone contribuisce al calcolo complessivo. Regolando questi valori durante la formazione, la rete impara gradualmente a fare previsioni accurate, in questo caso, indipendentemente dal fatto che un’e-mail sia spam o meno.

Matematicamente, una rete neurale apprende una funzione  f(X) mappando un vettore di input  X=(x1,x2,x3...) per prevedere una risposta  Y. Ciò che distingue le reti neurali dagli altri algoritmi di machine learning tradizionali è la loro struttura a strati e la loro capacità di eseguire trasformazioni non lineari.  

Una rete neurale è composta da:

  • Livello di input: contiene le caratteristiche grezze  (X1,X2,X3,..).

  • Strati nascosti: sono costituiti da neuroni (o nodi) artificiali che trasformano gli input in nuove rappresentazioni. Matematicamente, le layer nascoste vengono espresse come caratteristiche di input, moltiplicate per i pesi associati e si aggiunge la distorsione per passare da un layer al layer successivo, arrivando infine al layer di output finale. È qui che avviene la trasformazione lineare tra input e output. 

  • Livello di output: dopo aver eseguito la trasformazione lineare nel livello nascosto, viene aggiunta una funzione di attivazione non lineare (tanh, sigmoid, ReLU) per produrre la previsione finale (come un numero per la regressione o una distribuzione di probabilità per la classificazione).  
Diagramma di una rete neurale con tre livelli nascosti: livello di input, livelli nascosti multipli, livello di output Una rete neurale standard con 3 livelli nascosti.

Allenamento delle reti neurali

Proprio come altri algoritmi di apprendimento automatico, una rete neurale richiede un addestramento rigoroso per funzionare bene nei test. Per addestrare una rete, un singolo neurone calcola: 

 z=i=1nwixi+b

 a=σ(z)

Dove:

  •  xi = funzione di input
  •  wi = peso
  •  b  = bias
  •  z  = somma ponderata (trasformazione lineare)
  •  σ  = funzione di attivazione (trasformazione non lineare)
  •  a  = output

 σ  rappresenta una funzione di attivazione sul livello di output che trasforma la combinazione lineare per adattarla alla decisione della funzione. Utilizzando questa architettura, le funzionalità di input X vengono trasformate in un output Y, che funge da modello predittivo di machine learning.  

La potenza di una rete neurale deriva dalla sua capacità di apprendere i pesi e i bias corretti dai dati. Ciò avviene confrontando la previsione della rete  Y^ alla vera etichetta  Y  e misurare l'errore utilizzando una funzione di perdita. Ad esempio, nelle attività di classificazione, la perdita potrebbe misurare la distanza tra la probabilità prevista e la risposta corretta.

Per ridurre al minimo questa perdita, la rete utilizza un algoritmo chiamato retropropagazione. La rete neurale si addestra in quattro fasi:

  • Forward pass: gli input fluiscono attraverso la rete, calcolando combinazioni lineari, passando attraverso la funzione di attivazione non lineare e producendo una previsione dell’output.

  • Calcolo dell’errore: la funzione di perdita misura la differenza tra previsione e verità.

  • Backward pass (retropropagazione): l’errore viene propagato all’indietro attraverso la rete. Per ogni neurone, l’algoritmo calcola quanto ogni peso e distorsione hanno contribuito all’errore utilizzando la regola del calcolo a catena.

  • Aggiornamento del peso: i pesi e le distorsioni vengono regolati leggermente nella direzione che riduce l’errore, utilizzando un metodo di ottimizzazione come la discesa del gradiente.
Diagramma di discesa del gradiente, con "valore del peso" sull'asse x e "perdita" sull'asse y e un "punto iniziale" nella parte superiore sinistra del diagramma. Nella parte più bassa si trova il testo "punto di convergenza, ad es. dove la funzione di costo è al minimo"

Questo processo viene ripetuto molte volte nel set di dati di training. Ogni pass aiuta la rete a «adattare» i suoi parametri interni in modo che le sue previsioni si avvicinino sempre di più alle risposte corrette. Nel tempo, la rete converge verso una serie di pesi e distorsioni che riducono al minimo gli errori e si generalizzano bene ai dati invisibili.

La retropropagazione, unita alla discesa del gradiente, è il motore che fa funzionare le reti neurali con milioni (o addirittura miliardi) di parametri di apprendere modelli significativi da enormi set di dati.  

Tuttavia, nonostante gli sforzi dei professionisti per addestrare modelli ad alte prestazioni, le reti neurali devono ancora affrontare sfide simili ad altri modelli di machine learning, soprattutto l’overfitting.

Quando le reti neurali diventano eccessivamente complesse con troppi parametri, il modello si adatterà eccessivamente ai dati di addestramento e le previsioni saranno scadenti. L’overfitting è un problema comune in tutti i tipi di reti e prestare molta attenzione al compromesso bias-varianza è fondamentale per creare modelli ad alte prestazioni.  

Le moderne architetture di reti neurali, come trasformatori e modelli di encoder-decoder, seguono gli stessi principi fondamentali (pesi e bias appresi, livelli sovrapposti, attivazioni non lineari, formazione end-to-end mediante retropropagazione). Differiscono principalmente nel modo in cui gli input vengono mescolati tra i livelli.

Invece di limitarsi a una miscelazione completamente connessa, i trasformatori sfruttano l’attenzione per formare combinazioni ponderate di rappresentazioni dipendenti dai dati, insieme a connessioni residue, normalizzazione e codifiche posizionali per arricchire il cablaggio basato sugli stessi principi fondamentali.

Tipi di reti neurali

Sebbene i percettroni multistrato siano la base, le reti neurali si sono evolute in architetture specializzate adatte a diversi domini:

  • Reti neurali convoluzionali (CNN o convnets): progettate per dati a griglia, come le immagini. Le CNN eccellono nel riconoscimento delle immagini, nella computer vision e nel riconoscimento facciale grazie ai filtri convoluzionali che rilevano le gerarchie spaziali delle caratteristiche. 

  • Reti neurali ricorrenti (RNN): incorporano circuiti di feedback che consentano alle informazioni di persistere nel tempo. Gli RNN sono adatti per il riconoscimento vocale, il forecasting e i dati sequenziali. 

  • Transformer: un’architettura moderna che ha sostituito gli RNN per molte attività di sequenza. I transformer utilizzano i meccanismi di attenzione per acquisire le dipendenze nell’elaborazione del linguaggio naturale (NLP) e alimentare modelli all’avanguardia come GPT.

  •  Queste variazioni evidenziano la versatilità delle reti neurali. 

Indipendentemente dall’architettura, tutti si basano sugli stessi principi: neuroni artificiali, attivazioni non lineari e algoritmi di ottimizzazione.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Applicazioni per reti neurali

Le reti neurali sono alla base di molti degli attuali sistemi di AI. Alcune importanti applicazioni delle reti neurali includono:

  • Computer vision: CNN per il riconoscimento delle immagini, l'imaging medico e i veicoli autonomi. 

  • Elaborazione del linguaggio naturale: trasformatori per la traduzione automatica, chatbot e riepilogo. 

  • Riconoscimento vocale: RNN e deep net per la trascrizione e gli assistenti vocali.

  • Forecasting e serie temporali: previsione della domanda, modellazione finanziaria e previsioni meteorologiche.

  • Apprendimento per rinforzo: reti neurali come approssimatori di funzioni negli agenti di gioco (ad esempio, AlphaGo che gioca a Deepmind). 

  • Riconoscimento dei modelli: identificazione di frodi, rilevamento di anomalie o classificazione di documenti. 

Queste applicazioni promuovono innovazioni reali nel campo della sanità, della finanza, della robotica, dell'intrattenimento e non solo.

Perché le reti neurali sono importanti

Le reti neurali apprendono rappresentazioni interne utili direttamente dai dati, catturando strutture non lineari che i modelli classici non riescono a cogliere. Con capacità sufficiente, obiettivi solidi e regolarizzazione contro l’overfitting, passano da piccoli benchmark a sistemi di produzione in computer vision, elaborazione del linguaggio naturale, riconoscimento vocale, previsione e altro ancora, offrendo guadagni misurabili in termini di precisione e robustezza. 

Il deep learning moderno estende queste basi. Le CNN sono specializzate nell’estrazione di caratteristiche spaziali per le immagini, gli RNN modellano le dipendenze temporali nelle sequenze, i transformer sostituiscono la ricorrenza con l’attenzione, aiutati dalle connessioni residue, dalla normalizzazione e dal parallelismo efficiente sulle GPU.  

Nonostante le differenze architettoniche, la formazione rimane end-to-end con retropropagazione su set di dati di grandi dimensioni e la visione di base è ancora valida: Y=f(X;σ)viene appreso componendo trasformazioni dipendenti dai dati con attivazioni non lineari.

L’AI generativa si basa sugli stessi principi ma su larga scala. I modelli linguistici di grandi dimensioni, i modelli di diffusione, VAE e GAN apprendono le distribuzioni sui dati per sintetizzare testo, immagini, audio e codice.  

Il salto da un percettrone multistrato a generatori all’avanguardia è principalmente una questione di architettura, dati e calcolo. La comprensione delle funzioni di attivazione, dei requisiti di formazione e dei principali tipi di reti fornisce un collegamento pratico dalle reti neurali classiche ai sistemi generativi odierni e chiarisce perché questi modelli sono diventati fondamentali per l’intelligenza artificiale moderna.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live