Sintesi Tecnica: Structural Logic Tensor Networks (sLTN)
Definizione del Problema
I Logic Tensor Networks (LTN) forniscono un framework neurosimbolico che integra la logica del primo ordine con le reti neurali, interpretando i simboli logici come tensori e i connettivi logici come operatori fuzzy differenziabili. Sebbene efficaci per compiti che coinvolgono collezioni piatte di individui (ad esempio, interpretazione semantica di immagini, sistemi di raccomandazione), l'originale formulazione LTN manca di meccanismi espliciti per gestire dati dotati di una organizzazione strutturale intrinseca.
In domini come le serie temporali, i dati sequenziali o gli input strutturati a grafo, l'organizzazione strutturale (ordine temporale, posizione nella sequenza, connettività del grafo) è una componente semantica del problema piuttosto che un mero dettaglio di implementazione. L'originale framework LTN tratta i dati come collezioni piatte, rendendo difficile esprimere vincoli che si riferiscano esplicitamente a pattern posizionali o relazionali, come la persistenza temporale, i vincoli di vicinato nei grafi o le dipendenze tra posizioni ordinate. Questa limitazione restringe l'applicabilità del framework a compiti di ragionamento strutturato dove il linguaggio logico deve riferirsi direttamente agli assi lungo i quali gli oggetti sono organizzati.
Metodologia
Per affrontare queste limitazioni, gli autori introducono i Structural Logic Tensor Networks (sLTN), un'estensione di LTN che eleva le dimensioni strutturali a elementi di primo livello del linguaggio logico. La metodologia si basa su tre pilastri fondamentali:
1. Sintassi Estesa e Firma
sLTN estende la firma standard del primo ordine per includere:
- Dimensioni Strutturali (D): Assi tensoriali nominati che rappresentano l'organizzazione specifica del dominio (ad esempio, passi temporali T, posizioni nella sequenza, nodi di un grafo).
- Variabili Strutturali (Ξ): Variabili che variano sugli indici delle dimensioni strutturali dichiarate, distinte dalle variabili del primo ordine che variano sugli individui.
- Relazioni Strutturali (R): Relazioni su tuple di indici strutturali, interpretate come maschere booleane o fuzzy. Ad esempio, una relazione
next(t, t') può esprimere l'adiacenza tra passi temporali consecutivi.
Il linguaggio supporta la quantificazione strutturale (quantificare sugli indici di una dimensione), la quantificazione strutturale guardata (valutare le formule solo dove una relazione strutturale è valida) e l'annotazione/selezione degli assi (rinominare o segmentare specifici assi strutturali).
2. Semantica Tensoriale Fuzzy
La semantica di sLTN è definita tramite tensori annotati, che tracciano esplicitamente il ruolo di ogni asse tensoriale (variabile, strutturale o di dominio).
- Fondazione (Grounding): I simboli sono fondati su tensori o mappe tensoriali. Costanti e variabili portano assi strutturali basati sui loro profili dimensionali. Funzioni e predicati sono fondati come mappe locali che consumano e producono specifici profili strutturali.
- Relazioni Strutturali: Fondate come maschere con valore di verità sugli indici strutturali (ad esempio, una maschera netta per
next dove Mi,j=1 se j=i+1).
- Denotazione Composizionale: La denotazione di termini e formule è calcolata tramite ricorsione strutturale. Le operazioni chiave includono:
- Allineamento degli assi nominati: Allineare i tensori per nome e ruolo prima di applicare operazioni pointwise o mappe locali.
- Consumo e Propagazione: I predicati e le funzioni possono "consumare" assi strutturali (aggregando su di essi) o propagarli pointwise.
- Aggregazione: I quantificatori (sia del primo ordine che strutturali) sono interpretati come operatori di aggregazione (ad esempio, media, min, max) sugli assi variabili o strutturali corrispondenti. I quantificatori guardati utilizzano i valori di verità della guardia come pesi o maschere durante l'aggregazione.
3. Apprendimento e Ottimizzazione
L'apprendimento in sLTN è formulato come l'ottimizzazione di una base di conoscenza (un insieme di clausole chiuse) per massimizzare i loro gradi di soddisfazione.
- Formulazione Multi-Obiettivo: Poiché una base di conoscenza consiste in molteplici clausole, la soddisfazione è naturalmente un problema multi-obiettivo.
- Apprendimento Scalarizzato: Le soddisfazioni delle clausole sono aggregate in una singola perdita scalare utilizzando un aggregatore configurabile (ad esempio, media di potenza) prima della backpropagation.
- Apprendimento Multi-Obiettivo: sLTN supporta il mantenimento delle perdite per singola clausola e la combinazione dei loro gradienti utilizzando aggregatori di discesa del Jacobiano (ad esempio, PCGrad) per gestire obiettivi conflittuali senza una scalarizzazione prematura.
- Differenziabilità: L'intero framework, inclusi gli operatori fuzzy e l'aggregazione, è implementato utilizzando operazioni tensoriali differenziabili in PyTorch, consentendo l'ottimizzazione tramite gradiente dei parametri di interpretazione.
Contributi Chiave
Il documento presenta tre contributi primari:
- Estensione del Linguaggio: Estende il linguaggio LTN con dimensioni strutturali, variabili strutturali e relazioni strutturali, rendendo l'organizzazione strutturale un oggetto esplicito della modellazione logica. Ciò consente alle formule di riferirsi direttamente a pattern posizionali e relazionali.
- Semantica Formale: Fornisce una rigorosa semantica tensoriale fuzzy per sLTN, definendo come le costruzioni strutturali si integrano con i connettivi differenziabili e l'aggregazione dei quantificatori. Dimostra che la semantica originale di LTN viene recuperata come un caso speciale quando le dimensioni strutturali sono assenti.
- Implementazione Modulare: Descrive un'implementazione modulare in Python/PyTorch che separa la sintassi (Signature, parser) dalla semantica (Interpretazioni). La libreria supporta la definizione dichiarativa della firma, il parsing delle formule e l'interpretazione tensoriale con operazioni su assi nominati.
Risultati ed Esempi Illustrativi
Il documento non presenta benchmark empirici su larga scala ma illustra le capacità del framework attraverso un esempio di classificazione video in esecuzione riguardante le cifre MNIST.
- Task: Distinguere tra video "appear" (una cifra rivelata monotonicamente) e video "non-appear" (cifre rivelate e nascoste ciclicamente).
- Applicazione di sLTN:
- Persistenza Temporale: Una formula esprime che se una cifra è completa al tempo t, dovrebbe rimanere completa al tempo t+1 (usando la relazione
next).
- Condizioni al Contorno: Le formule impongono che un video in fase di apparizione inizi incompleto (al tempo t=0) e finisca completo (al tempo t=T−1) usando la selezione dell'asse.
- Giudizio sull'Intera Sequenza: Il predicato
appear consuma l'intero asse temporale per effettuare una classificazione globale, distinta dai predicati a livello di frame come Complete.
- Implementazione: L'esempio dimostra come dichiarare le firme, definire i predicati derivati (ad esempio,
is_appear), analizzare formule complesse con quantificatori strutturali e addestrare il modello usando l'interfaccia kb_backward con ottimizzazione scalare o multi-obiettivo.
Significato e Rivendicazioni
Il documento posiziona sLTN come un'evoluzione necessaria del framework LTN per gestire la crescente domanda di ragionamento neurosimbolico su dati strutturati.
- Espressività: Trattando le dimensioni strutturali come cittadini di primo livello, sLTN permette di esprimere i vincoli logici direttamente al livello della semantica del problema (ad esempio, ordine temporale, topologia del grafo) invece di forzarli in rappresentazioni piatte.
- Compatibilità: Il framework preserva i benefici centrali di LTN, inclusi la semantica fuzzy differenziabile e l'ottimizzazione basata sul gradiente, estendendoli però agli input strutturati.
- Utilità Pratica: La separazione tra sintassi e semantica, insieme alla libreria PyTorch fornita, mira ad abbassare la barriera per l'applicazione del ragionamento neurosimbolico a domini strutturati complessi, come il ragionamento temporale, l'elaborazione sequenziale e l'apprendimento basato su grafi.
Gli autori riconoscono che sLTN è un framework iniziale che richiede ulteriore stabilizzazione e validazione empirica sistematica. Essi delineano il lavoro futuro nello sviluppo di teorie strutturate specifiche per dominio, nell'estensione del linguaggio con primitive computazionali finitamente ricorsive e nell'indagine su programmi pianificati per gli iperparametri per migliorare la stabilità dell'addestramento. Il documento funge da compagno per la libreria open-source sLTN, fornendo la base teorica per il suo utilizzo.