Reti neurali artificiali e deep learning: Architetture di base
Dalle architetture feedforward più semplici fino alle reti convoluzionali, ricorrenti e generative, questa sezione di FAQ esplora le architetture più diffuse nel deep learning. Una guida pratica per sviluppatori, ricercatori e professionisti che vogliono capire quando usare ciascun modello, i loro punti di forza e le applicazioni concrete in computer vision, NLP, metric learning e generative modeling.
- Cosa sono le reti feedforward (Multi-Layer Perceptron) e quando usarle?
- Come funzionano le reti neurali convoluzionali (CNN)?
- Quali sono le reti ricorrenti (RNN, LSTM, GRU) e quando sono necessarie?
- Cosa sono le autoencoder e le variational autoencoder (VAE)?
- Come funzionano le reti siamese e le reti triplet per metric learning?
Dalle architetture feedforward più semplici fino alle reti convoluzionali, ricorrenti e generative, questa sezione esplora i modelli di deep learning più usati. Una guida che illustra quando e perché adottare ogni architettura, con esempi di applicazioni pratiche in computer vision, NLP e metric learning.
Cosa sono le reti feedforward (Multi-Layer Perceptron) e quando usarle?
Le reti feedforward, note come Multi-Layer Perceptron (MLP), rappresentano la forma più basilare di rete neurale artificiale, in cui l'informazione fluisce senza feedback dagli input agli output attraverso una serie di layer completamente connessi. Ogni neurone di uno strato riceve pesi e bias dagli input, applica una funzione di attivazione non lineare e passa il risultato allo strato successivo. I MLP eccellono in compiti di classificazione e regressione su dati tabellari in cui non sono presenti strutture spaziali o temporali complesse, come previsioni di churn, analisi finanziaria e stime numeriche. La loro semplicità li rende veloci da addestrare con dataset di dimensioni moderate, e la natura fully connected garantisce capacità rappresentativa sufficiente per molte applicazioni standard.
Come funzionano le reti neurali convoluzionali (CNN)?
Le CNN introducono il concetto di strati convoluzionali, dove piccoli kernel slide sull'input per rilevare pattern locali (bordi, texture, forme) in modo translationally equivariant. Ogni filtro genera una mappa di attivazione che evidenzia la presenza di specifiche feature. Attraverso stacking di più layer convoluzionali e raggruppamenti (pooling), le CNN costruiscono gerarchie di feature, passando da rilevatori di basso livello a rappresentazioni di alto livello. Queste reti sono il pilastro del computer vision (classificazione di immagini, object detection con YOLO/SSD, segmentazione semantica con U-Net/Mask R-CNN), ma trovano applicazioni anche in elaborazione di segnali (audio, time series) e NLP, ad esempio per estrarre pattern in sequenze di parole.
Quali sono le reti ricorrenti (RNN, LSTM, GRU) e quando sono necessarie?
Le RNN aggiungono connessioni cicliche che permettono di mantenere uno stato interno tra passi temporali, rendendole adatte all'elaborazione di dati sequenziali come testo, audio e time series. Tuttavia, le RNN vanilla soffrono del problema del vanishing/exploding gradient per lungo lag temporali. Le LSTM introducono meccanismi di gating (input, forget, output gate) per regolare quali informazioni mantenere o dimenticare, consentendo di catturare dipendenze a lungo termine. Le GRU semplificano il design combinando alcuni gate, offrendo prestazioni comparabili con minor complessità. Queste architetture trovano impiego in NLP (machine translation con seq2seq, sentiment analysis), forecasting finanziario e IoT, riconoscimento vocale e generazione di testo.
Cosa sono le autoencoder e le variational autoencoder (VAE)?
Gli autoencoder sono reti non supervisionate composte da un encoder, che comprime l'input in uno spazio latente di dimensione inferiore, e da un decoder, che ricostruisce l'input originale da tale rappresentazione. Vengono usati per riduzione dimensionale, denoising e anomaly detection, sfruttando il fatto che le anomalie non vengono ricostruite fedelmente. Le VAE estendono questo concetto introducendo un approccio probabilistico: l'encoder produce parametri di una distribuzione gaussiana nello spazio latente, da cui si campiona, e il decoder ricostruisce da campioni latenti. Questa formulazione permette anche di generare nuovi campioni realistici, rendendo le VAE strumenti potenti per generative modeling e data augmentation.
Come funzionano le reti siamese e le reti triplet per metric learning?
Le reti siamese consistono in due branch identici con pesi condivisi che processano coppie di input, producendo embedding che vengono confrontati tramite una distance metric (es. Euclidea). Durante il training, la contrastive loss minimizza la distanza per coppie simili e la massimizza per coppie dissimili, permettendo di apprendere spazi latenti in cui la similarità è semantica. Le reti triplet estendono il concetto utilizzando terne (anchor, positivo, negativo) e la triplet loss, che richiede che l'anchor sia più vicino al positivo che al negativo di una margin prefissata. Queste architetture sono fondamentali per face verification, signature matching e sistemi di retrieval, dove la capacità di misurare similitudine semantica tra esempi è cruciale.
Faq
Quando conviene usare un MLP rispetto a una CNN o RNN?
I MLP sono ideali per dati tabellari o strutturati senza relazioni spaziali o temporali, mentre CNN sono preferibili per immagini e RNN per sequenze o serie temporali.
Quali vantaggi offrono le CNN nella computer vision?
Le CNN rilevano automaticamente pattern locali, costruiscono gerarchie di feature e riducono il numero di parametri rispetto a un MLP fully connected, rendendole efficienti ed efficaci per immagini e video.
Perché LSTM e GRU sono migliori delle RNN vanilla?
LSTM e GRU risolvono il problema del vanishing/exploding gradient con meccanismi di gating, consentendo di catturare dipendenze a lungo termine nelle sequenze, essenziali in NLP, time series e audio processing.
In che contesti si utilizzano gli autoencoder?
Gli autoencoder vengono usati per riduzione dimensionale, denoising, anomaly detection e compressione dati. La loro struttura encoder-decoder permette di apprendere rappresentazioni compatte senza supervision supervisionata.
Qual è la differenza principale tra autoencoder e VAE?
Il VAE introduce un approccio probabilistico nello spazio latente, consentendo di generare nuovi campioni realistici, mentre l'autoencoder classico si limita alla ricostruzione dei dati di input.
Come funzionano le reti siamese per il riconoscimento facciale?
Le reti siamese apprendono embedding condivisi per coppie di input, confrontando la loro distanza nello spazio latente. Ciò permette di verificare se due immagini rappresentano la stessa persona indipendentemente dall’identità specifica.
Perché usare reti triplet nel metric learning?
Le reti triplet ottimizzano la distanza tra anchor, positivo e negativo, creando spazi latenti dove la similarità semantica è preservata, essenziale in sistemi di retrieval, face verification e signature matching.
Quali sono le sfide principali nell'addestramento di CNN molto profonde?
Le CNN profonde possono soffrire di vanishing gradient, overfitting e alto costo computazionale. Tecniche come residual connection, batch normalization e dropout aiutano a stabilizzare e accelerare il training.
Come si scelgono tra LSTM e GRU?
La scelta dipende dal compromesso tra complessità e performance: GRU ha meno parametri e converge più velocemente, mentre LSTM può catturare dipendenze più lunghe, utile in sequenze molto estese.
Come combinare autoencoder con reti convoluzionali o ricorrenti?
Si possono usare encoder/decoder convoluzionali per immagini (CNN autoencoder) o ricorrenti per sequenze (RNN autoencoder), sfruttando l’architettura specifica per estrarre feature gerarchiche o temporali.