2017-10-26
Los algoritmos informáticos han mejorado mucho en el reconocimiento de patrones, como animales específicos o rostros de personas, permitiendo que el software categorice automáticamente grandes colecciones de imágenes. Pero hemos llegado a confiar en algunas cosas que las computadoras no pueden hacer bien. Los algoritmos no pueden hacer coincidir su reconocimiento de imágenes con el significado semántico, por lo que hoy puede asegurarse de que haya un ser humano presente pidiéndoles que seleccionen imágenes de letreros de calles. Y los algoritmos no tienen un reconocimiento especial cuando las imágenes familiares se distorsionan o se entierran en el ruido, lo que nos ha mantenido confiando en los CAPTCHA basados en texto, el texto distorsionado utilizado para verificar que un ser humano interactúa con los servicios web.
O habíamos confiado en ellos hasta ahora, al menos. En la edición de hoy de Science, una startup del Área de la Bahía llamada Vicarious AI describe un algoritmo creado que es capaz de tomar un entrenamiento mínimo y manejar fácilmente los CAPTCHA. También logró el reconocimiento de texto general. ¿Secreto vicario? Modeló la estructura de su IA con información que hemos obtenido al estudiar cómo procesa la corteza visual de mamíferos las imágenes.
En la corteza visual, los diferentes grupos de neuronas reconocen características como los bordes y las superficies (y otros identifican los movimientos, que no son realmente relevantes aquí). Pero en lugar de ver una escena u objeto como una colección de estas partes, las neuronas comienzan a comunicarse entre sí, averiguando por proximidad qué características son parte de un solo objeto. A medida que los objetos se construyen y se reconocen, la escena se construye jerárquicamente en función de los objetos en lugar de las características individuales.
El resultado de esta clasificación basada en objetos es que se puede reconocer una colección similar de características, incluso si tienen una orientación diferente o están parcialmente oscurecidas, siempre que las características que son visibles tengan las mismas orientaciones relativas. Es por eso que aún podemos reconocer letras individuales si están boca abajo, hacia atrás y enterradas en un fondo ruidoso. O, para usar el ejemplo de Vicarious, por qué todavía podemos decir que una silla hecha de hielo es una silla.
Para tratar de imitar el enfoque del cerebro, el equipo creó lo que llama una red cortical recursiva, o RCN. Un paso clave es la identificación de contornos, características que definen los bordes de un objeto, así como las estructuras internas. Otro grupo de agentes extrae las características de la superficie, como la suavidad de una superficie definida por estos contornos. Las colecciones de estas propiedades reconocidas se agrupan en grupos en función de la proximidad física. Estas agrupaciones luego establecen conexiones con otras agrupaciones y pasan mensajes para influir en las opciones de características de los demás, creando grupos de funciones conectadas.
Los grupos de características relacionadas se construyen jerárquicamente a través de un proceso similar. En la parte superior de estos árboles hay colecciones de características conectadas que podrían ser objetos (los investigadores se refieren a ellas como "hipótesis de objetos"). Para analizar una escena completa con una colección de objetos, el RCN se somete a rondas de transmisión de mensajes. El RCN crea un puntaje para cada hipótesis y revisita los puntajes más altos para evaluarlos a la luz de otras hipótesis en la misma escena, asegurando que todos ocupen un espacio bidimensional contiguo. Una vez que la hipótesis de un objeto ha pasado por algunas rondas de esta selección, normalmente puede reconocer su objeto a pesar de los cambios moderados en el tamaño y la orientación.
Lo notable del entrenamiento es su eficiencia. Cuando los autores decidieron abordar reCAPTCHAs, simplemente compararon algunos ejemplos con el conjunto de fuentes disponibles en su computadora. Estableciéndose en la fuente de Georgia como una aproximación razonable, mostraron a RCN cinco ejemplos de rotaciones parciales para todas las letras mayúsculas y minúsculas. A nivel de personaje, esto fue suficiente para proporcionar una precisión de reconocimiento de letras de más del 94 por ciento. Eso se sumó a la resolución de reCAPTCHA dos terceras partes del tiempo. La precisión humana es del 87 por ciento, y el sistema se considera inútil desde el punto de vista de la seguridad si el software puede administrarlo con una precisión del uno por ciento.
Y no es solo reCAPTCHA. Este sistema administró el sistema BotDetect con una precisión similar y los sistemas Yahoo y PayPal con un 57 por ciento de precisión. Las únicas diferencias involucradas son las fuentes utilizadas y algunos ajustes manuales de algunos parámetros que se ajustan a las deformaciones y al ruido de fondo en los diferentes sistemas. Por el contrario, otras redes neuronales han necesitado del orden de 50,000 CAPTCHA resueltos para el entrenamiento en comparación con 260 imágenes de caracteres individuales de RCN. Esas redes neuronales normalmente tendrán que volver a formarse si el servicio de seguridad cambia la longitud de su cadena o altera la distorsión que utiliza.
Para adaptar RCN al trabajo con texto en imágenes del mundo real, el equipo le proporcionó información sobre la coincidencia de letras y la frecuencia de las palabras utilizadas, así como la capacidad de analizar la geometría. Terminó superando al modelo de mejor desempeño en aproximadamente 1.9 por ciento. Una vez más, no hay un gran margen, pero este sistema se manejó con mucho menos entrenamiento: el principal contendiente había sido entrenado en 7,9 millones de imágenes en comparación con las 1,406 de RCN. No es sorprendente que la representación de datos internos de RCN fuera bastante más pequeña que la de su competidor.
Esta eficiencia es un problema, ya que reduce la barra de hardware que debe eliminarse para superar una importante característica de seguridad de una variedad de sitios web.
En términos más generales, esto podría ser un gran paso para la IA. Al igual que con el software Go-playing, esta no es una IA generalizada. Si bien es ideal para identificar personajes, no sabe lo que significan, no puede traducirlos a otros idiomas, y no tomará ninguna medida basada en sus identificaciones. Pero RCN sugiere que AI no necesita abstraerse por completo de la inteligencia real: las ideas que obtenemos del estudio de cerebros reales pueden usarse para hacer que nuestro software sea más efectivo. Por un tiempo, AI ha estado avanzando lanzando hardware más potente, tuberías más profundas y conjuntos de datos más grandes ante los problemas. Vicarious ha demostrado que volver a la inspiración original de AI podría no ser una mala idea.