En este blog se ha hablado en varias ocasiones sobre la necesidad de que todos, y especialmente los más pequeños, aprendamos los fundamentos de la  Inteligencia Artificial (IA). Las razones son las misma por las que todos deberíamos conocer los fundamentos de la programación: para ayudarnos a interpretar nuestro mundo actual, altamente tecnificado, y poder actuar con conocimiento sobre las tecnologías que afectan a nuestras vidas, unas veces de forma positiva y otras no tanto.

Pero si queremos enseñar y aprender los fundamentos de la IA, de la misma manera que aprendemos y enseñamos los fundamentos de la programación, necesitamos  herramientas que, como Scratch o Snap!, nos faciliten la iniciación a la vez que nos permitan crear proyectos cada vez más complejos, y además den soporte a muchos y diferentes tipos de aplicaciones para atraer a una amplia gama de intereses y estilos de aprendizajes. Y aquí es donde entra LearningML, la herramienta que yo mismo en colaboración con el grupo de investigación KGBL3 venimos desarrollando desde hace algo más de un año y que, por fín, tenemos la suerte de presentar en este artículo.

¿Qué es LearningML? 

LearningML es una plataforma educativa para la enseñanza y el aprendizaje de una de las técnicas de IA más utilizadas en la actualidad: el Aprendizaje Automático, o Machine Learning (ML), el término anglosajón por el que se conoce más comúnmente.

¿Y qué es el Machine Learning?

Algunos de los problemas que deseamos resolver con los ordenadores no se prestan bien a las técnicas que tradicionalmente usamos y que en esencia consisten en: 1) analizar el problema, 2) extraer sus reglas básicas y 3) construir un programa que las implemente. Típicos ejemplos de estos problemas “duros de roer” son el reconocimiento de textos, imágenes o sonidos. Sin embargo, cuando no disponemos de un algoritmo claro para aplicar a nuestro problema, pero tenemos un gran número de datos relacionados con su solución, podemos tratar el problema desde otra perspectiva: usar esos datos para inferir posibles soluciones. Y esta es la esencia del ML: recolectar grandes conjuntos de datos a partir de los cuales podamos extraer algunos patrones que sirvan para construir modelos capaces de ofrecer soluciones no exactas pero sí bastante probables.

¿Cómo funcionan las técnicas de ML?

Las pertenecientes al tipo conocido como ML supervisado, que son las más populares, funcionan según el siguiente esquema:

  1. Entrenamiento. Recolectamos datos del tipo de cosas que queramos reconocer o clasificar, y los etiquetamos. Por ejemplo hacemos una colección de fotos de perros y gatos y etiquetamos cada una de ellas con la etiqueta “perro” o “gato” según le corresponda. A esto le llamamos el conjunto de datos de entrenamiento.
  2. Aprendizaje. Entregamos ese conjunto de datos de entrenamiento a un algoritmo de ML (existen muchos tipos) y este se encarga de construir un modelo (o función) capaz de reconocer o clasificar otros datos que sean similares, pero distintos a los del conjunto de entrenamiento. A esta fase se le llama aprendizaje porque recuerda a la manera en que los humanos y animales aprendemos.
  3. Evaluación. Probamos el modelo construido con nuevos datos para comprobar cómo de bien funciona. Si no funciona demasiado bien, podemos recopilar más datos de ejemplo y volver a ejecutar el algoritmo de ML para obtener un modelo mejor.
  4. Usamos el modelo generado para construir un programa informático que los use en alguna aplicación práctica.

¿Cómo podemos aprender ML con LearningML?

LearningML facilita enormemente la construcción de modelos de ML. La herramienta se centra en los fundamentos y oculta los aspectos más complejos, al igual que hace Scratch o Snap! con la programación. En tres sencillo pasos, que se correponden con los tres primeros puntos del esquema anterior, puedes obtener un modelo de ML a partir de conjuntos de textos o imágenes que hayas recopilado. Además puedes utilizar ese modelo para programar en Scracth una aplicación que lo utilice. En la web del proyecto encontrarás un manual de uso de la herramienta, varios videotutoriales para aprender rápidamente a usarla y más recursos sobre IA y ML en general y sobre el uso de LearningML en particular. Pero te adelantamos aquí los puntos clave.

La herramienta consta de dos aplicaciones con las que recorrerás todas las fases de un proyecto de ML: el editor de ML y la plataforma de programación.

 

