giovedì 5 giugno 2025

Corso di Reti Neurali per il Machine Learning: Verso le architetture Transformer


Verso le architetture Transformer

Le architetture Transformer hanno rivoluzionato il campo dell’intelligenza artificiale, in particolare l’elaborazione del linguaggio naturale (NLP), ma anche la visione artificiale e la multimodalità. La loro forza risiede nella capacità di catturare relazioni a lungo raggio in sequenze di dati, superando i limiti delle reti ricorrenti (RNN, LSTM, GRU) e delle convoluzionali (CNN) in compiti linguistici e sequenziali.

1. Meccanismo di attenzione

  • Self-Attention: ogni parola di una frase “guarda” tutte le altre parole, attribuendo un peso (attenzione) diverso a seconda della loro rilevanza. Questo permette al modello di gestire contesti lunghi senza degradazione di memoria come accadeva nelle RNN.

  • Multi-Head Attention: più “teste” di attenzione lavorano in parallelo, ognuna catturando relazioni semantiche diverse (per esempio, una testa può cogliere concordanze grammaticali, un’altra la semantica tra soggetto e verbo).

  • Scalabilità: il calcolo dell’attenzione può essere parallelo, aumentando drasticamente la velocità di addestramento rispetto alle RNN.

2. Architettura Transformer

  • Encoder: riceve la sequenza in input, la rappresenta attraverso embedding e positional encoding, e applica blocchi di attenzione e feed-forward per produrre rappresentazioni contestualizzate.

  • Decoder: prende in input le rappresentazioni dell’encoder e le usa per generare sequenze in uscita (utile per traduzione automatica, generazione di testo, ecc.).

  • Positional Encoding: poiché il Transformer non è sequenziale, ha bisogno di un meccanismo che codifichi la posizione relativa degli elementi. Si usano quindi funzioni sinusoidali o embedding appositi che preservano l’informazione sulla sequenza.

3. Foundation Models: BERT, GPT, T5

  • BERT (Bidirectional Encoder Representations from Transformers): utilizza solo l’encoder. È ottimale per compiti di classificazione, sentiment analysis, named entity recognition (NER).

  • GPT (Generative Pretrained Transformer): basato sul decoder, è pensato per la generazione di sequenze testuali (chatbot, scrittura assistita).

  • T5 (Text-to-Text Transfer Transformer): trasforma ogni problema di NLP in un task di “traduzione” testuale, rendendo il modello molto flessibile per compiti eterogenei.

4. Fine-Tuning e Hugging Face

  • Approccio transfer learning: i Transformer vengono pre-addestrati su enormi dataset generici, e poi riadattati (fine-tuning) su dataset specifici con meno dati e costi computazionali ridotti.

  • Hugging Face Transformers: libreria open-source che mette a disposizione centinaia di modelli pre-addestrati, con interfacce semplici per il fine-tuning e l’integrazione in pipeline di NLP.

  • Esempi pratici:

    • Classificazione di recensioni positive/negative.

    • Riconoscimento di entità (NER).

    • Generazione di testo creativo o riassunti automatici.

5. Laboratorio pratico

Lab: Classificazione testuale con DistilBERT e fine-tuning su dataset custom

  • Introduzione a DistilBERT (versione leggera e veloce di BERT, con prestazioni simili ma minor costo computazionale).

  • Pipeline di Hugging Face per la classificazione del testo.

  • Preparazione di un dataset custom (es. recensioni di prodotti).

  • Addestramento e validazione del modello con valutazione delle metriche (accuracy, F1-score).

  • Test del modello su nuovi testi, interpretazione dei risultati.


Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...