En esta tercera entrega del curso Inteligencia Artificial y Educación nos vamos a centrar en comprender cómo perciben el mundo los ordenadores, que utilizan diferentes tipos de sensores para recibir información del medio que les rodea y construir una representación del mismo:

 

Antes de empezar, habrás visto que en un momento del vídeo hemos mostrado el libro La educación del pensamiento computacional en infantil, primaria y secundaria: alfabetización en inteligencia artificial y computación física, editado por MIT Press:

Se trata de una obra muy valiosa, que cuenta con contribuciones de autores internacionales muy relevantes que ofrecen buenas prácticas y propuestas para mejorar la enseñanza y el aprendizaje de esta disciplina. Además de poder descargar el libro completo, que se comparte con una licencia libre, también puedes descargar de manera individual el capítulo de Touretzky y Gardner al que hacíamos referencia: Artificial intelligence thinking in K-12. Este trabajo ha sido la base que hemos utilizado para diseñar la estructura de nuestro curso.

En el vídeo hablamos del píxel -acrónimo del inglés picture element– como unidad de medida que forma parte de una imagen digital. Pero si no tienes claro qué es y cómo funciona un píxel, te recomendamos este vídeo de Code.org:

 

Para poder comprender más profundamente cómo funciona la extracción de características de una imagen, que es el proceso que usan los ordenadores para poder convertir una señal de su cámara en significado, hemos utilizado un par de herramientas que son muy recomendables para el aula. Por un lado tenemos la demostración interactiva de DeepLizard, que permite aplicar diferentes tipos de filtros para detectar bordes en imágenes.

Como veremos un poco más adelante en el curso, esta extracción de características es la base que luego utilizan las técnicas de aprendizaje automático para poder clasificar una imagen, por ejemplo, pero en este momento ya se pueden hacer cosas interesantes con esta demo. Por ejemplo, podemos pedir al alumnado más joven que de manera previa analice las diferencias que una imagen de un 4 y otra de un 7 van a tener respecto al número y posición de sus bordes izquierdos, derechos, superiores e inferiores. A continuación harían un análisis con la herramienta y comprobarían si han acertado.

Con estudiantes más mayores, que ya sepan trabajar con matrices, puede utilizarse la demo para explicar en profundidad cómo se opera con la matriz que representa la imagen y la matriz del filtro. E incluso se puede pedir al alumnado que trate de diseñar un filtro para un determinado borde, y comprobar si se ha encontrado una solución similar a la utilizada en la demo.

Por otro lado, en el vídeo también se muestra la herramienta de Adam Harley que permite dibujar un número y comprobar si el sistema de inteligencia artificial lo reconoce correctamente. Tras dibujarlo se muestran en pantalla los diferentes filtros utilizados y cómo se combinan entre ellos hasta que el sistema calcula la probabilidad de que el número trazado corresponda cada uno de los 10 dígitos, del 0 al 9. ¿Consigues engañar al sistema dibujando un número que se clasifique incorrectamente? ¿Por qué crees que se ha producido ese error?

Por cierto, cuando hablemos de redes neuronales en el curso volveremos a usar estas dos demos, así que está muy bien ir familiarizándose con ellas.

Para practicar con el reconocimiento de voz hemos preparado un par de proyectos con eCraft2Learn, que ofrece un conjunto de extensiones para Snap! con el objetivo de permitir que personas que no sean expertas programadoras puedan construir distintos tipos de proyectos de IA. Los bloques están disponibles tanto en forma de proyectos con ejemplos de uso, como dentro de una biblioteca que se puede descargar y luego importar en Snap!

Aquí tenemos un proyecto muy sencillo de reconocimiento de voz en el que, tras pulsar la bandera verde, podemos hablar al ordenador y se mostrará por pantalla el texto que se ha reconocido. Si se edita el proyecto se puede cambiar el idioma en el primer bloque, que por defecto está configurado en español.

Con este proyecto se puede plantear un reto al alumnado: probar a decir alguna palabra con diferentes ritmos, tonos o acentos hasta que el ordenador reconozca otra palabra diferente. En ese momento se puede ir al visualizador de espectrogramas que se muestra en el vídeo para comprobar similitudes y diferencias entre el espectrograma de las dos palabras y tratar de comprender por qué se ha producido el error.

A continuación vemos una versión un poco más avanzada del proyecto, en la que el personaje mostrará por pantalla las diferentes opciones que ha barajado al reconocer el texto, ordenadas por orden de confianza. Se aprovecha más su funcionamiento si al probarlo se pronuncian frases más largas:

Con alumnado que ya sepa programar, usando la biblioteca de audio de eCraft2Learn se pueden plantear retos muy interesantes en clase. Por ejemplo, se puede crear un proyecto en el que se controle a un personaje con la voz y haya que guiarlo para poder salir de un laberinto. El personaje podría reconocer cuatro instrucciones básicas (arriba, abajo, izquierda, derecha), moviéndose x posiciones en esa dirección al reconocer la instrucción correspondiente. Con estudiantes que estén empezando a programar pero no sean tan expertos como para crear el proyecto desde cero, se les puede facilitar este proyecto como punto de partida para que puedan adaptarlo y completarlo.

Y con este reto finalizamos la entrega de hoy. 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:

 

Como la semana próxima es puente en España, hemos pensado dejarla para que puedas repasar todo lo visto hasta ahora en el curso. Así que ya nos vemos dentro de dos viernes. Y si tienes cualquier duda o quieres compartir alguna idea con nosotros, puedes dejarnos un comentario aquí en el blog o en Twitter con el hashtag #ProgramamosIA