La premisa más importante es conocer los objetivos del taller. Para nosotros, la intención no era enseñar inteligencia artificial, sino desmitificar esta disciplina y hacer conscientes a los alumnos de las matemáticas simples que hay tras ellas. Tener esto en cuenta es muy importante.
Además, el taller se basaba en ejercicios realizados con el lenguaje de programación Scratch. Este lenguaje, para quien no lo conozca, es un entorno de programación gráfico que permite realizar pequeños algoritmos y tareas arrastrando bloques de colores, eligiendo variables de una manera muy visual, etc. Es un tipo de herramienta muy útil para iniciar a los alumnos en nociones básicas de programación, y soy conocedor de varios colegios de la región que lo usan con estudiantes a partir de 13 años.
Pero volvamos al taller. La actividad completa duró una hora y el tiempo se repartió de la siguiente manera:
En los 15 primeros minutos de actividad, se impartieron los siguientes conceptos de una manera muy sintética:
- Introducción a la inteligencia artificial
- En qué consiste el algoritmo de clusterización K-means
- Cómo funciona una red neuronal
Posteriormente, los chavales tuvieron 45 minutos para realizar dos ejercicios y poner en práctica las nociones básicas que se les había impartido hace unos minutos. La metodología de esta parte práctica se implementó de la siguiente manera: los alumnos trabajaron en parejas, y tenían a su disposición el archivo de un algoritmo de inteligencia artificial implementado en Scratch. En este archivo estaba implementado casi todo el código necesario, salvo un par de huecos que tenían que rellenar para que todo el programa se ejecutase correctamente. Para que fuera un poco más fácil, en una esquina de la zona de trabajo de Scratch, los alumnos tenían las piezas de código que había que encajar en los huecos, pero desordenadas. Una vez que completaban el código, los estudiantes podían comprobar si habían acertado o no ejecutándolo en el mismo Scratch.
A los estudiantes se les asignó dos problemas, uno detrás de otro:
1) El algoritmo de clusterización K-means, donde tenían que conseguir clasificar una nube de puntos en tantos clusters como quisieran. Los clusters estaban definidos por 'puntos gordos' de colores, y la clasificación consistía en pintar los puntitos según el color del 'punto gordo' más cercano que tuvieran.
2) Posteriormente se asignó una red neuronal muy sencilla (dos entradas y una salida), entrenada con los datos de entrada y salida de una puerta lógica AND. Para cada ejercicio disponían de 20 minutos como máximo.
A continuación incluyo algunas imágenes representativas de estos problemas:
Parece sencillo, ¿no? Ahora vienen los resultados: para nosotros el taller fue un éxito, ya que todas las parejas de alumnos completaron los ejercicios antes del tiempo asignado, y tenían la sensación de haber entendido el ejercicio y el algoritmo.
Para comprobar esta comprensión, los estudiantes tuvieron que completar un test de preguntas antes y después del taller. En esta prueba, nosotros, como investigadores, queríamos comprobar el grado de alcance de consecución de los objetivos que nos habíamos marcado. Y la buena noticia es que estamos muy contentos con los resultados que obtuvimos. Por ejemplo, una de las preguntas planteadas era:
El nivel de conocimientos matemáticos y técnicos requeridos para entender la inteligencia artificial está fuera del alcance de la mayoría de la población.
Con la puntuación de una escala Lickert (1 a 5, 1: totalmente desacuerdo; 5: totalmente de acuerdo) tuvimos diferencias muy significativas en las respuestas antes y después del taller, lo cual demuestra que la metodología que empleamos es bastante acertada para conseguir este objetivo.
Tal y como prometí en Twitter, he dejado colgados en un repositorio abierto los archivos de Scratch completos utilizados en el taller. Aunque aún no aparezca, estarán bajo una licencia GNU GPLv3. Porque el conocimiento debe ser libre.
La metodología del taller está registrada en el archivo de propiedad intelectual. Finalmente, mi grupo de I+D y yo hemos publicado tres artículos explicando el taller: dos trabajos para dos congresos internacionales y un artículo científico en Arxiv titulado Using Scratch to Teach Undergraduate Students' Skills on Artificial Intelligence donde explicamos el estado del arte y motivaciones para realizar el taller de inteligencia artificial. Ojo, que en este caso, el taller que explicamos en Arxiv no es exactamente el mismo que he descrito en este artículo de blog. Ese aún está en el horno :-).
El taller de inteligencia artificial sigue creciendo y ya estamos planteando nuevos ejercicios para entender cómo funciona un ordenador o un robot para escapar de un laberinto, o conocer el camino más corto en un circuito.
¿Os gusta la idea? ¿Os parece que habría que mejorar algo? Si os interesa algo de todo esto, no dudéis en hacerlo en los comentarios del artículo o a través del email jeibros@gmail.com.
0 comentarios:
Publicar un comentario