¡Hub de contenido!
Acceso a contenido educativo gratis. Comience a aprender.

Validación de modelos de aprendizaje automático de automatización: el problema de Oracle

A menos que se actualicen los protocolos de puesta en marcha, puede resultar difícil realizar pruebas de validación en el software de control de automatización a medida que el aprendizaje automático y la IA se vuelven más comunes.

Bill Mueller

Por Bill Mueller, fundador e ingeniero senior de Lucid Automation and Security

Uno de mis objetivos profesionales más ambiciosos ha sido aumentar la eficiencia de las pruebas de validación sin disminuir la calidad. La prueba de los sistemas automatizados es esencial para garantizar la calidad tanto en el sistema de control como en el producto. Tradicionalmente, la puesta en marcha consistía en comparar la respuesta del sistema con un conjunto de salidas preaprobadas. Este método ha servido bien a la industria donde todas las rutas de ejecución de código eran deterministas y conocibles.

A medida que la adopción del aprendizaje automático (ML) y la inteligencia artificial (IA) en la planta se vuelve más común, se hace evidente que los modelos de máquinas recientemente implementados están subvirtiendo las técnicas de prueba tradicionales. No siempre es posible, ni práctico, identificar todas las rutas de ejecución posibles de un modelo de máquina moderno desarrollado a través del aprendizaje supervisado. Los protocolos desarrollados para secuencias o lógica de máquina de estado tradicional requerirán modernización para continuar brindando el mismo nivel de confianza.

La generación actual de protocolos de puesta en servicio se basa en técnicas de prueba de software automatizadas establecidas a principios de los años 80 y 90 utilizando lo que se conoce como "Oracles" de prueba. Un Oráculo en este sentido se refiere a la autoridad absoluta (es decir, la fuente de la verdad) utilizada para determinar si una determinada prueba pasa o falla. Oracle determina la salida correcta para una entrada esperada. Este rol puede ser documentación de diseño, requisitos del usuario o expertos en la materia con experiencia.

Con el uso cada vez mayor de aplicaciones ML en la planta, el software de control de automatización comenzará a caer en la clase de software no comprobable. Los dominios de entrada son grandes, los límites son difíciles de definir y las condiciones previas del entorno determinan la interpretación correcta de los resultados. La dependencia actual de las pruebas explícitas deberá evolucionar y aprovechar los métodos de prueba implícitos para mantener la relevancia.

Las pruebas de validación de hoy se encuentran en un espectro de pruebas explícitas e implícitas. Un excelente ejemplo de prueba implícita en sistemas heredados es la verificación de un lazo de control PID. Si bien se conoce el modelo matemático de un PID, a todos los efectos prácticos, generalmente se prueban como una caja negra que toma una entrada, aplica un modelo matemático a lo largo del tiempo y establece una salida. Es muy común probar los PID en campo durante la puesta en marcha. Sin embargo, la prueba depende en gran medida del probador para mantener un control inteligente de las entradas para obtener la salida correcta para un resultado de aprobación/rechazo. Una vez en producción o emparejado con bucles en cascada, controlar un conjunto complejo de entradas del mundo real bordea lo imposible.

Incluso entonces, la mayoría de los ingenieros pueden determinar rápidamente si un proceso no se controla correctamente. Las condiciones anormales, como la respuesta de control invertida, la oscilación o simplemente los parámetros de ajuste incorrectos, son reconocibles para el ojo entrenado. Para una prueba consistente y repetible que no se base en la habilidad del observador, la prueba debe basarse en una serie de oráculos débiles superpuestos para verificar implícitamente la funcionalidad correcta.

El ejemplo de PID anterior ilustra el problema de validar algoritmos de aprendizaje automático donde la cantidad de entradas puede ser variable, el modelo matemático es desconocido y la salida incluye un factor de confianza. Estos nuevos algoritmos requieren un enfoque diferente para las pruebas implícitas. El desarrollo de una estrategia de validación sólida debe comenzar ahora.

Todavía se necesitará un oráculo humano en el futuro previsible. Pero podemos comenzar integrando las mismas herramientas avanzadas que se han utilizado en otras industrias para abordar problemas similares verificando la eficacia en modelos de aprendizaje automático:

Las pruebas metamórficas se desarrollaron para ayudar a mitigar el problema de Oracle en las pruebas de software de aplicaciones. Muy simplificada, la metodología utiliza la relación entre la salida de un sistema y múltiples entradas para detectar posibles fallas. Una posible aplicación sería controlar el pH cuando se conoce el volumen de material a controlar. Si el sistema comienza a arrojar una solución de neutralización excesiva, probablemente sea seguro asumir que algo anda mal y que solo estamos produciendo sal. Las pruebas metamórficas, en este caso, ayudan a restringir los valores comprobables que no se pueden predefinir con precisión en los sistemas estocásticos.

La validación cruzada con un modelo independiente es otra herramienta posible. En esencia, la validación cruzada evalúa el resultado de dos modelos matemáticos independientes de un sistema para determinar si están de acuerdo. El principal inconveniente de esto es que duplica el trabajo y el procesamiento requerido. Pero a medida que nuestra industria avanza hacia el modelado de procesos antes de que se construya el equipo, este modelo inicial puede usarse para validar el proceso del mundo real.

Si bien no es una solución al problema de Oracle, prepararse ahora puede ayudar a integrar y moldear las herramientas existentes de otras industrias para progresar en las pruebas implícitas para la validación. Los modelos de aprendizaje automático se están implementando ahora. La búsqueda de metodologías de prueba avanzadas es un objetivo al que aspira la industria de la automatización.

Bill Mueller, es el fundador e ingeniero senior de Lucid Automation and Security, un miembro integrador de la Asociación de Integradores de Sistemas de Control (CSIA). Para obtener más información sobre Lucid Automation and Security, visite su perfil en Industrial Automation Exchange.