Vai a Mappa Corsi Laboratorio Glossario Come funziona Problemi comuni Inizia →
ITEN
← Corso 06 · Dal modello all'app (Lezione 06.01 · 18 minuti · Nessun sensore · Per tutti)

Misurare davvero.

Un 95 per cento può nascondere un modello inutile. Qui impari a leggere gli errori classe per classe, a scegliere la soglia e a misurare millisecondi, memoria e batteria come si deve, sul telefono di chi userà l'app.

Cosa impari
  1. Perché l'accuratezza da sola inganna e cosa guardare al suo posto
  2. Cosa sono precisione e richiamo, e come la soglia li sposta
  3. Come si misurano bene latenza, memoria e batteria
Ti serve sapere

Se non ti ricordi una di queste cose, il link ti porta al capitolo che la spiega.

Come vuoi seguirla
Preparo la scena…
  1. 01 Il voto che inganna

    Una percentuale sola nasconde quasi tutto.

    Il modello della foglia ha il 95 per cento di risposte giuste. Sembra ottimo. Ma se tra le foto di prova 95 foglie su 100 sono sane, basta rispondere sempre sana per arrivarci. Questa percentuale si chiama accuratezza. Da sola non dice quali errori fa il modello, né quanto costano.

    In pratica. Prima di guardare qualunque voto, conta quanti esempi di prova ci sono per ogni classe. Se sono molto diversi, l'accuratezza da sola non basta.

01 / 07
(Approfondisci)

Qualche numero in più.


(01)

I conti di precisione e richiamo

Tra le foto di prova ci sono 100 foglie malate e 900 sane. Il modello dice malata a 110 foglie, e 90 di queste sono malate davvero. La precisione è 90 su 110, circa l'82 per cento. Il richiamo è 90 su 100, cioè il 90 per cento.

Quando serve un numero solo si usa spesso l'F1, una media tra i due che punisce chi ne trascura uno. Qui vale circa 0,86. È comodo per confrontare due modelli, ma la scelta della soglia va fatta guardando i due numeri separati.

precisione = veri positivi / (veri positivi + falsi positivi)
richiamo   = veri positivi / (veri positivi + falsi negativi)
F1         = 2 × precisione × richiamo / (precisione + richiamo)
(02)

Misurare la latenza come si deve

Per LiteRT esiste uno strumento apposta, benchmark_model, che riporta separati il tempo di caricamento, la prima risposta, quelle di riscaldamento e la media delle successive. Su iPhone Xcode fa lo stesso per i modelli Core ML. Nel browser si usa performance.now intorno alla chiamata del modello.

Qualunque strumento usi, tieni fisse le condizioni. Schermo acceso, telefono non in carica, nessuna app pesante aperta, stessa temperatura di partenza. E ripeti la misura in giorni diversi, perché gli aggiornamenti di sistema cambiano i numeri.

for (let i = 0; i < 10; i++) modello(esempio);          // riscaldamento
const t = [];
for (let i = 0; i < 100; i++) { const t0 = performance.now(); modello(esempio); t.push(performance.now() - t0); }
t.sort((a, b) => a - b);
console.log("mediana", t[50], "95 per cento", t[95]);
(03)

MLPerf Mobile, il confronto tra telefoni

MLCommons, un consorzio di aziende e università, pubblica MLPerf Mobile, una serie di prove standard per i modelli sul telefono. Classificazione di immagini, rilevamento, segmentazione, domande su un testo, sempre con gli stessi modelli e le stesse regole.

I risultati sono pubblici e c'è un'app per misurare il proprio telefono. Servono a confrontare i chip, non il tuo modello. Il tuo modello va misurato sul tuo telefono di riferimento, con i tuoi dati, come in questa lezione.

(Prova sul telefono)

La soglia e i due errori


Qui ci sono le risposte di un modello su 500 foglie di prova, 100 malate e 400 sane. Ogni foglia ha la sua percentuale di malata. Sposta la soglia e guarda come cambiano la matrice di confusione, la precisione e il richiamo.

Lo strumento ha bisogno di JavaScript acceso.

Le percentuali sono inventate ma si comportano come quelle vere. Cerca la soglia più alta che non perde più di cinque foglie malate e guarda quanti falsi allarmi costa.

(Verifica)

4 domande per chiudere la lezione.

Quando rispondi a tutte, la lezione risulta fatta e sulla mappa la sua pietra diventa gialla. Conta rispondere, non il punteggio.


  1. (01)

    Il 95 per cento delle foglie di prova è sana. Il modello ha il 95 per cento di accuratezza. Cosa puoi concludere?

  2. (02)

    Il modello dice malata a 50 foglie, e 40 lo sono davvero. Le malate in tutto sono 80. Quanto valgono precisione e richiamo?

  3. (03)

    Come si misura bene la latenza di un modello?

  4. (04)

    Su quale telefono conviene misurare?

Per chiudere la lezione rispondi alla verifica

← Modelli che vedono e parlano Torna alla mappa
(Prossima lezione · 06.02) Quantizzare