IA

Referencias:

¿Qué es la IA?

En el vídeo se menciona que una aplicación informática que sea capaz de vencer al campeón mundial humano a un juego como el go, que tiene muchas más combinaciones que el ajedrez, sería un sistema de IA. Este ejemplo no es casual, ya que hace referencia a AlphaGo, el sistema creado por DeepMind que venció a Lee Sedol, campeón del mundo de go, tal como puedes ver en esta pieza del telediario de RTVE.

El equipo de DeepMind realizó un documental sobre el desarrollo de AlphaGo y sobre las partidas contra Lee Sedol. Se trata de una película espectacular que es muy recomendable para ver con el alumnado, ya que genera unos debates realmente interesantes en clase. Aquí lo puedes ver con subtítulos en español:

También hablamos de los coches de conducción autónoma. Si nunca has visto uno en funcionamiento, este vídeo ilustra cómo el sistema que gobierna el coche percibe los objetos, señales de tráfico, automóviles o personas con los que se va cruzando. Se trata de un vídeo al que regresaremos más adelante en el curso, puesto que tiempo después de su publicación se ha conocido que fue manipulado para ofrecer una imagen irreal de las capacidades de conducción del coche.

Sin duda, una de las iniciativas más interesantes en el mundo de la IA es HuggingFace, que está tratando de democratizar el acceso a los modelos de IA. En Programamos usamos muchísimas de las demos que se publican en HuggingFace, y te recomendamos que explores su sección de espacios a menudo, puesto que vas a encontrar joyas que podrás utilizar de manera gratuita y libre en clase. Por ejemplo, aquí tienes algunas demos libres que puedes utilizar como alternativa a herramientas cerradas de pago muy populares (y que trataremos en profundidad a lo largo del curso):

Generamos una imagen de dunas en un desierto siguiendo la forma de la imagen de control.

En la sección de impacto social de la IA de nuestro curso hablaremos también del gasto energético y de las emisiones de carbono de estos sistemas, que es importante tener en cuenta para que los utilicemos de manera consciente y responsable.

Estos sistemas se construyen utilizando datos, tal como veremos en detalle en próximas entregas. Y en relación a la generación de datos, la infografía Los datos nunca duermen de Domo es muy significativa, ya que muestra un vistazo de los datos que cada minuto se crean en internet:

El libro Inteligencia artificial, naturalmente, es una obra gratuita en la que Nuria Oliver realiza un breve recorrido por la historia de la IA, describe su impacto actual, plantea algunos de sus retos, y presenta una visión de futuro en el que la IA se pone a disposición de la ciudadanía y de la gobernanza del planeta digital. Te recomendamos sinceramente su lectura, que consideramos un complemento muy apropiado para esta experiencia formativa.

En relación al impacto actual de la IA, el vídeo también incluye una mención a un artículo de Andrew Ng -otro de los grandes referentes en este campo- en el que compara el impacto de la IA en la sociedad con el de la electricidad hace un siglo. Aunque se trata de un texto de 2017 nos parece muy interesante puesto que ha «envejecido» muy bien, a pesar de ser este un campo que evoluciona a velocidad de vértigo.

Y es precisamente este impacto que tiene la IA en nuestras vidas, y el hecho de que mucha gente lo desconozca, lo que empujó al equipo de Programamos a comenzar a promover la enseñanza de la IA desde edades tempranas. En 2016 ya escribíamos que todo el mundo debería aprender en la escuela sobre los algoritmos de inteligencia artificial.

Para terminar, y pensando especialmente en docentes de informática y tecnología, os dejamos un enlace al artículo Maquinaria computacional e inteligencia, de Alan Turing, y a este vídeo de Carlos Santana (@dotcsv) sobre la arquitectura Transformer. Durante el curso explicaremos con detalle cómo funciona esta arquitectura y lo haremos de manera que pueda ser trabajado con estudiantes de diferentes niveles educativos.

¿IA en educación?

En esta segunda entrega del curso nos vamos a centrar en responder una pregunta que nos encontramos de forma bastante habitual: ¿de verdad es posible aprender sobre inteligencia artificial de manera rigurosa en niveles no universitarios? 

Según la UNESCO, la IA tiene el potencial de contribuir a resolver algunos de los retos más importantes de la educación, generar innovación en cuanto a las prácticas de enseñanza y aprendizaje, así como acelerar el progreso hacia el ODS 4. Una de sus publicaciones más relevantes es el Consenso de Beijing sobre la inteligencia artificial y educación. El objetivo es fomentar que se aproveche el potencial de las tecnologías de IA garantizando al mismo tiempo que su aplicación en contextos educativos se guíe por los principios básicos de inclusión y equidad.

