Nel complesso mondo della gestione della supply chain, i dati relazionali sono fondamentali. ERP, WMS, PMS e altri strumenti software onnipresenti nella supply chain operano su database relazionali che tracciano tutto, dai livelli di inventario alle relazioni con i fornitori. I dati relazionali sono costituiti da una serie di tabelle interconnesse, ognuna ricca di colonne di informazioni. Tuttavia, quando si tratta di apprendimento automatico e ottimizzazione matematica, i dati relazionali spesso vengono oscurati da forme più semplici come vettori, sequenze e grafi.

I dati relazionali, grazie alla loro complessità, offrono una visione più approfondita e sfumata delle operazioni rispetto alle loro controparti più semplici (i suddetti vettori, sequenze e grafi). Tuttavia, la maggior parte del software aziendale fatica a utilizzare in modo efficace i dati nella loro forma relazionale. Il risultato? Un adattamento forzato di pezzi quadrati in buchi rotondi, cercando disperatamente di comprimere i dati relazionali in strumenti progettati per modelli più semplici. Questa discrepanza limita le aziende, simile all’utilizzo di un bastone da hockey nel golf - teoricamente fattibile, ma lontano dal matrimonio ottimale tra strumento e scopo.

Determinato a indagare su questo punto cieco, qualche anno fa Paul Peseux ha iniziato un dottorato presso Lokad con l’intento di trasformare i dati relazionali in cittadini di prima classe sia per scopi di apprendimento che di ottimizzazione. I suoi sforzi di ricerca hanno portato a una serie di notevoli miglioramenti alla nostra programmazione differenziabile all’interno di Envision - il DSL (linguaggio di programmazione specifico del dominio) di Lokad dedicato all’ottimizzazione della supply chain. Le impressionanti scoperte di Paul sono ora in produzione, generalmente nascoste nelle capacità di autodiff del DSL.

Autore: Paul Peseux

Data: settembre 2023

Schema del flusso di Envision per la differenziazione delle query relazionali.

Figura 1: Descrizione del flusso implementato presso Lokad.

Abstract:

Questa tesi di dottorato, intitolata, presenta tre contributi nel campo della programmazione differenziabile con un focus sui dati relazionali. I dati relazionali sono diffusi in settori come la sanità e la supply chain, dove i dati sono spesso organizzati in tabelle o database strutturati. Gli approcci tradizionali di apprendimento automatico faticano a gestire i dati relazionali, mentre i modelli di apprendimento automatico white box sono più adatti ma difficili da sviluppare.

La programmazione differenziabile offre una soluzione potenziale trattando le query sui database relazionali come programmi differenziabili, consentendo lo sviluppo di modelli di apprendimento automatico white box che possono ragionare direttamente sui dati relazionali. L’obiettivo principale di questa ricerca è esplorare l’applicazione dell’apprendimento automatico ai dati relazionali utilizzando tecniche di programmazione differenziabile.

Il primo contributo della tesi introduce uno strato differenziabile nei linguaggi di programmazione relazionale, sia dal punto di vista teorico che pratico. Il linguaggio di programmazione Adsl è stato creato per eseguire la differenziazione e trascrivere le operazioni relazionali di una query. Il linguaggio specifico del dominio Envision è stato potenziato con funzionalità di programmazione differenziabile, consentendo lo sviluppo di modelli che sfruttano i dati relazionali in un ambiente nativo di linguaggio di programmazione relazionale.

Il secondo contributo sviluppa un nuovo stimatore del gradiente chiamato GCE, progettato per le caratteristiche categoriche sovrarappresentate nei dati relazionali. GCE si dimostra utile su vari dataset e modelli categorici ed è stato implementato per modelli di deep learning. GCE è anche integrato come stimatore del gradiente nativo nello strato di programmazione differenziabile di Envision, facilitato dal primo contributo di questa tesi.

Il terzo contributo sviluppa uno stimatore del gradiente generalizzato chiamato Stochastic Path Automatic Differentiation (SPAD), che trae la sua stocasticità dalla decomposizione del codice. SPAD introduce l’idea di retropropagare una frazione del gradiente per ridurre il consumo di memoria durante gli aggiornamenti dei parametri. L’implementazione di questo approccio di stima del gradiente è resa possibile dalle decisioni di progettazione durante la differenziazione di Adsl.

Questa ricerca ha implicazioni significative per le industrie che si basano su dati relazionali, sbloccando nuove intuizioni e migliorando la presa di decisioni applicando modelli di apprendimento automatico white box ai dati relazionali utilizzando tecniche di programmazione differenziabile.

Commissione:

La difesa si è svolta di fronte a una commissione composta da:

  • Thierry Paquet, Professore universitario (Università di Rouen Normandia), direttore della tesi.
  • Maxime Berar, Ricercatore (Università di Rouen Normandia), co-supervisore della tesi.
  • Romain Raveaux, Ricercatore (Università di Tours), relatore.
  • Thierry Artières, Professore universitario (ECM / LIS – AMU – CNRS), relatore.
  • Cécilia Zanni-Merk, Professore universitario (INSA Rouen Normandie), esaminatore.
  • Laurent Wendling, Professore universitario (Università di Parigi Cité), esaminatore.
  • Victor Nicolet, CTO di Lokad, consulente.

Scarica la tesi (PDF)