La importancia de probar algoritmos analítcos en el mundo real

Timo Sachse

Todo lo desarrollado y probado en condiciones ideales de «laboratorio» puede ver comprometido su rendimiento en entornos del mundo real. Las condiciones perfectas en un túnel de viento podrían, sobre el papel, hacer que un diseñador crea que ha diseñado el mejor auto de carreras de Fórmula Uno del mundo. Pero en un tempestuoso día de abril en la costa portuguesa, los modelos de prueba pueden, literalmente, volar por la ventana.

Lo mismo ocurre con el análisis de video, y por qué las pruebas en entornos de usuario de la vida real son esenciales para garantizar que los algoritmos de aprendizaje automático sean efectivos para casos y escenarios de uso específicos.

Antes de probar, entrena

Antes de realizar pruebas en el mundo real, es necesario desarrollar y capacitar algoritmos de aprendizaje automático, como los que se utilizan para la detección y el reconocimiento de objetos en el análisis de video.

Para desarrollar una aplicación de análisis profunda o basada en el aprendizaje automático, necesita recopilar grandes cantidades de datos. En la videovigilancia, esto generalmente consiste en imágenes y videoclips de humanos y vehículos u otros objetos de interés. Dada la amplitud de estos objetos de interés en el análisis de video, los conjuntos de datos requeridos pueden ser enormes.

Para que los datos sean reconocibles por una máquina o computadora, es necesario un proceso de anotación de datos a través del cual los objetos relevantes se categorizan y etiquetan. Los datos anotados deben cubrir una variedad suficientemente grande de muestras que sean relevantes para el contexto donde se utilizará la aplicación de análisis. Desafortunadamente, la anotación de datos es en gran medida una tarea manual y que requiere mucha mano de obra.

El modelo algorítmico se alimenta con datos anotados y se utiliza un marco de entrenamiento para modificar y mejorar iterativamente el modelo hasta que se alcanza la calidad deseada. En otras palabras, el modelo está optimizado para resolver la tarea definida.

Métodos de formación de aprendizaje automático

El entrenamiento del algoritmo basado en el aprendizaje automático se puede realizar de tres formas principales:

  1. Aprendizaje supervisado: el modelo aprende a hacer predicciones precisas
  2. Aprendizaje no supervisado: el modelo aprende a identificar grupos
  3. Aprendizaje reforzado: el modelo aprende de los errores

El aprendizaje supervisado es el método más común en el aprendizaje automático en la actualidad y, en términos generales, se puede describir como «aprender con el ejemplo». Los datos de entrenamiento están claramente anotados, lo que significa que los datos de entrada ya están emparejados con el resultado de salida deseado. El aprendizaje supervisado generalmente requiere una gran cantidad de datos anotados y el rendimiento del algoritmo entrenado depende directamente de la calidad de esos datos de entrenamiento.

El aspecto más importante en el aprendizaje supervisado es utilizar un conjunto de datos que represente todos los datos de entrada potenciales de una situación de implementación real. Para los detectores de objetos, el desarrollador debe asegurarse de entrenar el algoritmo con una amplia variedad de imágenes, con diferentes instancias de objetos, orientaciones, escalas, situaciones de luz, fondos y distracciones. Solo si los datos de entrenamiento son representativos del caso de uso planificado, la aplicación de análisis final podrá realizar predicciones precisas al procesar nuevos datos.

El aprendizaje no supervisado utiliza algoritmos para analizar y agrupar conjuntos de datos sin etiquetar. Este no es un método de entrenamiento común en la industria de la vigilancia, porque el modelo requiere mucha calibración y pruebas, mientras que la calidad aún puede ser impredecible. Los conjuntos de datos deben ser relevantes para la aplicación de análisis, pero no tienen que estar claramente etiquetados o marcados.

El trabajo de anotación manual se elimina en el aprendizaje no supervisado, pero la cantidad de imágenes o videos necesarios para la capacitación debe incrementarse considerablemente, en varios órdenes de magnitudDurante la fase de entrenamiento, el modelo a entrenar identifica características comunes en los conjuntos de datos, respaldados por el marco de entrenamiento. Durante la fase de implementación, esto le permite agrupar datos de acuerdo con patrones al mismo tiempo que le permite detectar anomalías que no encajan en ninguno de los grupos aprendidos.

