Meccanismi di apprendimento
Destinatari: studenti universitari, autodidatti in AI/ML, sviluppatori, docenti STEM
Prerequisiti: conoscenze di base su reti neurali, algebra lineare, derivate, Python
🎯 Obiettivi formativi
- Comprendere i fondamenti matematici e algoritmici dell’apprendimento automatico supervisionato.
- Visualizzare e interpretare il comportamento della funzione di perdita.
- Conoscere il funzionamento interno dell’algoritmo di backpropagation.
- Saper scegliere e confrontare diversi ottimizzatori.
- Riconoscere i fenomeni di overfitting/underfitting e applicare tecniche di prevenzione.
🔍 Contenuti del modulo
1. 🧠 Apprendimento supervisionato e funzione obiettivo
L’apprendimento supervisionato consiste nell’addestrare un modello utilizzando dati etichettati, cioè coppie input-output noti. Il modello cerca di imparare una funzione .
📌 Funzione di perdita (loss function):
Misura quanto è sbagliata la previsione del modello rispetto all’output reale. Alcuni esempi:
- MSE (Mean Squared Error) per regressione
- Cross-Entropy per classificazione
- Hinge loss per SVM
🧮 L’obiettivo dell’addestramento è minimizzare la funzione di perdita su tutti i dati del training set.
2. 🔄 Backpropagation: il cuore dell’apprendimento
L’algoritmo di backpropagation è il metodo con cui una rete neurale aggiorna i suoi pesi. Si compone di due fasi:
- Forward pass: calcolo dell’output e della loss
- Backward pass: calcolo del gradiente della loss rispetto a ogni peso usando la regola della catena
🧠 È un'applicazione diretta del calcolo differenziale e del teorema del gradiente: ogni peso viene aggiornato secondo la formula
w := w - \eta \cdot \frac{\partial \text{Loss}}{\partial w}
dove è il learning rate.
3. 📉 Ottimizzazione con Gradient Descent e varianti
Per aggiornare i pesi, si usa il Gradient Descent, con l’obiettivo di scendere nella valle della funzione di errore fino al minimo.
⚙️ Varianti:
- SGD (Stochastic Gradient Descent): aggiorna i pesi a ogni esempio → più veloce ma rumoroso
- Mini-Batch Gradient Descent: compromesso tra stabilità e rapidità
- Adam (Adaptive Moment Estimation): combina momentum e adattività → molto usato
- RMSProp: divide il gradiente per una media quadratica → utile in problemi con rumore o plateaux
🧪 Ogni variante modifica come e quanto ogni peso viene aggiornato.
4. ⚠️ Overfitting, Underfitting e Early Stopping
📉 Overfitting: il modello impara troppo bene i dati di training, ma non generalizza → curva di validazione peggiora
📈 Underfitting: il modello è troppo semplice o addestrato male → non impara neanche il training set
🔁 Early stopping: tecnica che interrompe l’addestramento quando la loss di validazione smette di migliorare → evita overfitting
🎯 Altre strategie:
- Regularizzazione (L1, L2)
- Dropout
- Cross-validation
- Aumento dei dati (data augmentation)
🔬 LAB: Visualizzazione del processo di apprendimento con TensorBoard
🧑💻 Obiettivo: osservare in tempo reale il processo di apprendimento di una rete semplice (es. classificazione MNIST o XOR)
✅ Attività:
- Creazione di una rete neurale semplice in TensorFlow/Keras
- Logging della loss e dell’accuratezza a ogni epoca con:
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="./logs")
- Avvio di TensorBoard con:
tensorboard --logdir=./logs
- Visualizzazione dinamica delle curve di loss e accuracy su training e validation
🎯 Osservare:
- Inizio e fine del training
- Convergenza della loss
- Differenza tra loss training e validation → overfitting?
📎 Materiali di supporto
- Dispensa con formule e schemi visivi
- Notebook Jupyter precompilato (colab friendly)
- Scheda di sintesi degli algoritmi (SGD vs Adam vs RMSProp)
- Link per approfondimento su TensorBoard e diagnostica visuale
📌 Conclusione
Capire i meccanismi di apprendimento equivale a leggere nella mente dell’IA. In questo modulo, l’approccio non è solo tecnico, ma anche visivo e sperimentale: imparare a controllare ciò che la rete apprende è il primo passo per usarla in modo responsabile ed efficace.
Se vuoi, posso generare:
- una scheda HTML per Blogger con lo stesso contenuto
- oppure una versione in PDF/Word Fammi sapere!
Nessun commento:
Posta un commento