En el intrincado mundo de la gestión de la cadena de suministro, los datos relacionales son fundamentales. Los ERPs, WMS, PMS y otras herramientas de software omnipresentes en la cadena de suministro operan sobre bases de datos relacionales que rastrean todo, desde los niveles de inventario hasta las relaciones con los proveedores. Los datos relacionales consisten en una serie de tablas interconectadas, cada una de ellas rica en columnas de información. Sin embargo, cuando se trata de aprendizaje automático y optimización matemática, los datos relacionales a menudo quedan opacados por formas más simples como vectores, secuencias y grafos.

Los datos relacionales, gracias a su rica complejidad, ofrecen una visión más profunda y matizada de las operaciones que sus contrapartes más simples (los mencionados vectores, secuencias y grafos). Sin embargo, la mayoría del software empresarial lucha por utilizar de manera efectiva los datos en su forma relacional. ¿El resultado? Un intento forzado de encajar piezas cuadradas en agujeros redondos, tratando desesperadamente de comprimir datos relacionales en herramientas diseñadas para modelos más simples. Esta falta de coincidencia limita a las empresas, similar a usar un palo de hockey en el golf, teóricamente factible, pero lejos del matrimonio óptimo entre herramienta y propósito.

Decidido a investigar este punto ciego, hace unos años, Paul Peseux comenzó un doctorado en Lokad con la intención de convertir los datos relacionales en ciudadanos de primera clase tanto para el aprendizaje como para los fines de optimización. Sus esfuerzos de investigación llevaron a una serie de mejoras notables en nuestra programación diferenciable respaldada por Envision, el DSL (lenguaje de programación específico del dominio) de Lokad dedicado a la optimización de la cadena de suministro. Los impresionantes hallazgos de Paul ahora están en producción, generalmente ocultos en las capacidades de autodiferenciación del DSL.

Autor: Paul Peseux

Fecha: septiembre de 2023

Esquema del pipeline de Envision para diferenciar consultas relacionales.

Figura 1: Descripción del pipeline implementado en Lokad.

Resumen:

Esta tesis de doctorado, titulada presenta tres contribuciones al campo de la programación diferenciable con un enfoque en datos relacionales. Los datos relacionales son frecuentes en industrias como la atención médica y la cadena de suministro, donde los datos a menudo se organizan en tablas o bases de datos estructuradas. Los enfoques tradicionales de aprendizaje automático tienen dificultades para manejar datos relacionales, mientras que los modelos de aprendizaje automático de caja blanca son más adecuados pero difíciles de desarrollar.

La programación diferenciable ofrece una solución potencial al tratar las consultas en bases de datos relacionales como programas diferenciables, lo que permite el desarrollo de modelos de aprendizaje automático de caja blanca que pueden razonar directamente sobre datos relacionales. El objetivo principal de esta investigación es explorar la aplicación del aprendizaje automático a datos relacionales utilizando técnicas de programación diferenciable.

La primera contribución de la tesis introduce una capa diferenciable en lenguajes de programación relacionales, tanto teórica como prácticamente. Se creó el lenguaje de programación Adsl para realizar la diferenciación y transcribir operaciones relacionales de una consulta. El lenguaje de programación específico del dominio Envision se ha mejorado con capacidades de programación diferenciable, lo que permite el desarrollo de modelos que aprovechan los datos relacionales en un entorno nativo de lenguaje de programación relacional.

La segunda contribución desarrolla un estimador de gradiente novedoso llamado GCE, diseñado para características categóricas sobre representadas en datos relacionales. Se demuestra que GCE es útil en varios conjuntos de datos y modelos categóricos y se ha implementado para modelos de deep learning. GCE también se integra como el estimador de gradiente nativo en la capa de programación diferenciable de Envision, facilitado por la primera contribución de esta tesis.

La tercera contribución desarrolla un estimador de gradiente generalizado llamado Diferenciación Automática de Trayectoria Estocástica (SPAD), que obtiene su estocasticidad de la descomposición del código. SPAD introduce la idea de retropropagar una fracción del gradiente para reducir el consumo de memoria durante las actualizaciones de parámetros. La implementación de este enfoque de estimación de gradiente es posible gracias a las decisiones de diseño durante la diferenciación de Adsl.

Esta investigación tiene implicaciones significativas para las industrias que dependen de datos relacionales, desbloqueando nuevos conocimientos y mejorando la toma de decisiones mediante la aplicación de modelos de aprendizaje automático de caja blanca a datos relacionales utilizando técnicas de programación diferenciable.

Jurado:

La defensa tuvo lugar frente a un jurado compuesto por:

  • Thierry Paquet, Profesor Universitario (Universidad de Rouen Normandía), director de tesis.
  • Maxime Berar, Profesor (Universidad de Rouen Normandía), co-supervisor de la tesis.
  • Romain Raveaux, Profesor (Universidad de Tours), evaluador.
  • Thierry Artières, Profesor Universitario (ECM / LIS – AMU – CNRS), evaluador.
  • Cécilia Zanni-Merk, Profesora Universitaria (INSA Rouen Normandie), examinadora.
  • Laurent Wendling, Profesor Universitario (Universidad Paris Cité), examinador.
  • Victor Nicolet, CTO de Lokad, asesor.

Descargar la tesis (PDF)