En una línea similar, como parte de su Plan de Acción de Educación Digital, la Comisión Europea afirma existe una necesidad creciente de que docentes y estudiantes tengan una comprensión básica de la IA y el uso de datos para poder interactuar de manera positiva, crítica y ética con esta tecnología y explotar todo su potencial. Esto se refleja en el documento Directrices éticas sobre el uso de la inteligencia artificial y los datos en la educación y formación para los educadores, un documento de lectura muy interesante para cualquier docente, ya que puede ayudarnos, por ejemplo, a decidir si utilizar una cierta herramienta con nuestro alumnado.

Este artículo publicado en codeINTEF presenta un resumen interesante sobre diferentes iniciativas, informes y publicaciones en el panorama internacional. Pero como afirmamos en el vídeo de presentación, si bien a nivel teórico todo esto suena estupendamente, es importante conocer implementaciones reales en el aula que demuestren que realmente es posible aprender con rigor sobre IA en aulas de primaria, secundaria o FP. Y en Programamos hemos tenido la suerte de participar en varias investigaciones muy interesantes en este sentido.

En 2020, durante el confinamiento, el grupo KGBL3 realizó una intervención que se desarrolló en red dirigida a estudiantes de entre 10 y 16 años. Los resultados de la investigación se publicaron en la conferencia ACM SIGCSE21 y aquí puedes acceder a una copia del artículo completo. En Programamos también publicamos un resumen con las conclusiones más importantes, que indican que se produjo una mejora muy clara en los conocimientos sobre IA de los participantes, quienes afirmaron que les resultó sencillo programar sus propios proyectos de IA al usar LearningML. Un ejemplo de los proyectos que crearon los estudiantes es este prototipo de Juan Antonio, de 13 años, a quien se le ocurrió utilizar técnicas de IA para ayudar a personas con diversidad funcional visual a moverse por un edificio. ¡Mirad cómo lo explica él mismo!


Y llegados a este punto, siguiendo el consejo que nos daba Jorge Lobo hace unos días, te vamos a proponer un reto 🙂 ¿Te animas a realizar un test para medir tus conocimientos básicos de IA? Se trata de un test similar al que usamos con el alumnado participante en la investigación, en el que no se recopila ningún dato personal. Pero quizá pueda ser chulo si compartes tus resultados bien en los comentarios del blog o incluso en Twitter con el hashtag #ProgramamosIA.

En el vídeo también se habla de la investigación que midió el impacto educativo del proyecto Escuela de pensamiento computacional e inteligencia artificial, una iniciativa dirigida por el INTEF y desarrollada en colaboración con Comunidades y Ciudades Autónomas. Esta investigación es muy relevante por dos motivos. Por un lado, por el tamaño de la muestra, ya que contó con la participación de más de 7.000 estudiantes y varios cientos de docentes, lo que creemos que la convierte en la mayor investigación sobre IA y educación realizada en todo el mundo. Y por otra parte, porque la implementación en el aula con el alumnado no la hizo un equipo de investigadores, sino que fue diseñada y desarrollada por el propio profesorado tras haber recibido una formación online.

El informe que presenta las evidencias -escrito por Gregorio Robles (URJC), Marcos Román (UNED) y un servidor 🙂 (Programamos)- incluye todos los detalles, recursos, instrumentos y metodología. Pero si tuviéramos que recomendar una sola sección sería la de buenas prácticas, en la que son los docentes quienes presentan los proyectos realizados junto a su alumnado, con las lecciones aprendidas y recomendaciones para futuras implementaciones:


Al hablar del enfoque que vamos a seguir durante todo el curso -en el que el alumnado será protagonista de su aprendizaje al crear sus propias soluciones de IA y no limitarse a utilizar herramientas ya existentes- hacíamos referencia a la metáfora de la programación como medio de escritura que han utilizado grandes figuras en este campo como la gran Cynthia Solomon, conocida como la madre de Logo, o Mitchel Resnick. Así lo debatíamos en Twitter hace unas semanas:

