← Ultimi articoli
💻 computer science

NeSyCat Torch: A Differentiable Tensor Implementation of Categorical Semantics for Neurosymbolic Learning

NeSyCat Torch unifica diverse semantiche neurosimboliche sotto un unico framework monadico implementando un addestramento differenziabile basato su tensori tramite un monade log-tensor pigra, ottenendo una velocità e un'accuratezza superiori sull'addizione di MNIST rispetto ai sistemi esistenti pur mantenendo una struttura uniforme adattabile a vari approcci del primo ordine.

Autori originali: Daniel Romero Schellhorn, Till Mossakowski, Björn Gehrke

Pubblicato 2026-06-19
📖 5 min di lettura🧠 Approfondimento

Autori originali: Daniel Romero Schellhorn, Till Mossakowski, Björn Gehrke

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Il Grande Problema: Troppe Lingue

Immaginate di avere un team di esperti che cerca di insegnare a un robot come pensare.

  • L'Esperto Classico parla con una logica rigida di tipo "Sì/No".
  • L'Esperto Fuzzy parla in termini di "Forse" o "Più o meno".
  • L'Esperto Probabilistico parla in percentuali e probabilità.
  • L'Esperto Neurale (l'IA) impara guardando immagini e indovinando schemi.

Il problema è che questi esperti parlano lingue diverse. Hanno regole diverse per ciò che conta come "vero". Se l'Esperto Classico scrive una regola, l'Esperto Probabilistico non può capirla e l'Esperto Neurale non può imparare da essa. Questo è chiamato frammentazione.

La Soluzione: Un Traduttore Universale (NeSyCat)

Gli autori hanno precedentemente costruito un "Traduttore Universale" chiamato NeSyCat. Pensatelo come un modello maestro che può tradurre qualsiasi una di quelle lingue degli esperti in un unico registro unificato. Utilizza uno strumento matematico chiamato Monade (che potete immaginare come un "contenitore" o un "involucro") per contenere la logica.

Tuttavia, finora, questo traduttore aveva un pezzo mancante: poteva descrivere le regole, ma non poteva effettivamente insegnare all'Esperto Neurale (l'IA) come impararle. Era come avere il progetto di un'auto ma senza motore.

Entra in scena NeSyCat Torch: Il Motore

NeSyCat Torch è il motore mancante. Prende quel progetto universale e lo collega direttamente agli strumenti di IA moderni (come PyTorch e JAX). Permette all'IA di imparare dalle regole, non solo di tirare a indovinare.

Ecco come funziona, suddiviso in tre semplici livelli:

1. Il Contabile "Pigro" (Il Monade di Addestramento)

Quando un'IA impara, compie molti calcoli. Se provate a calcolare ogni singola possibilità in una volta sola, i numeri diventano caotici e il computer si blocca (o ci mette un'eternità).

  • L'Analogia: Immaginate uno chef che assaggia una zuppa. Se dovesse assaggiare ogni singolo granello di sale individualmente, non finirebbe mai. Invece, assaggia l'intera pentola in una volta sola.
  • Il Trucco del Paper: Gli autori utilizzano un approccio "Lazy" (pigro). Non calcolano la probabilità di ogni singolo risultato immediatamente. Aspettano fino alla fine per fare il calcolo. Utilizzano un contenitore speciale chiamato "Log-Tensor" che mantiene i numeri stabili e facili da gestire, come tenere una ricetta in un taccuino che si aggiorna solo quando è il momento effettivo di cucinare.

2. Il Nastro Trasportatore a "Batch" (Il Monade di Batch)

Di solito, un'IA impara guardando una foto, facendo un tentativo e poi guardando la foto successiva. Questo è lento.

  • L'Analogia: Immaginate una linea di produzione in una fabbrica. Invece di ispezionare un'auto alla volta, mettete 32 auto su un nastro trasportatore e le ispezionate tutte contemporaneamente.
  • Il Trucco del Paper: Utilizzano un "Batch Monad" per avvolgere un intero gruppo di dati (un mini-batch) insieme. L'IA elabora l'intero gruppo in un colpo solo, il che rende l'addestramento incredibilmente veloce.

3. Il Ponte "A Due Vie"

Il sistema deve parlare con la rete neurale (che vede immagini sfocate) e con le regole logiche (che richiedono risposte chiare).

  • L'Analogia: Pensate a un traduttore che parla sia la lingua delle "Immagini Sfocate" che quella della "Logica Chiara".
  • Il Trucco del Paper: Hanno costruito un ponte. Quando l'IA vede un'immagine sfocata di un "7", non si limita a indovinare "7". Crea una "nuvola di possibilità" (una distribuzione di probabilità). Il sistema utilizza poi la matematica per combinare queste nuvole (come mescolare i colori) per vedere se il risultato finale corrisponde alla regola (ad esempio, "Questa immagine più quella immagine fa 15?").

Il Test: Aggiungere Cifre Scritte a Mano

Per dimostrare che funziona, gli autori hanno testato il sistema su un compito classico: MNIST Addition.

  • Il Compito: Mostrare all'IA due numeri scritti a mano (come un 3 e un 4) ma nascondere i numeri stessi. L'IA vede solo la somma (7).
  • L'Obiettivo: L'IA deve imparare a riconoscere le singole cifre semplicemente conoscendo la loro somma.
  • Il Risultato: L'IA ha imparato a riconoscere le cifre con un'accuratezza di circa il 97%.

Perché è un Grande Passo Avanti (I Risultati)

Gli autori hanno confrontato NeSyCat Torch con altri famosi sistemi di logica per l'IA (come LTN e DeepProbLog).

  • Velocità: Era molto più veloce. Mentre altri sistemi andavano in timeout o si bloccavano su problemi più difficili, NeCyCat Torch continuava a girare senza problemi.
  • Accuratezza: Era più accurato di LTN e DeepProbLog, e quasi quanto il miglior sistema (DeepStochLog).
  • Flessibilità: La parte migliore è che, poiché è costruito su questo "Traduttore Universale" (il Monade), potete sostituire il "contenitore" per cambiare il modo in cui l'IA pensa. Potete passare dalle "Probabilità" alla "Logica Fuzzy" semplicemente cambiando un'impostazione nel codice, senza dover riscrivere l'intero programma.

Riassunto

NeSyCat Torch è un nuovo modo per costruire un'IA che combina la logica rigorosa con l'apprendimento flessibile. Utilizza un astuto trucco matematico "lazy" per evitare di appesantirsi con i calcoli e un trucco di "batching" per elaborare i dati rapidamente. Ha dimostrato che è possibile insegnare a un'IA a riconoscere numeri scritti a mano semplicemente fornendo le regole dell'addizione, il tutto in modo più veloce e accurato rispetto ai metodi precedenti.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →