La infraespecificación consiste en que las pequeñas variaciones arbitrarias que aparecen en los modelos a medida que entrenan impiden garantizar su buen funcionamiento en el mundo real. Este grave problema sugiere que habría que replantear todo el proceso de evaluación de las redes neuronales
No es ningún secreto que los modelos de aprendizaje automático adaptados y ajustados para lograr un rendimiento casi perfecto en el laboratorio suelen fracasar cuando se aplican en entornos reales. Esto se suele atribuir a una falta de coincidencia entre los datos en los que la inteligencia artificial (IA) fue entrenada y los datos que encuentra en el mundo real, un problema conocido como desplazamiento de datos, o data shift. Por ejemplo, una IA entrenada para detectar signos de una enfermedad en imágenes médicas de alta calidad tendrá dificultades para trabajar con las imágenes borrosas o recortadas capturadas con una cámara más barata en una clínica concurrida.
Pero un grupo de 40 investigadores de siete equipos diferentes de Google ha identificado otra causa importante del fracaso común de los modelos de aprendizaje automático en el mundo real. Denominado como underspecification o infraespecificación, podría ser un problema aún mayor que el data shift. El líder del estudio, Alex D'Amour, detalla: "Pedimos más a los modelos de aprendizaje automático de lo que podemos garantizar con nuestro enfoque actual".
La infraespecificación es un problema conocido en estadística, donde los efectos observados pueden tener muchas posibles causas. D'Amour, que tiene experiencia en el razonamiento causal, quería saber por qué sus propios modelos de aprendizaje automático a menudo fallaban en la práctica. Se le ocurrió que la infraespecificación también podría ser el problema en esos casos. D'Amour se dio cuenta en seguida de que muchos de sus colegas notaban el mismo problema en sus propios modelos. "En realidad, es un fenómeno que ocurre en todas partes", asegura.
La investigación inicial de D'Amour se extendió y docenas de investigadores de Google terminaron analizando una variedad de diferentes aplicaciones de inteligencia artificial, desde el reconocimiento de imágenes hasta el procesamiento del lenguaje natural (PLN) y la predicción de enfermedades. Descubrieron que la falta de especificación era la culpable del bajo rendimiento en todas las IA. El problema radica en la forma en la que se entrenan y prueban los modelos de aprendizaje automático, y no existe una solución fácil.
El estudio es como una "bola de demolición", lamenta el ingeniero de aprendizaje automático en iRobot Brandon Rohrer, que anteriormente trabajó en Facebook y Microsoft y no participó en el trabajo.
Lo mismo, pero diferente
Para entender el problema, deberíamos retroceder un poco. A grandes rasgos, construir un modelo de aprendizaje automático implica entrenarlo con una gran cantidad de ejemplos y luego probarlo con un montón de ejemplos similares que todavía no ha visto. Cuando el modelo pasa la prueba, ya está, funciona.
Lo que los investigadores de Google señalan es que este enfoque no basta. Este proceso de entrenamiento puede producir muchos modelos diferentes que pasan la prueba pero, (y esta es la parte crucial) estos modelos tendrán algunas diferencias pequeñas y arbitrarias, en función, por ejemplo, de los valores aleatorios dados a los nodos en una red neuronal antes del inicio del entrenamiento, de la forma en la que se seleccionan o representan los datos de entrenamiento, del número de ejecuciones del entrenamiento, etcétera. Estas pequeñas diferencias, a menudo aleatorias, generalmente se pasan por alto si no afectan el desempeño de un modelo en la prueba. Pero, resulta que en el mundo real pueden provocar una gran variación en el rendimiento.
En otras palabras, el proceso actual para construir la mayoría de los modelos de aprendizaje automático no puede determinar qué modelos funcionarán en el mundo real y cuáles no.
Esto no es lo mismo que el data shift, donde es el entrenamiento el que no genera un buen modelo porque los datos de entrenamiento no coinciden con los ejemplos del mundo real. La infraespecificación es diferente: incluso si un proceso de entrenamiento consigue producir un buen modelo, aún podría crear uno malo porque no notará la diferencia. Nosotros tampoco.
Los investigadores analizaron el impacto de la infraespecificación en varias aplicaciones diferentes. En cada caso, utilizaron los mismos procesos de entrenamiento para crear varios modelos de aprendizaje automático y luego los ejecutaron en pruebas diseñadas para resaltar las específicas diferencias en su desempeño.
Por ejemplo, entrenaron 50 versiones de un modelo de reconocimiento de imágenes en ImageNet, el conjunto de datos de imágenes de objetos cotidianos. La única diferencia entre las ejecuciones de entrenamiento fueron los valores aleatorios asignados a la red neuronal al principio. Sin embargo, a pesar de que los 50 modelos obtuvieron más o menos la misma puntuación en la prueba de entrenamiento, lo que sugiere que fueron igualmente precisos, su rendimiento varió enormemente en la prueba de desempeño.
La prueba de desempeño utilizó ImageNet-C, el conjunto de datos de imágenes de ImageNet que se habían pixelado o que tenían alteraciones en su brillo y contraste, y ObjectNet, otro conjunto de datos de imágenes de objetos cotidianos en posiciones inusuales, como sillas tumbadas, teteras boca abajo y camisetas colgadas en las perchas. Algunos de los 50 modelos funcionaron bien con las imágenes pixeladas, a otros les fue bien con las posiciones inusuales; en general, unos mucho mejor que otros. Pero en lo que respecta al proceso de entrenamiento estándar, todo fue igual.
Los investigadores llevaron a cabo experimentos similares con dos sistemas diferentes de PLN y tres IA médicas para predecir las enfermedades oculares a partir de los escáneres de retina, cáncer de lesiones cutáneas e insuficiencia renal a partir de los informes de los pacientes. Todos los sistemas tenían el mismo problema: los modelos que deberían haber tenido la misma precisión funcionaron de manera diferente cuando se probaron con los datos del mundo real, como distintos escaneos de retina o tipos de piel.
El fenómeno sugiere que habría que replantear el proceso de evaluación de las redes neuronales, sostiene Rohrer. "Saltan a la vista algunos importantes defectos en las hipótesis fundamentales que hemos estado formulando".
D'Amour coincide: "La conclusión más importante e inmediata es que tenemos que realizar muchas más pruebas", asegura. Pero, eso no será fácil. Las pruebas de desempeño se adaptan específicamente a cada tarea, utilizando datos tomados del mundo real o datos que imitan el mundo real, algo que no siempre resulta disponible.
Algunas pruebas de desempeño de la investigación también se contradijeron entre sí: los modelos que eran buenos para reconocer las imágenes pixeladas solían ser malos para reconocer las imágenes con alto contraste, por ejemplo. Puede que no siempre sea posible entrenar un solo modelo que pase todas las pruebas de desempeño.
Varias opciones
Una opción sería diseñar una etapa adicional al proceso de entrenamiento y prueba, en la que se producirían muchos modelos a la vez en lugar de solo uno. Estos modelos contrapuestos se podrían probar de nuevo en las tareas específicas del mundo real para poder seleccionar el mejor.
Eso supone mucho trabajo. Pero para una empresa como Google, que construye y utiliza grandes modelos, podría valer la pena, opina el investigador de aprendizaje automático en ETH Zúrich (Suiza) Yannic Kilcher. Google podría ofrecer 50 versiones distintas de un modelo de PLN y los desarrolladores de aplicaciones elegirían la que les funcionara mejor, explica.
D'Amour y sus colegas aún no tienen una solución, pero están explorando formas de mejorar el proceso de entrenamiento. El responsable detalla: "Debemos mejorar a la hora de especificar exactamente cuáles son nuestros requisitos para nuestros modelos. Porque, a menudo, lo que pasa es que descubrimos estos requisitos después de que el modelo ha fallado en el mundo real".
Conseguir una solución es vital para que la IA tenga tanto impacto fuera del laboratorio como dentro. Cuando la IA obtiene un rendimiento inferior en el mundo real, la gente está menos dispuesta a querer usarla, concluye la coautora Katherine Heller, que trabaja en Google IA para la atención sanitaria: "Hemos perdido mucha confianza en lo que respecta a la aplicación determinante, y se trata de una confianza importante que queremos recuperar".