Redes neuronales: Lean busca mayor seguridad

Fuentes: Formalizing Neural Networks in Lean

El auge de las redes neuronales en aplicaciones críticas, como sistemas de seguridad y control, ha revelado una brecha preocupante: la verificación y el análisis de estas redes a menudo se realizan fuera del entorno de programación donde se definen y ejecutan. Esta separación crea una desconexión entre el modelo que se ejecuta y el modelo que se analiza, lo que hace que las garantías de seguridad dependan de convenciones implícitas sobre cómo funcionan las operaciones matemáticas, cómo se organizan los datos (tensores), cómo se preparan los datos para la red y cómo se manejan los cálculos de punto flotante (que pueden tener errores de redondeo).

Para abordar este problema, investigadores han desarrollado TorchLean, un marco de trabajo dentro del sistema de demostración de teoremas Lean 4. TorchLean trata las redes neuronales como objetos matemáticos precisos y bien definidos, asegurando que la ejecución y la verificación compartan la misma semántica. Esto significa que las propiedades matemáticas de la red se pueden expresar formalmente y verificar rigurosamente.

¿Cómo funciona TorchLean? El sistema integra tres componentes clave:

  1. API Verificada de Estilo PyTorch: Permite definir y ejecutar redes neuronales de manera familiar para los usuarios de PyTorch, pero con una semántica formalmente definida. Ofrece modos de ejecución 'eager' (ejecución inmediata) y 'compiled' (compilación para optimización). Ambos modos se traducen a una representación intermedia (Intermediate Representation o IR) basada en grafos de computación etiquetados con operaciones (SSA/DAG). Esto asegura que la ejecución y la verificación operen sobre la misma estructura.
  2. Semántica Explícita de Float32: En lugar de asumir el comportamiento de los cálculos de punto flotante, TorchLean utiliza un kernel binario IEEE-754 de 32 bits que simula explícitamente el comportamiento de los números de punto flotante, incluyendo los errores de redondeo. Esto permite verificar propiedades que dependen de estos detalles.
  3. Verificación Formal: TorchLean utiliza técnicas de demostración de teoremas, como la inducción basada en reglas (IBP) y la propagación de límites al estilo CROWN/LiRPA, para verificar propiedades de la red neuronal. Además, incluye verificación de certificados para asegurar la validez de las demostraciones.

¿Para qué sirve? TorchLean es útil para:

  • Ingenieros de seguridad: Verificar la robustez de las redes neuronales frente a ataques adversarios.
  • Investigadores de aprendizaje automático: Formalizar y verificar algoritmos de aprendizaje automático.
  • Desarrolladores de sistemas autónomos: Garantizar el comportamiento seguro y predecible de controladores neuronales.

Consideraciones: TorchLean es una herramienta compleja que requiere conocimientos de demostración de teoremas y aprendizaje automático. Aunque ofrece una mayor precisión y seguridad, también puede ser más lento que las herramientas de verificación tradicionales. Una alternativa sería confiar en pruebas empíricas y análisis heurísticos, pero esto no proporciona garantías formales.