El aprendizaje por refuerzo se utiliza, por ejemplo, en robótica, automatización industrial y planificación de estrategias comerciales, pero debido a la necesidad de una gran cantidad de comentarios, el método tiene un uso limitado en la vigilancia en la actualidad. El aprendizaje por refuerzo consiste en tomar las medidas adecuadas para maximizar la recompensa potencial en una situación específica, una recompensa que aumenta cuando el modelo toma las decisiones correctas. El algoritmo no utiliza pares de datos / etiquetas para el entrenamiento, sino que se optimiza probando sus decisiones a través de la interacción con el entorno mientras se mide la recompensa. El objetivo del algoritmo es aprender una política de acciones que ayudará a maximizar la recompensa.

Pruebas antes de la implementación y en el mundo real

Una vez que el modelo está capacitado, debe probarse a fondo, por lo general combinando una pieza automatizada con pruebas exhaustivas en situaciones de implementación de la vida real. En la parte automatizada, la aplicación se compara con nuevos conjuntos de datos, que el modelo no ve durante su entrenamiento. Si estos puntos de referencia no están donde se espera que estén, el proceso comienza de nuevo: se recopilan nuevos datos de entrenamiento, se hacen o refinan anotaciones y se vuelve a entrenar el modelo.

Después de alcanzar el nivel de calidad deseado, comienza una prueba de campo. En esta prueba, la aplicación está expuesta a escenarios del mundo real. La cantidad y la variación dependen del alcance de la aplicación: cuanto más estrecho es el alcance, menos variaciones deben probarse; cuanto más amplio sea el alcance, se necesitan más pruebas. Los resultados se comparan y evalúan nuevamente, lo que, nuevamente, puede hacer que el proceso comience de nuevo si los resultados no están donde deben estar. Otro resultado potencial podría ser definir las condiciones previas, explicando un escenario conocido en el que la aplicación no está recomendada o solo parcialmente para su uso.

Sin embargo, exponer una aplicación de análisis a escenarios del mundo real no es lo mismo que ejecutar la aplicación en el mundo real. La implementación, también llamada inferencia o predicción, es el proceso de ejecutar un modelo de aprendizaje automático entrenado en un sistema de vigilancia que monitorea escenas de la vida real para probar si el algoritmo usa lo que aprendió durante la fase de entrenamiento para producir el resultado deseado. Solo en esta etapa, cuando los datos «limpios» utilizados durante el desarrollo y las pruebas se reemplazan por datos reales, cuya calidad puede diferir mucho, descubrimos si el algoritmo es adecuado para el propósito para el que fue diseñado.

Pruebas analíticas: a menudo se pasan por alto

Quizás sea la percepción de la creciente «inteligencia» de los procesadores y los análisis lo que significa que los clientes creen que los análisis funcionarán perfectamente, «listos para usar», pero este no es el caso. Las pruebas en el mundo real son vitales y algo que debe tenerse en cuenta en los costos de implementación de análisis.

La analítica de videovigilancia seguirá avanzando, ganando precisión y eficacia, pero a menudo se desarrolla en perfectas condiciones. El mundo imperfecto en el que vivimos puede socavar cualquier algoritmo, y las pruebas contra estas imperfecciones son esenciales.

Las imperfecciones no son causadas automáticamente por la aplicación en sí; tienden a ser causadas aún más a menudo por un desajuste en las expectativas. Esto significa que las pruebas no solo ayudarán a encontrar fallas o limitaciones, sino que también mejorarán en gran medida la comprensión de las capacidades generales de la analítica. A su vez, esto ayudará a preparar la instalación del detector (cámara) de la mejor manera posible, e incluso dará lugar a posibles modificaciones en la escena en sí (por ejemplo, iluminación).

Puede leer más sobre la inteligencia artificial en el análisis de video en nuestro documento técnico.

Descargar withepaper