El artículo de hoy es una contribución de Jorge Lobo, un buen amigo de Programamos que ha querido compartir con toda la comunidad algunos consejos que nos van a resultar muy útiles cuando vayamos a trabajar con proyectos de inteligencia artificial (IA) en el aula. En concreto, Jorge ha preparado este artículo y dos videotutoriales para que tengamos claro qué es la generalización, una de las características más importantes a la hora de generar un modelo de aprendizaje automático. ¡Que lo disfrutéis! 🙂

¿Qué es esto de la generalización en la IA?

Que un modelo de aprendizaje automático tenga la capacidad de generalizar quiere decir que a partir de los ejemplos de datos con los que le entrenemos sea capaz de reconocer entradas distintas a aquellas con las que le hemos entrenado. El algoritmo trata de buscar relaciones entre los ejemplos que hemos introducido para entrenarlo, e intenta reconocerlos en las nuevas entradas que le proponemos, clasificándolas en las diferentes categorías o etiquetas en función de esos patrones.

Para lograr una buena generalización es muy importante contar con una buena cantidad de ejemplos para que el modelo pueda encontrar relaciones en una gama lo más amplia posible, así como tener ejemplos diversos de cada categoría. Si los ejemplos tienen siempre las mismas características, ese tipo lo clasificará muy bien, pero los demás tipos dentro de la etiqueta no los reconocerá.

Por ejemplo, imaginemos que estamos entrenando un modelo para un asistente que nos ayude a la hora de reciclar. Si para reconocer objetos de vidrio sólo lo entrenamos con botellas verdes puestas en pie, es probable que el modelo tendrá problemas para reconocer un frasco de vidrio transparente o botellas tumbadas.

Este problema, el centrarse en una clase o en parte de una clase es uno de los retos actuales de los sistemas de IA basados en el aprendizaje automático, y viene muy definido por el sesgo de las personas que entrenan esos modelos, como explica este artículo sobre la discriminación racial en la IA. Por eso es es importante una profunda reflexión a la hora de pensar los ejemplos de cada categoría para evitar esos posibles sesgos.

Por tanto, a la hora de planificar el entrenamiento debemos reflexionar y conocer en profundidad las características comunes de los ejemplos y tener muy claras las diferencias entre las clases que vayamos a determinar. Para comprobar la fiabilidad del modelo tendremos que probar con entradas diferentes de las del entrenamiento y estudiar el rango de fiabilidad que nos da en cada una. Mediante una reflexión de los ejemplos que mejor y peor funcionan seremos capaces de mejorar el modelo hasta alcanzar el nivel que consideremos adecuado.

Por último, pero no por ello menos importante, debemos tener en cuenta que si usamos para probar el modelo los mismos ejemplos que utilizamos en su entrenamiento no tendremos la seguridad de que el modelo esté generalizando correctamente, y eso sería perder el principal potencial del machine learning.

Veámoslo en acción con un ejemplo

Los siguientes vídeos muestran paso a paso el desarrollo de un asistente que nos ayude a reciclar papel o envases usando la herramienta LearningML. En el primer vídeo se muestra la creación de un modelo de aprendizaje automático capaz clasificar texto en diferentes categorías, mientras el segundo vídeo describe la programación de un proyecto que hace uso del modelo creado.

 

 

Para saber más sobre IA y ML

Si quieres saber más sobre IA y aprendizaje automático te recomendamos el webinar gratuito que se elaboró para un proyecto de investigación sobre LearningML, cuyos resultados, por cierto, ya están disponibles para su lectura. Como ves, llevar la IA al aula para crear proyectos para el bien común no puede ser más asequible.