Generative vs Discriminative

[generativ vs discriminativ]

Due grandi famiglie di modelli IA: i generativi creano nuovi dati, i discriminativi li classificano. Sapere la differenza ti chiarisce mezzo ML.

Nel machine learning i modelli si dividono in due grandi famiglie: generativi e discriminativi. Confusione tra le due fa danni, capirla ti chiarisce mezzo campo.

Modelli discriminativi: imparano a classificare. Dato un input, prevedono un'etichetta. Esempi:

  • Filtro spam: email → "spam" o "non spam".
  • Riconoscimento immagini: foto → "gatto", "cane", "auto".
  • Sentiment analysis: testo → "positivo", "negativo".
  • BERT, ResNet, regressione logistica: tutti discriminativi.

Modelli matematici: imparano P(y | x), la probabilità dell'etichetta dato l'input.

Modelli generativi: imparano a creare dati simili a quelli di training. Dato (eventualmente) un condizionamento, generano un nuovo esempio. Esempi:

  • LLM (GPT, Claude, Llama): generano testo.
  • Diffusion model (Stable Diffusion, Midjourney): generano immagini.
  • GAN, VAE: generano dati di vario tipo.
  • Whisper (in modalità generativa): genera trascrizioni.

Modelli matematici: imparano P(x) o P(x | condizione), la distribuzione dei dati.

I generativi sono più potenti (puoi sempre derivarne classificatori) ma più difficili da addestrare. I discriminativi sono più semplici e di solito più precisi sui compiti specifici.

Tutta l'IA generativa che fa rumore oggi (ChatGPT, Midjourney, Sora) è generativa. Quasi tutti i sistemi industriali silenziosi (filtri, raccomandazioni, frodi) sono discriminativi. Diversi mestieri, entrambi utili.