Un modello di rete neurale autoregressivo sviluppato per generare set di cartelle della tombola.
In un set della tombola italiana, i numeri da 1 a 90 sono distribuiti su 6 cartelle, ognuna con 3 righe e 9 colonne, con cinque numeri per riga, distribuendoli in modo che ogni colonna contenga almeno un numero nelle 6 cartelle complessive.
Addestrare una rete neurale a ricreare queste combinazioni è stato per me una sfida avvincente, un viaggio attraverso tecniche di deep learning avanzate, partendo da un vasto dataset di 1.800.000 cartelle valide che avevo generato mediante algoritmi classici (vedi post precedente).
Il modello, invece di provare a generare tutte le cartelle in un unico passaggio, crea la posizione del numero 1, poi del 2, poi del 3, e così via, fino al 90. Ogni volta, “vede” i numeri già posizionati e decide dove piazzare il successivo.
In questo modo, imita le regole apprese dal dataset. Il modello (un'architettura Transformer semplificata) ha all'incirca 600.000 parametri: una parte serve per “comprendere” l'indice del numero (1-90), un'altra per il meccanismo di attenzione sui passi precedenti, e infine un'uscita che prevede la posizione in cui piazzare ciascun numero.
Il training avviene utilizzando la funzione di cross-entropy per l'ottimizzazione, iterando per diverse epoche. Durante ogni epoca, il modello analizza l'intero dataset di addestramento, che contiene quasi due milioni di cartelle valide. Al termine, l'intelligenza artificiale ha imparato a generare nuovi set di 6 cartelle, inserendo i numeri 1-90 all’interno di pattern simili a quelli del dataset originale.
La maggior parte delle cartelle generate rispetta le regole della tombola, anche se occasionalmente si verificano piccole deviazioni.
Glossario dei termini tecnici:
Modello autoregressivo: modello che prevede il termine successivo di una sequenza sulla base di quelli precedenti.
Transformer: modello di rete neurale che utilizza meccanismo dell'attenzione, proposto per la prima volta nell'articolo scientifico “Attention Is All You Need”.
Cross-entropy: funzione matematica che misura quanto sono lontane le previsioni del modello dalla realtà.
Dataset: insieme di dati utilizzato per addestrare il modello.
Epoca: ciclo completo di addestramento in cui il modello analizza l'intero dataset una volta.
Parametri: valori numerici interni al modello che vengono ottimizzati durante l'addestramento.
Meccanismo di attenzione: capacità del modello di focalizzarsi su parti rilevanti dell'input.
![]() |
Dimostrazione della convergenza del modello (il valore finale potrebbe essere un minimo locale e come tale diminuito ulteriormente) |
![]() |
Stato di apprendimento delle regole dopo 30 epoche |