¿Cuántas imágenes hacen falta para entrenar una IA capaz de reconocer un pez?
¿Cien?
¿Mil?
¿Diez mil?
La pregunta parece sencilla, pero la respuesta no lo es.
Porque una inteligencia artificial no aprende únicamente por acumulación. Tener más ejemplos suele ayudar y existe evidencia empírica de que aumentar los datos de entrenamiento puede mejorar el rendimiento de los modelos, pero la relación entre cantidad de datos y capacidad de aprendizaje depende del problema, del modelo y, sobre todo, de aquello que esos datos representan.
El reconocimiento de peces es un buen ejemplo para entenderlo.
No porque exista un número determinado de fotografías a partir del cual una máquina descubra definitivamente qué es un pez, sino precisamente porque muestra lo difícil que resulta responder a esa pregunta.
Miles de imágenes para reconocer un pez
Uno de los conjuntos de datos más conocidos en este ámbito es Fish4Knowledge, creado a partir de vídeos submarinos.
Su dataset de reconocimiento contiene 27.370 imágenes verificadas, agrupadas en 23 categorías de peces.
A primera vista, 27.370 imágenes pueden parecer muchas.
Pero el número total cuenta solo una parte de la historia.
En un estudio posterior que utilizó este conjunto de datos, los investigadores encontraron una distribución enormemente desigual entre las especies. Una sola de ellas representaba alrededor del 44% de las imágenes y el número de ejemplos disponibles por especie variaba desde apenas 25 hasta más de 12.000.
Es decir, podemos tener decenas de miles de fotografías y, al mismo tiempo, disponer de muy pocos ejemplos de aquello que precisamente queremos aprender.
Y esto introduce una distinción importante: cantidad de datos no significa necesariamente diversidad de información.
Pero ¿qué queremos que aprenda exactamente?
Hay otra cuestión todavía más básica.
¿Qué significa reconocer un pez?
No es el mismo problema distinguir entre: pez o no pez
que distinguir entre: 23 especies diferentes de peces
Y tampoco es lo mismo identificar una especie que diferenciar ejemplares, reconocer determinadas características físicas o encontrar el pez dentro de una imagen llena de otros elementos.
Cuanto más específica es la pregunta, más específica debe ser también la información de la que dispone el modelo.
Además, trabajar con imágenes submarinas añade dificultades adicionales: variaciones de iluminación, ruido, fondos cambiantes, diferentes posiciones de los animales, oclusiones o diferencias en la calidad de las imágenes. Son precisamente algunos de los problemas que aparecen de forma recurrente en los trabajos de reconocimiento automático de peces en entornos naturales.
Por eso la respuesta a cuántas imágenes necesitamos empieza siempre con otra pregunta: ¿para aprender qué?
Una fotografía puede contener muy poca diversidad
Imaginando que tenemos 10.000 fotografías de la misma especie.
Todas están perfectamente etiquetadas.
Todas tienen buena resolución.
Pero prácticamente todas muestran al pez de lado, con una iluminación parecida y sobre el mismo tipo de fondo.
Tenemos muchos datos.
Pero quizá no tanta información como parece.
Ahora imaginemos un segundo conjunto mucho más pequeño que contiene peces fotografiados desde diferentes ángulos, con distintas luces, tamaños, posiciones, fondos y condiciones.
No significa automáticamente que el segundo vaya a producir un modelo mejor.
Pero sí muestra algo importante: el valor de un conjunto de datos no puede medirse únicamente contando registros.
Necesitamos preguntarnos qué parte de la realidad está representando.
Esto se vuelve todavía más evidente cuando aumentamos la escala.
FishNet, presentado en 2023, contiene 94.532 imágenes correspondientes a 17.357 especies acuáticas, organizadas además mediante su taxonomía biológica. Es un salto enorme en diversidad respecto a conjuntos anteriores y muestra hasta qué punto el reto ya no consiste únicamente en conseguir muchas imágenes, sino en representar adecuadamente una realidad extraordinariamente diversa.
La IA tampoco empieza siempre desde cero
Hay además otro elemento que cambia completamente la respuesta.
Un modelo no tiene necesariamente que aprenderlo todo utilizando únicamente nuestras fotografías.
Aquí aparece el transfer learning o aprendizaje por transferencia.
Podemos partir de un modelo que ya ha aprendido características visuales a partir de conjuntos de datos mucho mayores y especializar después ese conocimiento para nuestro problema concreto.
En investigaciones sobre clasificación de peces se ha utilizado precisamente esta estrategia: primero aprender características visuales generales o relacionadas con peces utilizando conjuntos de datos existentes y después adaptar el modelo a especies concretas con un conjunto de imágenes más reducido.
En uno de estos trabajos, el uso de aprendizaje por transferencia permitió partir del conocimiento adquirido con Fish4Knowledge para posteriormente entrenar el modelo con especies de peces de aguas templadas. Los investigadores también observaron una mejora al introducir técnicas de aumento de datos.
Por tanto, preguntar cuántas imágenes necesita una IA sin conocer de dónde parte el modelo se parece un poco a preguntar cuánto tiempo necesita alguien para aprender una materia sin saber qué sabe previamente.
El punto de partida importa.
Entonces, ¿cuántas imágenes necesitamos?
No hay una cifra universal.
Dependerá, entre otras cosas, de:
- qué queremos que el modelo sea capaz de distinguir;
- cuánta variabilidad existe en la realidad;
- cómo están distribuidos los ejemplos;
- la calidad de las imágenes y de sus etiquetas;
- cuánto se parecen los datos de entrenamiento a los casos reales que encontrará después;
- y qué conocimiento tiene ya el modelo del que estamos partiendo.
Podemos necesitar millones de ejemplos para construir modelos capaces de reconocer una enorme variedad de objetos y, en otros contextos, adaptar un modelo previamente entrenado utilizando muchos menos datos.
La pregunta importante deja entonces de ser: ¿tenemos suficientes datos?
Y pasa a ser: ¿tenemos los datos adecuados para representar el problema que queremos resolver?
En las empresas ocurre exactamente lo mismo
Esta conversación no es únicamente relevante para visión artificial.
En las organizaciones escuchamos constantemente una frase parecida: Tenemos muchísimos datos.
Millones de registros de producción.
Años de históricos comerciales.
Miles de órdenes de mantenimiento.
Documentos, incidencias, correos, proyectos, clientes, operaciones.
Y cuantitativamente puede ser completamente cierto.
Pero antes de construir una solución de inteligencia artificial conviene hacer algunas preguntas más.
¿Tenemos datos de todas las situaciones o principalmente de las más habituales?
¿Las excepciones están registradas?
¿Los criterios han sido los mismos durante todos esos años?
¿Dos plantas llaman igual a la misma cosa?
¿Los datos muestran lo que realmente ocurre o únicamente aquello que nuestro sistema estaba diseñado para registrar?
¿Disponemos también de ejemplos de aquello que sale mal?
Porque una base de datos enorme puede seguir ofreciendo una representación muy parcial de la organización.
Exactamente igual que 10.000 fotografías casi idénticas pueden enseñarnos mucho menos de lo que su número parece indicar.
El problema no es sólo cuánto sabemos registrar
Cuando hablamos de inteligencia artificial, existe una tendencia comprensible a medir nuestros activos de datos por volumen.
Cuántos documentos tenemos.
Cuántas imágenes.
Cuántos registros.
Cuántos años de histórico.
Pero quizá deberíamos empezar a medir también algo diferente: cuánta realidad contienen esos datos.
Qué situaciones representan.
Cuáles no.
Qué diversidad conservan.
Qué sesgos hemos introducido al recopilarlos.
Y qué conocimiento permanece todavía fuera de los sistemas.
Porque un modelo puede encontrar patrones extraordinariamente complejos.
Pero únicamente puede aprender a partir de la realidad que somos capaces de poner delante de él.
Quizá por eso la pregunta sobre los peces resulta bastante más interesante de lo que parece.
No sabemos decir cuántas fotografías necesita una inteligencia artificial para aprender qué es un pez.
Pero sí sabemos algo más importante: no basta con enseñarle muchas veces la misma realidad y esperar que, por acumulación, termine entendiendo todas las demás.
Y probablemente esa sea una buena lección también para las organizaciones.
Referencias
Fish4Knowledge. Fish Recognition Ground-Truth Data. University of Edinburgh.
https://homepages.inf.ed.ac.uk/rbf/Fish4Knowledge/GROUNDTRUTH/RECOG/
Olsvik, Erlend et al. (2019). Biometric Fish Classification of Temperate Species Using Convolutional Neural Network with Squeeze-and-Excitation.
https://arxiv.org/abs/1904.02768
Knausgård, Kristian Muri et al. (2020). Temperate Fish Detection and Classification: a Deep Learning based Approach.
https://arxiv.org/abs/2005.07518
Khan, Faizan Farooq et al. (2023). FishNet: A Large-scale Dataset and Benchmark for Fish Recognition, Detection, and Functional Trait Prediction. Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV).
https://openaccess.thecvf.com/content/ICCV2023/html/Khan_FishNet_A_Large-scale_Dataset_and_Benchmark_for_Fish_Recognition_Detection_ICCV_2023_paper.html
Hestness, Joel et al. (2017). Deep Learning Scaling is Predictable, Empirically.
https://arxiv.org/abs/1712.00409