AI todavía falla en el reconocimiento robusto de dígitos escritos a mano (y cómo solucionarlo)

Deep Learning ha sido elogiado para resolver todo, desde autos sin conductor hasta el clima mundial. Y, sin embargo, las redes neuronales profundas (el caballo de batalla de Deep Learning) no logran resolver satisfactoriamente incluso las tareas más mundanas: el reconocimiento robusto de dígitos escritos a mano. Considere los siguientes ejemplos:

Las imágenes

El número debajo de cada dígito muestra la predicción de la red. Clasifica todas estas muestras correctamente. ¿Entonces, cuál es el problema? Bueno, considere las siguientes imágenes:

… Pequeñas modificaciones pueden descarrilar completamente las decisiones de la red.

Modificamos las imágenes solo un poco, pero ahora la red neuronal las clasifica erróneamente. Este tipo de entradas "adversarias" se conocen desde hace muchos años. Afectan básicamente a todas las aplicaciones de Deep Learning, desde el reconocimiento de objetos, la segmentación semántica de imágenes, el reconocimiento de voz hasta el filtrado de spam. Casi todas las redes neuronales implementadas actualmente se ven afectadas y podrían ser atacadas (por ejemplo, Siri o Amazon Echo).

Pero se pone aún peor: considere el siguiente conjunto de imágenes:

Estas imágenes se clasifican con alta confianza como

¿Reconoces incluso la indirecta de un dígito escrito a mano? ¿No? La red neuronal es extremadamente segura de que todos estos son ceros. Estas llamadas imágenes irreconocibles resaltan solo otro problema con las redes neuronales de hoy en día: se comportan completamente erráticas si las entradas están demasiado lejos de los datos "normales" (en este caso, ruido en lugar de dígitos).

Este problema de robustez ha sido reconocido por muchos como uno de los principales obstáculos para el despliegue de Deep Learning. No solo por razones de seguridad, sino porque estas fallas resaltan que no tenemos idea de cómo funcionan realmente las redes neuronales y qué características de imagen utilizan para la clasificación. El número de documentos que intentan resolver este problema aumentó considerablemente durante los últimos dos años, pero hasta ahora fue en vano. De hecho, la red neuronal que utilizamos para clasificar los dígitos escritos a mano arriba se reconoce actualmente como el modelo más robusto (Madry et al.). Este hecho resalta cuán lejos estamos de los modelos de reconocimiento robustos, incluso para simples dígitos escritos a mano.

En nuestro artículo reciente, presentamos un nuevo concepto para clasificar las imágenes de manera robusta. La idea es muy simple: si una imagen se clasifica como siete, entonces debería contener aproximadamente dos líneas, una más corta, una más larga, que se tocan en un extremo. Esa es una forma generativa de pensar en los dígitos, que es bastante natural para los humanos y que nos permite detectar fácilmente la señal (las líneas) incluso en medio de grandes cantidades de ruido y perturbaciones. Tener un modelo de este tipo debería facilitar la clasificación de los ejemplos adversos presentados anteriormente en la clase correcta. Aprender un modelo generativo de dígitos (digamos ceros) es bastante sencillo (usando un Autoencoder Variacional) y, en pocas palabras, funciona de la siguiente manera: comenzamos desde un espacio latente de variables molestas (que pueden capturar cosas como el grosor o la inclinación del dígito y se aprenden de los datos) y generan una imagen usando una red neuronal. Luego mostramos ejemplos de ceros escritos a mano y capacitamos a la red para producir otros similares. Al final de la capacitación, la red ha aprendido sobre las variaciones naturales de los ceros escritos a mano:

Un modelo generativo de ceros aprende las variaciones típicas de los dígitos escritos a mano (lado derecho).

Aprendemos un modelo generativo para cada dígito. Luego, cuando aparece una nueva entrada, verificamos qué modelo de dígitos puede aproximarse mejor a la nueva entrada. Este procedimiento generalmente se llama análisis por síntesis, porque analizamos el contenido de la imagen de acuerdo con el modelo que mejor puede sintetizarla. Las redes feedforward estándar, por otro lado, no tienen mecanismos de retroalimentación para verificar si la imagen de entrada realmente se parece a la clase inferida:

Las redes de alimentación directa van directamente de la imagen a la clase y no tienen forma de verificar que la clasificación tenga sentido. Nuestro modelo de análisis por síntesis verifica qué características de imagen están presentes y las clasifica según la clase que tenga más sentido.

Esa es realmente la diferencia clave: las redes de feedforward no tienen forma de verificar sus predicciones, hay que confiar en ellas. Nuestro modelo de análisis por síntesis, por otro lado, analiza si ciertas características de imagen están realmente presentes en la entrada antes de llegar a una conclusión.

No necesitamos un modelo generativo perfecto para que este procedimiento funcione. Nuestro modelo de dígitos escritos a mano ciertamente no es perfecto: observe los bordes borrosos. No obstante, nuestro modelo puede clasificar los dígitos escritos a mano con alta precisión (99,0%) y sus decisiones tienen mucho sentido para los humanos. Por ejemplo, el modelo siempre indicará poca confianza en las imágenes de ruido, porque no se parecen a ninguno de los dígitos que ha visto antes. Las imágenes más cercanas al ruido que el modelo de análisis por síntesis todavía clasifica como dígitos con alta confianza tienen mucho sentido para los humanos:

Intentamos sintetizar imágenes irreconocibles que todavía están clasificadas como ceros con alta confianza por nuestro modelo de análisis por síntesis. Esto es lo mejor que tenemos.

En el modelo actual de vanguardia de Madry et al. descubrimos que las perturbaciones mínimas de los dígitos limpios a menudo son suficientes para descarrilar la clasificación del modelo. Hacer lo mismo para nuestro modelo de análisis por síntesis produce resultados sorprendentemente diferentes:

Ejemplos adversarios para el modelo de análisis por síntesis. ¿Puedes adivinar cuál era el número original?

Tenga en cuenta que las perturbaciones tienen mucho sentido para los humanos y, a veces, es difícil decidir en qué clase se debe clasificar la imagen. Eso es exactamente lo que esperamos que suceda para un modelo de clasificación robusto.

Nuestro modelo tiene varias otras características notables. Por ejemplo, las decisiones del modelo de análisis por síntesis son mucho más fáciles de interpretar, ya que uno puede ver directamente qué características influyen en el modelo hacia una decisión particular. Además, incluso podemos derivar algunos límites inferiores de su robustez.

El modelo de análisis por síntesis todavía no coincide con la percepción humana y todavía queda un largo camino por recorrer (ver el análisis completo en nuestro manuscrito). No obstante, creemos que estos resultados son extremadamente alentadores y esperamos que nuestro trabajo allane el camino hacia una nueva clase de modelos de clasificación que sean precisos, sólidos e interpretables. Todavía tenemos que aprender mucho sobre estos nuevos modelos, y sobre todo cómo hacer que la inferencia sea más eficiente y cómo escalarlos a conjuntos de datos más complejos (como CIFAR o ImageNet). Estamos trabajando arduamente para responder estas preguntas y esperamos compartir más resultados con usted en el futuro.

Hacia el primer modelo de red neuronal adversarialmente robusto en MNIST

Lukas Schott, Jonas Rauber, Matthias Bethge, Wieland Brendel
arXiv: 1805.09190