Con el editor puedes construir modelos de ML de una manera muy sencilla: recopila un conjunto de datos o imágenes de ejemplo y forma distintos conjuntos con ella. Los conjunto se corresponde con cada una de las clases de textos o imágenes que quieres reconocer. Después ejecuta el algoritmo de ML para que la aplicación construya un modelo basado en los datos que has proporcionado. Y finalmente, usa nuevos textos o imágenes distintos a los del conjunto de entrenamiento para  probar cómo de bien funciona. Todo esto te lo presenta la herramienta ordenadamente de una manera intuitiva.

Cuando ya estés conforme con tu modelo puedes construir en la plataforma de programación un programa que lo use. Esta plataforma es una modificación de Scratch a la que se han añadido algunos bloques para usar el modelo de ML. Así que te resultará muy sencillo comenzar a programar aplicaciones que usan IA.

¿Dónde puedo encontrar proyectos de ejemplo para comenzar?

Aunque para usar LearningML no es necesario registrarse, si lo haces podrás acceder a los proyectos que otras personas hayan compartido y, por supuesto, tú mismo puedes compartir los proyectos que desees. Ahora mismo sólo hay algunos ejemplos para que puedas probar la aplicación más rápidamente, pero esperamos contar con vuestra participación para ampliar y enriquecer la herramienta con vuestros proyectos.

¿Y si encuentro algún fallo o se me ocurre alguna mejora?

Ten en cuenta que se trata de una herramienta en desarrollo y que la estamos haciendo en nuestros ratos libres, así que es muy posible que encuentres algún fallo. Por eso hemos habilitado en el menú de usuario un formulario para que puedas informarnos de los fallos que encuentres y las mejoras que se te ocurran.

Yo soy profesor de música, o lengua, historia, biología,…. ¿va esto conmigo?

En realidad la IA y el ML nos abre un nuevo camino para seguir fomentando el Pensamiento Computacional. Ya sabemos que aprender y enseñar los fundamentos de la programación es posible incluso a muy tempranas edades. También sabemos que la programación puede ayudarnos muy eficazmente en el desarrollo de otras asignaturas;  no solo se aprende a programar, sino que se programa para aprender. Y esto es, posiblemente, el mayor aporte de la programación en la escuela. La IA nos ofrece la posibilidad de ampliar este panorama. Como una imagen vale más que mil palabras os remitimos a este video que Javier Álvarez,  profesor del  CEIP Carlos V (Sevilla) ha realizado con sus alumnos para la celebración del día Internacional contra la Violencia de Género 2019. En esta actividad se ha pretendido crear un sistema de IA capaz de reconocer expresiones ofensivas (trolls), y para ello se han trabajado contenidos de Lengua Castellana y Literatura, Matemáticas,  Educación en Valores, Cultura Digital y Pensamiento Computacional.

 

En conclusión

Aprender los fundamentos de la Inteligencia Artificial ya está a nuestro alcance. Esto no solo permite  mejorar la alfabetización digital de nuestros alumnos, sino que enriquece la programación como recurso pedagógico para aprender contenidos de cualquier asignatura, a la vez que fomenta el desarrollo de las habilidades de Pensamiento Computacional. Estamos desarrollando LearningML con la intención de facilitar a todos el aprendizaje de los fundamentos de la IA, así como de ampliar y hacer aún más divertidas y atractivas las actividades de programación con las que, sin duda, podemos enriquecer enormemente nuestra práctica docente. ¿Te animas a construir un sistema de IA capaz de saber quien está sentado delante de la webcam de tu ordenador? ¿O programar un asistente virtual como Alexa? ¿O crear un personaje virtual que imite los gestos de tu cara? Visita nuestra web y prueba a crear tu primer modelo de IA. Te sorprenderá lo sencillo que resulta y lo impresionante que es comprobar como has programado a tu computadora para que reconozca textos o imágenes.

Si quieres conocer los detalles técnicos de LearningML puedes leer este artículo publicado en nº 63 de la Revista de Educación a Distancia:

Rodríguez García, J. D., Moreno-León, J., Román-González, M., & Robles, G. (2020). LearningML: A Tool to Foster Computational Thinking Skills Through Practical Artificial Intelligence Projects. Revista De Educación a Distancia, 20(63). https://doi.org/10.6018/red.410121

Disponible en: https://revistas.um.es/red/article/view/410121

 

La imagen del genio LearningML, en la cabecera, ha sido diseñada por Roberto Marcano Ganzo.