domenica 16 febbraio 2025

Corso di Reti Neurali per il Machine Learning: Meccanismi di apprendimento




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à:

  1. Creazione di una rete neurale semplice in TensorFlow/Keras
  2. Logging della loss e dell’accuratezza a ogni epoca con:
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="./logs")
  1. Avvio di TensorBoard con:
tensorboard --logdir=./logs
  1. 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

Come sopravvivere con l'informatica: Neurosimulators: deep learning ispirato al cervello

  📌 Neurosimulators: deep learning ispirato al cervello La prossima rivoluzione dell’intelligenza artificiale potrebbe arrivar...