Il Libro di Intelligenza Artificiale che spiega due volte. Machine Learning, Deep Learning e Reinforcement Learning con Python: in italiano, gratis, in aggiornamento continuo.
Questa è la versione online di Paithon Book, di Francesco Messina: un percorso completo (dall'algebra lineare ai Transformer) scritto con la tradizione della divulgazione italiana. Rigoroso nei contenuti, accessibile nel tono.
👉 Leggilo qui: book.paithon.it
Il libro cambia: le sezioni nuove e le correzioni sono registrate, versione per versione, in Aggiornamenti.
Ogni concetto chiave è spiegato due volte, con un sistema di schede affiancate:
- Elementare, analogie concrete e quotidiane, zero prerequisiti: deve poterlo leggere uno studente di liceo (o chiunque, sotto l'ombrellone).
- Superiore, la trattazione formale: definizioni, notazione, formule, riferimenti ai paper originali.
I due livelli si alternano nello stesso capitolo: si può leggere tutto all'Elementare, tutto al Superiore, o saltare dall'uno all'altro. Un interruttore nella barra in alto (icona a due barrette, accanto a ricerca e chiaro/scuro) imposta il livello di partenza di tutto il libro e lo ricorda; aprire una singola scheda al livello opposto resta un'eccezione locale, che non contagia i paragrafi successivi. Per questo ogni livello è scritto per reggersi da solo.
| # | Capitolo | In breve |
|---|---|---|
| 1 | Introduzione | Che cos'è l'AI, da ELIZA a oggi; il primo notebook eseguibile |
| 2 | Python | Le basi del linguaggio, NumPy, pandas e matplotlib |
| 3 | Richiami di matematica | Algebra lineare, ottimizzazione, probabilità, teoria dell'informazione, analisi numerica |
| 4 | Machine Learning | Apprendimento supervisionato, overfitting, metriche, iperparametri, alberi e metodi ensemble (Random Forest, gradient boosting, XGBoost), SVM e kernel trick, riduzione della dimensionalità e clustering (PCA, t-SNE/UMAP, k-means, DBSCAN), distribution shift, processi gaussiani |
| 5 | Reti Neurali | Percettrone, funzioni di attivazione, backpropagation |
| 6 | PyTorch | Tensori, autograd, nn.Module, training loop, prestazioni e scala |
| 7 | GPU e calcolo parallelo | Sotto il cofano: architettura ed esecuzione, gerarchia di memoria, kernel e Triton, GEMM e tensor core, Flash Attention, parallelismo dati/tensor/pipeline e FSDP |
| 8 | Deep Learning | Reti convoluzionali, ottimizzazione e regolarizzazione, architetture storiche |
| 9 | Visione Artificiale | Classificazione e transfer learning, data augmentation, apprendimento auto-supervisionato (SimCLR, MoCo, BYOL, DINO, MAE), detection e segmentazione, style transfer |
| 10 | Reinforcement Learning | MDP, value/policy iteration, Q-learning |
| 11 | Deep Reinforcement Learning | DQN e policy gradient, actor-critic (A2C/A3C/PPO), controllo continuo (DDPG/TD3/SAC), RL basato su modello (MuZero, Dreamer), offline RL (Decision Transformer), esplorazione e reward hacking |
| 12 | Natural Language Processing | Strumenti classici, embedding, tokenizzatori a sotto-parole (BPE, WordPiece, SentencePiece), classificazione, n-gram, RNN/LSTM, seq2seq, POS/NER, parsing, dialogo |
| 13 | Transformers | Self-attention, architettura, Mixture of Experts, GPT/BERT/ViT/CLIP, LLM e scaling, post-training (RLHF/DPO), RAG |
| 14 | Attenzione lineare | Dall'attenzione quadratica alla ricorrenza lineare; delta rule e gate; DeltaNet, GLA, RetNet, RWKV, xLSTM |
| 15 | State Space Model | Dai sistemi dinamici a S4; Mamba e il selective scan; dualità SSD, Mamba-2 e Mamba-3; ibridi e limiti |
| 16 | Visione e linguaggio | Modelli che vedono e parlano: addestramento contrastivo (CLIP, SigLIP), connettori (Flamingo, Q-Former, proiettore), fusione precoce e vocabolario comune, il costo del dettaglio (tessere, documenti), allucinazione visiva e azioni come token |
| 17 | Agenti e applicazioni LLM | Tool use e ReAct, RAG avanzato (HyDE, reranking, Self-RAG), context engineering, architetture multi-agente e valutazione |
| 18 | Prompt, contesto e loop | Programmare gli LLM a parole su tre livelli concentrici: prompt engineering (ruoli, few-shot, chain-of-thought, self-consistency), context engineering (le quattro mosse, i guasti del contesto, il PRP), loop engineering (il ciclo con validation gate, split maker/checker, governance) |
| 19 | Sistemi multi-agente | Quando gli agenti sono molti: il costo del coordinamento (Amdahl, composizione degli errori), topologie (supervisore, lavagna, mercato), protocolli e consenso (Condorcet, dibattito, bizantini), MARL e self-play, sciami (ACO, PSO) e società simulate |
| 20 | Audio oltre la voce | Dal suono alle feature (spettrogramma, mel, MFCC), classificazione (AudioSet, AST), rappresentazioni auto-supervisionate (wav2vec 2.0, HuBERT), codec neurali (VQ-VAE, RVQ, EnCodec), generazione (WaveNet, AudioLM, MusicGen) |
| 21 | Speech Recognition | Dalla voce al testo: allineamento e CTC, modelli con attenzione, Whisper, sintesi vocale (TTS) |
| 22 | Generative Adversarial Network | Il gioco avversario, applicazioni ed evoluzioni |
| 23 | Modelli di Diffusione | Da DDPM a Stable Diffusion e ai Diffusion Transformer (DiT, Sora) |
| 24 | Verosimiglianza esatta | I modelli che sanno dire quanto è probabile un dato: autoregressivi sulle immagini (PixelCNN, maschere e punto cieco), flussi normalizzanti (cambio di variabile, RealNVP, GLOW), a che serve la verosimiglianza e dove sbaglia |
| 25 | Modelli a energia | Il paesaggio invece della probabilità: memoria associativa di Hopfield, macchine di Boltzmann e contrastive divergence, i modi di aggirare la funzione di partizione (Langevin, score matching, NCE), la cornice di LeCun, EBM di oggi (IGEBM, JEM) |
| 26 | Auto-supervisione | Il segnale fabbricato dai dati: la banda informativa e la torta di LeCun, le quattro famiglie (contrastiva, distillazione, riduzione di ridondanza con Barlow Twins e VICReg, mascheramento), collasso e misura, il dibattito sul rinforzo |
| 27 | World Model | Simulatori interni: Ha & Schmidhuber, Dreamer, la via di LeCun (JEPA), simulatori video e dibattito |
| 28 | Graph Neural Network | Dati relazionali e message passing: GCN, GraphSAGE, GAT; node embedding, applicazioni (molecole, raccomandazione, frodi, traffico) e limiti (oversmoothing) |
| 29 | Sistemi di Raccomandazione | Dal Netflix Prize alla matrix factorization e alla raccomandazione neurale |
| 30 | Serie temporali | Prevedere dal passato: decomposizione, ARIMA e Holt-Winters, validazione temporale e metriche (MASE, pinball loss), forecasting neurale (TCN, DeepAR, N-BEATS, Transformer, foundation model) |
| 31 | Physics-Informed Neural Networks | Le equazioni differenziali dentro la loss; operatori neurali |
| 32 | MLOps | Dal notebook alla produzione: versionamento, pipeline di dati, serving e quantizzazione, metriche di servizio (TTFT, TPOT, goodput), monitoraggio del drift, LLMOps e deploy |
| 33 | Interpretabilità e XAI | Aprire la scatola nera: modelli trasparenti, importanza delle feature, LIME/SHAP/controfattuali, Grad-CAM e integrated gradients, interpretabilità meccanicistica |
| 34 | AI responsabile | Equità e bias, privacy (differential privacy, federated learning) e robustezza agli attacchi avversari, sicurezza degli LLM (prompt injection, jailbreak, red teaming), allineamento (RLHF/DPO) e governance (l'AI Act europeo) |
| 35 | Conclusioni | Bilancio e letture per proseguire |
Il framework di riferimento per tutto il codice è PyTorch (con NumPy e scikit-learn dove appropriato). Due capitoli (Introduzione e Attenzione lineare) hanno un notebook eseguibile, con i pulsanti per Colab e per l'esecuzione nel browser (Thebe); negli altri il codice è da leggere e copiare.
- Sorgente:
book/, Markdown MyST e notebook Jupyter, indice inbook/_toc.yml. - Figure: SVG geometriche disegnate a mano in
book/figures/, su palette fissa (terracotta#B5532C, teal#2D5A5C, ocra#C9A961, warm-black#1A1A1A, cream#F8F5EE). Niente immagini generate, niente stock. Sono numerate per capitolo (Fig. 3.2) e il numero non si scrive a mano: lo calcolabook/_ext/pt_figure.pydall'indice. Toccandole si aprono a schermo intero, perché in una colonna da telefono le etichette dentro un diagramma diventano illeggibili. - Tema: la firma visiva arriva dal submodule
paithon-it/brand(book/_static/brand), con light/dark mode automatica. - Bibliografia:
book/references.bib, citata nel testo capitolo per capitolo. - Deploy: a ogni push su
book/GitHub Actions ricostruisce e pubblica il libro (.github/workflows/call-deploy-book.yml).
# 1. Clona il repo (con il submodule del tema, o resti senza firma visiva)
git clone --recurse-submodules https://github.com/paithon-it/paithonbook.git
cd paithonbook
# 2. Installa le dipendenze
pip install -r requirements.txt
# 3. Costruisci
jb build book
# 4. Guarda il risultato
python -m http.server 8080 --directory book/_build/html
# poi apri http://localhost:8080/Circa 190 pagine in un minuto. I notebook non vengono rieseguiti a ogni build
(execute_notebooks: auto esegue solo quelli che non hanno gli output
salvati), quindi il tempo è quasi tutto Sphinx.
Se una modifica non compare, la prima sospettata è la cache: jb clean book
ricostruisce da zero, e jb build book --all rifà tutte le pagine senza
buttare via l'ambiente.
Installate dal requirements.txt, non a mano. pip install jupyter-book
oggi vi darebbe la 2, che non è la versione successiva di questo strumento
ma un altro programma (si chiama mystmd, non usa Sphinx e con il
_config.yml di questo libro non c'entra niente). Il requirements.txt
installa teachbooks, che vincola la serie giusta.
Per correggere un refuso non serve: la CI costruisce a ogni push. Serve invece quando la domanda riguarda qualcosa che il sorgente non dice, e sono più cose di quante sembri:
- che numero prende una figura. Sono numerate per capitolo (
Fig. 3.2) da un'estensione che riscrive i contatori di Sphinx: nel sorgente il numero non c'è, e finché non si builda non esiste; - se un
{numref}o un{cite}risolve. Un riferimento a un'ancora sbagliata non è un errore di sintassi: la pagina si costruisce lo stesso e il link esce morto. Per stanarli,jb build book -n --allsegnala ogni riferimento che non trova destinazione (oggi non ne segnala nessuno); - come viene una pagina stampata, che è un rendering diverso da quello a schermo e con regole proprie.
- ✍️ Seleziona la frase che non torna, direttamente nel libro: compare un pulsante Segnala che apre una issue già compilata con la citazione, la sezione e il file sorgente.
- 🐛 Oppure apri una issue a mano. Le regole e la concessione di licenza necessaria sono in
CONTRIBUTING.md. - ✉️ Feedback e proposte: info@paithon.it.
- ⭐ Se il libro ti è utile, una stella al repo aiuta il progetto a farsi trovare.
- ❤️ Puoi anche offrire una pizza all'autore.
Il libro è depositato su Zenodo e ha un DOI: 10.5281/zenodo.21947219. Quello è il DOI di tutte le versioni: apre sempre l'ultima depositata, e da lì si legge il PDF nel browser senza scaricarlo. Ogni versione ne ha poi uno suo, scritto sulla sua scheda, e va usato quando si cita un passaggio che potrebbe cambiare, perché questo libro cambia davvero.
La citazione pronta la dà il pulsante «Cite this repository» nella colonna
di destra, che GitHub costruisce da CITATION.cff: quel file
non si scrive a mano, lo genera python3 scripts/genera-citazione.py dal
registro delle versioni, così il numero non può divergere da quello del libro.
@book{paithonbook,
author = {Messina, Francesco},
title = {Paithon Book. Il Libro di Intelligenza Artificiale che spiega due volte},
publisher = {paithon.it},
year = {2026},
doi = {10.5281/zenodo.21947219},
url = {https://book.paithon.it/main/}
}Il progetto adotta un doppio regime di licenza:
- Testi e figure, CC BY-NC-ND
4.0 (file
LICENSE): puoi condividerli citando la fonte, senza usi commerciali né opere derivate. Vale per i.mde i.ipynbsottobook/e per le SVG inbook/figures/. - Codice degli esempi, Apache 2.0 (file
LICENSE-CODE): puoi usarlo, modificarlo e integrarlo nei tuoi progetti, anche commerciali, mantenendo le note di copyright e di licenza. Include una concessione esplicita di brevetto. Sono i frammenti di codice dentro i capitoli e i notebook.
Tutto il resto del repository, la meccanica del libro (book/_static/,
book/_templates/), gli script e i generatori, è © Francesco Messina
(paithon.it), tutti i diritti riservati.
Materiale di terzi, con le sue licenze: il tema
sphinx-book-theme
(BSD-3-Clause), i font Fraunces, Inter e JetBrains Mono
(SIL OFL 1.1, il cui testo viaggia con i file nel submodule), e il submodule
paithon-it/brand, che ha una licenza
propria.
Per contribuire (e per la concessione che serve, dato che la licenza dei testi
vieta le opere derivate), vedi CONTRIBUTING.md.
© 2019–2026 Francesco Messina · paithon.it
