Seleziona una pagina

Addestrare l’ia

Ora che abbiamo trattato l’importanza di scegliere i dati di addestramento e l’architettura corretti, è il momento di vedere come tutto si combina. L’ultimo passo è il processo di training dell’IA. Hai costruito l’edificio, hai comprato i mobili, e ora è il momento di sistemarli. In questo capitolo discuteremo diversi aspetti rilevanti riguardanti l’addestramento dell’IA. Nel contesto degli algoritmi genetici parleremo dell’importanza delle funzioni di fitness e collegheremo questo più in generale al reinforcement learning. Successivamente analizzeremo la differenza tra apprendimento supervisionato e non supervisionato.

Sebbene vi siano differenze tra questi due concetti, vengono trattati insieme perché entrambi prevedono che l’IA impari interagendo con un ambiente. Le funzioni di fitness sono centrali nei GA, poiché le soluzioni devono essere classificate in qualche modo per selezionare i “genitori”. È quindi importante stabilire quale sia la funzione di fitness più efficace.

Immaginiamo per un momento che Google Maps utilizzasse un’IA per trovare il percorso più breve. Quale sarebbe la funzione di fitness? La distanza più corta? Il minor consumo di carburante? Il minor tempo per raggiungere la destinazione? Ci sono sempre compromessi: calcolare la distanza è relativamente semplice, ma calcolare il tempo richiede di considerare la velocità massima delle strade, i semafori, il traffico, eventuali chiusure, ecc. Questo potrebbe rallentare la valutazione delle soluzioni e rallentare il processo evolutivo. È comunque fondamentale avere una funzione di fitness appropriata, perché determina i risultati. Le risposte per “percorso più veloce” e “più efficiente in termini di carburante” potrebbero perfino essere diverse.

Un altro esempio: se stai addestrando un’IA per gli scacchi e definisci la funzione di fitness come “numero di pezzi sulla scacchiera”, potresti comunque venire messo sotto scacco matto pur senza perdere alcun pezzo. Ecco perché è necessario considerare attentamente quale funzione di fitness utilizzare.

Il reinforcement learning è collegato a questo concetto, in quanto include funzioni di fitness. È particolarmente diffuso nell’apprendimento simulato – quando l’IA si trova in un ambiente virtuale e tenta di raggiungere un obiettivo. Il principio è che l’IA venga ricompensata per azioni corrette e punita per azioni sbagliate. Ad esempio, se l’IA è un’auto in un videogioco di corse, riceve più punti se taglia il traguardo più velocemente e perde punti se va nella direzione sbagliata. In questo modo, generazione dopo generazione, vengono mantenute le soluzioni migliori mentre quelle peggiori non si riproducono. Anche in questo caso, la funzione usata per valutare l’IA deve essere attentamente progettata.

L’IA deve avere abbastanza spazio per sperimentare, perché potrebbe trovare soluzioni migliori di quelle che ti aspetti. Se sei troppo rigido con la funzione di fitness, l’IA troverà soltanto la soluzione che desideri, che potresti trovare anche da solo. Nell’esempio della corsa, se dai punti per “stare stretti sulle curve”, sei troppo restrittivo e impedisci di esplorare strategie alternative. Potrebbe infatti risultare più efficace, nell’economia dell’intera gara, affrontare una curva larga mantenendo la velocità.

Gli algoritmi genetici, le funzioni di fitness e il reinforcement learning sono tutti collegati, poiché utilizzano l’interazione con un ambiente per addestrare l’IA tramite una valutazione dei risultati. L’altro paradigma consiste nel non dire all’IA se sta facendo bene o male, ma addestrarla su grandi quantità di dati e vedere cosa succede.

Nell’apprendimento supervisionato, nonostante il nome, non c’è una persona che supervisiona direttamente il processo. La differenza sta nel tipo di dati forniti all’IA. L’apprendimento supervisionato si basa su dati etichettati (solitamente da esseri umani). Significa che qualcuno ha fornito le “risposte corrette”, come studiare per un esame utilizzando le soluzioni degli esami precedenti. È utile quando c’è un risultato chiaro e atteso, e produce modelli di IA più prevedibili e meno volatili (con meno variazioni in accuratezza e coerenza).

Nell’apprendimento non supervisionato, i dati non sono etichettati e l’IA cerca schemi all’interno dei dati stessi, piuttosto che collegare i dati alle etichette. È utile quando le aspettative sono soggettive, come nella lingua scritta: ci sono molti modi per dire la stessa cosa e nessuno è intrinsecamente sbagliato. In questi casi è poco pratico etichettare i dati ed è più efficace lasciare che l’IA scopra autonomamente schemi e relazioni.

Ora che sappiamo che la differenza tra apprendimento supervisionato e non supervisionato riguarda il tipo di dati forniti all’IA, vediamo le applicazioni di entrambi. Nei modelli avanzati come i LLM (ad esempio ChatGPT) si usano entrambi, per dare all’IA maggiore capacità. Ma a cosa serve ciascun approccio?

La distinzione è importante perché ciascun metodo ha caratteristiche specifiche. L’apprendimento supervisionato può essere costoso, poiché richiede dati etichettati – un processo intensivo considerando la quantità di dati necessaria per addestrare un modello complesso. Ha però il vantaggio di fornire output ben definiti e strutturati. L’apprendimento non supervisionato, invece, può usare qualsiasi dato disponibile e costruire schemi a partire da quello. È meno esplicito e strutturato nei risultati, ma più semplice da addestrare, poiché non richiede dati speciali. È particolarmente efficace nell’individuare sfumature e schemi altrimenti poco evidenti.