Neural Network (NN)
Esplora i fondamenti delle reti neurali. Scopri come alimentano l'AI, in cosa differiscono dal deep learning e come favoriscono modelli all'avanguardia come Ultralytics YOLO26.
Una rete neurale (NN) è un modello computazionale alla base dell'intelligenza artificiale (AI), progettato per riconoscere schemi, interpretare dati sensoriali e raggruppare informazioni. Ispirate alla struttura biologica del cervello umano, queste reti sono costituite da nodi interconnessi, o "neuroni", organizzati in livelli. Mentre il cervello biologico utilizza segnali chimici per comunicare attraverso le sinapsi, una rete neurale digitale utilizza operazioni matematiche per trasmettere informazioni. Questi sistemi sono la tecnologia fondamentale alla base del Machine Learning (ML) moderno e consentono ai computer di risolvere problemi complessi, come riconoscere volti, tradurre lingue e guidare veicoli autonomi, senza essere programmati esplicitamente per ogni regola specifica.
Reti neurali e apprendimento profondo#
Sebbene i termini siano spesso usati come sinonimi, è importante distinguere tra una rete neurale di base e l'apprendimento profondo (DL). La differenza principale risiede nella profondità e nella complessità. Una rete neurale standard o "poco profonda" può avere solo uno o due livelli nascosti tra l'input e l'output. Al contrario, l'apprendimento profondo utilizza reti neurali "profonde" con decine o persino centinaia di livelli. Questa profondità consente l'estrazione delle caratteristiche automatica, permettendo al modello di comprendere schemi gerarchici: semplici bordi diventano forme e le forme diventano oggetti riconoscibili. Per un approfondimento tecnico, MIT News spiega l'apprendimento profondo e la sua evoluzione dalle reti di base.
Come apprendono le reti neurali#
Il processo di "apprendimento" in una rete neurale consiste nell'adattare i parametri interni per ridurre al minimo gli errori. I dati entrano attraverso un livello di input, passano attraverso uno o più livelli nascosti in cui vengono eseguiti i calcoli e escono attraverso un livello di output sotto forma di previsione.
- Pesi e bias: ogni connessione tra neuroni ha un "peso" che determina l'intensità del segnale. Durante l'addestramento, la rete adatta questi pesi in base ai dati di addestramento.
- Funzioni di attivazione: per decidere se un neurone debba "attivarsi" o meno, la rete utilizza una funzione di attivazione come ReLU o Sigmoid. Questo introduce una non linearità, consentendo alla rete di apprendere confini complessi.
- Retropropagazione: quando la rete produce una previsione, confronta il risultato con la risposta corretta effettiva. Se c'è un errore, un algoritmo chiamato retropropagazione invia un segnale all'indietro attraverso la rete per perfezionare i pesi, migliorando la precisione nel tempo.
- Ottimizzazione: algoritmi come la discesa del gradiente stocastico (SGD) aiutano a trovare l'insieme ottimale di pesi per ridurre al minimo la funzione di perdita. Puoi approfondire gli algoritmi di ottimizzazione su AWS.
Applicazioni nel mondo reale#
Le reti neurali sono i motori alla base di molte tecnologie che definiscono l'era moderna.
-
Visione artificiale: nel campo della visione artificiale (CV), reti specializzate chiamate reti neurali convoluzionali (CNNs) vengono utilizzate per analizzare dati visivi. Modelli avanzati come Ultralytics YOLO26 utilizzano architetture di reti neurali profonde per il rilevamento degli oggetti in tempo reale. Questi sistemi sono fondamentali per l'AI in agricoltura, dove monitorano la salute delle colture, e per i sistemi di sicurezza, in cui rilevano anomalie.
-
Elaborazione del linguaggio naturale: per le attività che coinvolgono il testo, architetture come le reti neurali ricorrenti (RNNs) e i Transformer hanno rivoluzionato il modo in cui le macchine comprendono il linguaggio umano. Queste reti alimentano gli strumenti di traduzione automatica e gli assistenti virtuali. Puoi vedere l'impatto di queste tecnologie nell'AI in ambito sanitario, dove aiutano a trascrivere le note mediche e ad analizzare le cartelle cliniche dei pazienti.
-
Analisi predittiva: le aziende utilizzano le reti neurali per l'analisi delle serie temporali, così da prevedere i prezzi delle azioni o il fabbisogno di scorte. IBM offre un'eccellente panoramica delle reti neurali nell'analisi aziendale.
Implementazione pratica#
Le moderne librerie software rendono accessibile l'implementazione di reti neurali senza dover scrivere da zero le operazioni matematiche. Strumenti come la Ultralytics Platform consentono agli utenti di addestrare facilmente queste reti su dataset personalizzati. Il seguente codice Python mostra come caricare una rete neurale preaddestrata, nello specifico il modello YOLO26 all'avanguardia, ed eseguire l'inferenza su un'immagine utilizzando il pacchetto ultralytics.
from ultralytics import YOLO
# Load a pretrained YOLO26 neural network model
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
# The model processes the image through its layers to predict bounding boxes
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()Sfide e considerazioni#
Sebbene siano potenti, le reti neurali presentano sfide specifiche. In genere richiedono grandi quantità di dati etichettati per l'apprendimento supervisionato. In assenza di una sufficiente varietà di dati, una rete è soggetta all'overfitting, ovvero memorizza gli esempi di addestramento invece di imparare a generalizzare. Inoltre, le reti neurali profonde vengono spesso definite "scatole nere", perché può essere difficile interpretare esattamente come siano arrivate a una decisione specifica, stimolando la ricerca nell'ambito dell'AI spiegabile (XAI). Organizzazioni come la IEEE Standards Association lavorano attivamente a standard per garantire che queste potenti reti vengano utilizzate in modo etico e sicuro.









