En esta séptima entrega del Curso Inteligencia Artificial y Educación vamos a entender cómo los ordenadores son capaces de aprender incluso cuando no contamos con datos etiquetados, utilizando distintas técnicas de aprendizaje automático:

 

Como se explica en el vídeo, uno de los usos más habituales del aprendizaje no supervisado es la creación de clusters para agrupar elementos que son similares entre sí. Esta técnica se utiliza para hacer segmentación de mercados, análisis de redes sociales, detección de anomalías o análisis de imágenes médicas, entre otros muchos usos. Uno de los algoritmos más utilizados es K-means, o K-medias en español, que es un algoritmo clásico que, además, es muy sencillo de entender y de programar.

¿Cómo funciona K-means? La K indica el número de clusters o grupos que queremos crear. Una vez se ha elegido este número, se asignan aleatoriamente K puntos como si fueran los puntos centrales de cada grupo. A continuación se crean K grupos, metiendo a cada elemento en el grupo cuyo centro tiene más cerca. En ese momento se calcula cuál es el nuevo punto central de cada grupo, y se vuelven a asignar los elementos al grupo cuyo centro tienen ahora más cerca. Este proceso iterativo se repite hasta que no hay cambios. La siguiente imagen de Wikipedia resume el proceso visualmente.

k-means funcionamiento

En el repositorio de Scratch hay decenas de implementaciones de K-means, algunas muy sofisticadas y otras más simples, que pueden servir para ejecutarlas, ver cómo funciona y visualizar su código para comprender cómo se ha implementado. En el siguiente proyecto, puedes cambiar el valor de K y pulsar la bandera verde para ver cómo se van calculando los centroides y asignando los elementos a los diferentes grupos hasta que se llega a la solución.


https://scratch.mit.edu/projects/190300489/

 

Dependiendo de la edad y los conocimientos previos del alumnado, puede pedirse que programen el proyecto desde cero, o se les puede pasar una plantilla que solo tengan que finalizar. Esto último es lo que hicieron los investigadores Estevez, Garate y Graña, de la Universidad del País Vasco, en un taller con estudiantes de 16-17 años, obteniendo resultados muy prometedores.

Plantilla kmeans

 

Una vez se ha entendido cómo funciona el algoritmo, puede ser muy interesante debatir con el alumnado cómo cree que se podría utilizar en plataformas de música o películas para ayudar a realizar recomendaciones. También puede ser interesante realizar búsquedas inversas de imágenes en algún buscador, y debatir cómo el buscador podría estar usando K-means -u otro algoritmo de clustering-  para encontrar imágenes similares a la buscada.

En relación al aprendizaje por refuerzo, un recurso muy interesante para el aula es el vídeo que presentó el equipo de DeepMind al anunciar los increíbles resultados que habían logrado al entrenar un sistema que aprendía a jugar a los juegos clásicos de Atari sin haber recibido ninguna información sobre las reglas de los juegos o sobre los objetivos. Simplemente ponían al agente a jugar y recibía información de los puntos que lograba. Al principio no da pie con bola, claro, pero según va realizando por azar acciones que conllevan recompensas, va aprendiendo estrategias que maximizan las recompensas esperadas a lo largo del tiempo:

 

Pero a veces al alumnado le resulta complicado no antropomorfizar a los agentes software del aprendizaje por refuerzo. Así que un recurso realmente interesante es el simulador creado como parte del proyecto FAIaS, que está diseñado para que nos pongamos en la piel de un algoritmo de aprendizaje por refuerzo que va a intentar a prender a jugar a un videojuego. Pero no sabemos qué videojuego, ni las reglas ni nada. Solamente vamos a recibir recompensas por nuestras acciones. Así, al ejecutar el simulador esto es lo que veríamos:

 

Todo lo que podemos hacer es pulsar los botones e ir recibiendo recompensas, que pueden ser positivas, negativas o neutras. Es muy divertido dejar al alumnado que explore, que juegue con el simulador, que intente encontrar estrategias para maximizar los puntos… Todo mientras intenta adivinar a qué juego está jugando. En nuestras clases todavía no hemos tenido ningún estudiante que haya logrado adivinarlo 🙂 En realidad con los controles se está manejando una grúa que mueve contenedores, y el objetivo del juego es cargar el contenedor rojo en el barco.

 

Como comentábamos en la primera sesión del curso, el documental sobre AlphaGo es un recurso fantástico para el aula. Y si todavía no lo has visto en clase, puede ser un momento ideal, puesto que el aprendizaje por refuerzo es la técnica utilizada para la creación de estos sistemas de DeepMind que han logrado batir a los campeones mundiales humanos en diferentes juegos.

Y puede que estés pensando, vale, pero ¿qué pasa con el coche DeepRacer que me vais a prestar?. Efectivamente, en Programamos tenemos un coche físico DeepRacer que estaríamos encantados de prestarte. Se trata de un recurso muy interesante para estudiantes de Bachillerato y FP, quienes podrían seguir el curso gratuito de Udemy que explica cómo se realiza el entrenamiento en el simulador y cómo se compite en las carreras virtuales, así como el procedimiento para exportar tus modelos del simulador al coche físico. En la plataforma de AWS ofrecen créditos gratuitos para estudiantes mayores de 16 años, para que se puedan realizar 10 horas de entrenamiento, que son suficientes para coger soltura con el entorno.

Así que si realizas el curso con tus estudiantes, participáis en carreras virtuales de DeepRacer y compartes con el equipo de Programamos tus resultados usando el hashtag #ProgramamosIA, estaremos encantados de ponernos en contacto contigo para explicarte cómo podemos prestarte el coche físico durante una temporada para que juguéis con él en clase.

¿Y con respecto al aprendizaje autosupervisado no vamos a hablar? Como se explica en el vídeo, este tipo de aprendizaje es la base de los sistemas de IA generativa, y como la próxima entrega estudia en detalle estos sistemas, hemos considerado que puede ser más interesante que lo dejemos para entonces. Una entrega en la que vamos a aprender a construir nuestro propio miniGPT para escribir textos y para componer música…

Mientras tanto, recuerda que puedes acceder a todas las entregas ya publicadas, así como echar un ojo a lo que ya tenemos preparado para las próximas semanas:

 

Si tienes cualquier duda o quieres compartir alguna idea con nosotros, puedes dejarnos un comentario aquí en el blog o en nuestras redes sociales. ¡Mucho ánimo!