Y para comprender en detalle a qué nos referimos con este enfoque, no se nos ocurre mejor fórmula que recomendar este vídeo del proyecto Detectando trolls, desarrollado por Javier Álvarez con su alumnado para la celebración del día Internacional contra la Violencia de Género en 2019. En esta actividad se pretendió crear un sistema de IA capaz de reconocer expresiones ofensivas (trolls), para lo que tuvieron que trabajarse contenidos de Lengua Castellana y Literatura, Matemáticas,  Educación en Valores, Cultura Digital y Pensamiento Computacional. ¡No os lo perdáis porque es una maravilla!

Y también pueden ser inspiradores los proyectos propuestos por algunos de los docentes participantes en el curso organizado por el proyecto FAIaS, con representación de diferentes niveles educativos, incluyendo educación infantil:

¿Cómo perciben el mundo los ordenadores?

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: 

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 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. 

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:

¿Cómo entienden el texto los ordenadores?

En esta cuarta entrega del Curso Inteligencia Artificial y Educación vamos a centrarnos en comprender cómo los ordenadores son capaces de entender nuestros textos o nuestras instrucciones orales: 

Habrás visto en el vídeo que muchos de los ejemplos incluyen una referencia a cohere,com, y es que nos hemos basado en el currículo de la LLM University de cohere, liderada por el gran científico de IA Luis Serrano. Para quien tenga interés en profundizar más sobre los conceptos tratados en esta entrega, la LLM University ofrece muchos recursos muy interesantes.

En el vídeo comentamos que los embedding de aplicaciones reales suelen tener cientos o miles de dimensiones. Con la biblioteca eCraft2Learn para Snap! -que presentamos en la anterior sesión del curso– podemos hacer cosas muy interesantes con los embeddings. Por ejemplo, podemos visualizar cuál es el vector de números que se asigna a una palabra:

Como vemos, estos embeddings tienen 300 dimensiones. Fueron creados por un equipo de investigación de Facebook. Un poco más adelante en el curso discutiremos en detalle cómo se construyeron mediante técnicas de aprendizaje automático, pero ya podemos adelantar que crearon modelos de 157 idiomas diferentes utilizando todos los artículos de la Wikipedia. Aunque eso representa más de mil millones de palabras, también utilizaron miles de millones de palabras más que descargaron rastreando sitios web de internet. Y básicamente lo que midieron fue qué palabras aparecían cerca de otras en todos estos textos, como aproximación al significado de las mismas. Aunque los embedding originales tienen la representación numérica de un millón de palabras de cada idioma, la biblioteca de eCraft2Learn solo incluye las 20.000 palabras más comunes de 15 idiomas, incluyendo el español.

Como estos embeddings son un conjunto de 300 números, se pueden hacer operaciones aritméticas con ellos. Por ejemplo, para calcular cuál es la palabra más cercana a otra:

Esta biblioteca ofrece un montón de oportunidades para el aula. Por ejemplo, se puede calcular qué palabra está a mitad de camino de otras dos -¿qué palabra crees que estará entre mañana y noche?-, o incluso se pueden utilizar embeddings para resolver analogías del tipo hombre es a mujer lo que rey es a ¿?, cuyo resultado debería ser reina.

Como defienden Touretzky y Gardner, en nuestra cultura los diccionarios y los tesauros son la codificación tradicional del significado de las palabras, pero la tecnología informática nos ofrece este nuevo tipo de representación, los embeddings, que son la base de muchas de las aplicaciones de lenguaje natural con las que interactuamos habitualmente, como traductores automáticos, asistentes digitales para el hogar o sistemas de chatbot. Y permitir al alumnado experimentar por su cuenta con esta nueva representación es el equivalente de nuestro tiempo a aprender a explorar un diccionario, enriqueciendo su apreciación por el lenguaje.

Existen muchas visualizaciones online que permiten explorar vocabularios y experimentar con analogías de aritmética de vectores. Os dejamos a continuación una de estas demos, con la que seguro que te vas a sorprender al ver qué palabras aparecen en el entorno de ciertas palabras (por ejemplo, busca las palabras chico y chica), y con la que puedes tratar de predecir la posición de una palabra tras haber visualizado previamente la posición de otras palabras y la distancia entre ellas.


Para terminar, en el vídeo se muestra cómo comparar la similitud semántica de diferentes frases usando un espacio de HuggingFace con el que también puedes hacer actividades muy interesantes en el aula:


Ya sabes que HuggingFace es el sitio de referencia en el mundo de la IA -como te contábamos en la primera sesión del curso– así que si todavía no tienes cuenta quizá sea buena idea crearte un usuario en la plataforma.