Passa ai contenuti principali

Post

Copertine che diventano grattacieli

E se le mie copertine diventassero grattacieli? Ho provato a costruire una città 3D in Blender partendo da un'idea semplice: usare le copertine dei miei libri, costruiti con la mia app apposita, come facciate degli edifici. Il risultato è un piccolo esperimento di generative art: • una città procedurale di ~200 grattacieli, con il centro più alto e la periferia bassa, come uno skyline vero; • ogni edificio proporzionato su misura della copertina: una copertina in larghezza, un numero intero in altezza, senza tagli; • strade complete di asfalto, cordoli, mezzeria tratteggiata e attraversamenti pedonali; • giardini alberati tra gli isolati; • il tutto su un'isola, circondata da un canale pieno di acqua animata (Ocean modifier); • una camera che ci vola dentro come un elicottero: entra da fuori, scende in strada, percorre le vie a serpentina tra le torri e risale sullo skyline al tramonto.  La parte più interessante non è il render, ma il metodo: l'ho costruita conversando con...
Post recenti

ebook a puntate - puntata 01

"La storia delle reti neurali" è un saggio divulgativo che ripercorre l'evoluzione dell'Intelligenza Artificiale, dai pionieristici modelli degli anni '40 fino all'era del Deep Learning. Un racconto fatto di entusiasmi, fallimenti e geniali intuizioni che spiegano come le macchine abbiano imparato a pensare. Indice dei capitoli Capitolo 1 — Le origini e il sogno del "cervello elettronico" Capitolo 2 — L'inverno dell'Intelligenza Artificiale Capitolo 3 — Il rinascimento e la magia della retropropagazione Capitolo 4 — L'ascesa delle macchine visive: le reti convoluzionali Capitolo 5 — L'esplosione del Deep Learning: Big Data e GPU Capitolo 6 — L'era dell'attenzione: la rivoluzione dei Transformer Capitolo 7 — L'alba dell'IA generativa e i grandi modelli linguistici Capitolo 8 — La scatola nera: etica, pregiudizi e il problema dell'allineamento Capitolo 9 — Oltre il Deep Learning: la strada verso l'Inte...

Dinostrato non è un refuso

Ho voluto fare un piccolo esperimento con RAGradix Pro , il sistema RAG che ho sviluppato ad hoc principalmente per la didattica. L’esperimento parte da una voce enciclopedica degli anni ʼ80 dedicata a Dinostrato e alla sua quadratrice. Ho poi posto esattamente la stessa domanda in due modalità diverse: «Cosa sai di Dinostrato e la sua quadratrice?» La differenza tra le due modalità è sostanziale. Chat generale del modello In questa modalità il modello LLM locale  non legge i documenti presenti nel workspace . Risponde utilizzando la propria conoscenza parametrica, cioè ciò che ha appreso durante l’addestramento. Solo workspace In questa modalità, invece, RAGradix Pro effettua il retrieval sui documenti caricati , recupera i passaggi pertinenti e costruisce la risposta sulla base delle informazioni presenti nelle fonti. La risposta permette inoltre di vedere i riferimenti ai passaggi recuperati e i relativi punteggi di similarità, rendendo più tr...

Una IA locale legge Pirandello

Oggi vi porto dietro le quinte di un esperimento affascinante che unisce un grande classico della letteratura italiana all'Intelligenza Artificiale.  Ho chiesto alla mia app desktop che implementa un sistema RAG qualcosa di molto specifico scritto nel romanzo “Il fu Mattia Pascal”. Risultato? Una preziosa lezione pratica su come funzionano i sistemi Retrieval-Augmented Generation e su quanto sia vitale la precisione delle nostre domande, i cosiddetti prompt. Per chi non lo ricordasse, nel romanzo di Pirandello, Mattia Pascal vince una fortuna dopo 12 giorni di roulette a Montecarlo (Capitolo VI). Successivamente, sul treno, fa il conteggio esatto del suo gruzzolo (Capitolo VII). La cifra esatta che ha in tasca è di 81.725 lire e 40 centesimi (spesso arrotondata a circa 82.000 lire nel testo). La citazione precisa dal Capitolo VII è: "...ottantunmila settecento venticinque lire, e quaranta centesimi in tasca." Hi chiesto al mio RAG di trovare questo dato. Alla prima doman...

CN2 e il mistero del drago che sputava fuoco

Può un algoritmo imparare a distinguere un drago da un grifone, una sirena da un vampiro o un golem da un unicorno? Naturalmente queste creature non esistono nel mondo reale, ma proprio per questo costituiscono un ottimo terreno di sperimentazione. Eliminando per un momento problemi concreti come diagnosi mediche, frodi bancarie o guasti industriali, possiamo osservare il funzionamento di un modello di intelligenza artificiale in modo semplice, visivo e divertente. Da questa idea nasce Il Bestiario Artificiale , un esperimento realizzato con Orange Data Mining e il widget CN2 Rule Induction . Un archivio di creature fantastiche Il workflow genera automaticamente un dataset composto da 168 creature , suddivise in sei specie: Drago Grifone Sirena Vampiro Golem Unicorno Ogni creatura viene descritta attraverso caratteristiche osservabili, proprio come avverrebbe in un antico manuale di zoologia fantastica. Gli attributi utilizzati sono: ...

Una storia semplice

C’è un momento preciso, nel lavoro di chi analizza i dati, in cui ci si sente un po’ come il professor Franzò di Sciascia: circondati da una complessità monumentale che, a guardarla bene, nasconde una spiegazione lineare, In questo mio esperimento su Orange Data Mining , l'obiettivo è stato tanto elementare quanto cruciale: dare in pasto a un algoritmo un dataset “sporco” — pieno di variabili fisiche e ambientali come la temperatura della stanza, l'umidità e persino il codice del colore — per vedere se il sistema fosse in grado di isolare l'unica vera legge geometrica sottostante: l'area di un cilindro ( A = 2 π · r · h + 2 π · r² ). Il verdetto del widget Rank è stato spietato e bellissimo. Nel romanzo di Sciascia, si cercano piste intricate, complotti e spiegazioni fumose per quello che è, fondamentalmente, un delitto evidente. Così si viene a creare molto “rumore” investigativo. Nel nostro dataset è successa la stessa cosa, ma al contrario. Gli algoritmi di rank...

VADER o DistilBERT?

In questo esperimento ho utilizzato Orange Data Mining per analizzare il sentimento di alcune recensioni di prodotto. Il problema di partenza era semplice: trasformare una recensione testuale in un giudizio automatico, per esempio positivo, negativo o neutro. Il primo approccio è stato quello con VADER, tramite il widget Sentiment Analysis di Orange. Il flusso era: File → Select Columns → Corpus → Sentiment Analysis → Data Table  VADER affronta il problema in modo lessicale: cerca parole positive e negative nel testo, assegna punteggi e produce un valore finale chiamato compound. Per esempio, parole come: excellent good recommend  spingono il risultato verso il positivo, mentre parole come: terrible defective disappointing  lo spingono verso il negativo. Questo metodo è semplice, veloce e abbastanza trasparente. Il suo limite è che non interpreta davvero il contesto complessivo della frase. Una recensione come: Decent, but the value for money could be better....