¿Son inteligentes las computadoras?

3. ¿Podemos confiar en un modelo de inteligencia artificial?

En el capítulo anterior creamos nuestro primer clasificador de imágenes utilizando un modelo de inteligencia artificial, lo entrenamos a partir de un conjunto de ejemplos y luego lo utilizamos para predecir nuevos ejemplos. 

En este capítulo vamos a probar el modelo con un nuevo conjunto de imágenes y veremos lo que sucede. Comencemos...

——————

Probando un nuevo conjunto de imágenes

Luego de crear y probar nuestro clasificador el equipo de fruticultores lo incorporó en los drones que exploran las plantaciones de frutillas utilizandolo con éxito. Sin embargo, se encontraron con las siguientes ejemplos de hojas enfermas:


Te proponemos evaluar las imágenes de las hojas enfermas con la aplicación y corroborar que clasificación hace.

🔮 ¿Predijo correctamente el tipo de hojas? ¿Cuál es el problema? Lo que debería suceder con los ejemplos que les propusimos es que el programa las clasifique como hojas sanas cuando en realidad debería suceder lo contrario.  

🙉 Entonces... ¿Qué es lo que funciona mal? ¿Será que no aprendió lo suficiente nuestro celular? ¿Cómo podríamos solucionar esto? ¿Se puede? El problema de nuestro modelo se debe a los ejemplos que utilizamos para el entrenamiento. Si observan, todas las imágenes de las hojas sanas son todas hojas verdes (sin manchas) mientras que las imágenes de hojas enfermas tienen la misma gama de colores (color rojizo). Por lo tanto, las nuevas imágenes, para el programa, se asemejan mucho más a las hojas sanas. 

Otro problema que tiene influencia también es la cantidad de imágenes que estamos utilizando para entrenar el modelo: solo 10 por tipo. En general es importante tomar una cantidad mucho mayor de ejemplos que sean diversos y representativos de cada tipo. 

——————

Volvemos a entrenar el modelo

A continuación les proveemos un conjunto de imágenes más diversos que fue obtenido por el equipo de fruticultores para que puedan agregar a cada una de las categorías. Para este desafío les proponemos que seleccionen y agreguen a la categoría "hojas enfermas" cinco imágenes nuevas del conjunto que les mostramos a continuación, que les permitan representar más casos.  


Una vez que terminen pongan a prueba el modelo con los siguientes ejemplos:


¿Qué imágenes eligieron? ¿Bajo que criterio? Cuando construimos un modelo basado en inteligencia artificial el rol de los datos que elegimos es muy importante... ¡porque los elegimos las personas!. Por eso es muy importante considerar, como mencionamos antes, ejemplos diversos y representativos de las categorías que nuestro modelo va a tener en cuenta para clasificar. 

¿Podemos saber qué hace el modelo? ¿Cómo utiliza los datos de entrenamiento? ¿Podemos estar seguros de que siempre funcionará? Si bien existen muchas estrategias (también conocidas como "algoritmos") que implementadas en un programa, como el que utilizamos en este bloque, nos permiten construir y entrenar modelos, es imposible saber cómo está utilizando el modelo los datos. Por lo tanto, es difícil saber si funcionará correctamente o no más allá de las imágenes que usamos para probarlo. 

Por lo tanto si quisiéramos implementar este modelo en el dron de nuestros amigos fruticultores es importante que primero podamos recolectar muchos ejemplos de hojas de frutillas junto con la categoría que le corresponde. Luego, podemos entrenar el modelo con estos datos para que el dron pueda clasificar las plantas y poder incorporarle nuevas funcionalidades que hagan uso de esta información, como obtener estadísticas de las plantas o incluso, fumigar las plantas que correspondan.

——————

Conclusiones

Los modelos de IA pueden conseguir algo muy poderoso: pueden hacer que una computadora (como vimos,  una máquina muy simple que solo sigue instrucciones) resuelva problemas difíciles, que típicamente involucran inteligencia o intuición, algo propio (y exclusivo) de la inteligencia humana.

¿Qué significa que un modelo “aprenda”? Como las computadoras no entienden conceptos y solo procesan ejemplos, no podemos comunicarles qué patrón queremos que reconozcan de estos ejemplos. “Entrenar” un modelo es ejecutar un programa que busca estas regularidades en el conjunto de datos de entrenamiento, y cuando las encuentra es a lo que llamamos “aprendizaje”. Sin embargo, no siempre es claro qué es lo que estos modelos aprenden durante el entrenamiento.

En el siguiente capítulo trabajaremos sobre algunos casos de uso de modelos de IA en la vida real y analizaremos las consecuencias que pueden tener. ¡Los esperamos!