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:
- 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.
- 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.
- 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.
- 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.
Buenas.
Muy interesante. Tengo una especie de blog para divulgar sobre ml y he metido learningml.
https://hablandoendata.com/data-science-para-la-escuela/
Me alegra que te haya resultado interesante y que le des difusión a LearningML. Nuestro mayor deseo es que resulte realmente útil para aprender las bases del Machine Learning y en esa linea seguiremos trabajando. Un saludo!
Buenas. Soy profesor del IES Mediterráneo de Salobreña (Granada) estamos enseñando pensamiento computacional y robótica. Ya hemos trabajado algo sobre IA, nos parece muy interesante LearningML, rápidamente se crea un modelo , se entrena, se prueba y se crea un modelo con Scratch. ¿Habéis pensado hacer una extensión para APPInventor?
Hola, estupendo que te haya resultado de interés. Si habéis comenzado a trabajar algo de IA, seguramente os será muy útil LearningML. Lo de hacer una extensión para AppInventor es algo que nos encantaría. También nos gustaría hacer los modelos accesibles desde aplicaciones Python. El tema es que al tratarse el desarrollo de LearningML una actividad fuera de nuestro trabajo habitual, los tiempos son más dilatados. Sin embargo nos encantaría si alguien se animase a desarrollar este tipo de extensiones a otros lenguajes. Contaría con todo nuestro apoyo. Por otra parte, a medida que vayamos incorporando nuevas funcionalidades iremos comunicándolo tanto por la web de LearningML como por este blog y redes sociales. Un saludo!
Machine learning (ML) ou aprendizado de maquina, como tambem e conhecido e uma area da ciencia da computacao que tem como objetivo responder a uma simples questao: Como ensinar maquinas a aprender?
[…] unos días os hablábamos de LearningML, una herramienta que pretende contribuir al aprendizaje de la inteligencia artificial (IA) en […]
[…] grupo KGBL3 ha desarrollado una herramienta, LearningML, con la que se puede aprender de manera práctica y sencilla a crear aplicaciones que incorporan […]
[…] aprendizaje automático haciendo uso de diferentes conjuntos de datos. La herramienta utilizada es LearningML, de la que ya os hemos hablado en varias ocasiones en este […]
[…] puesto que se quedó grabado. Y si quieres aprender más acerca de LearningML podéis leer este artículo escrito por su desarrollador, Juan David Rodríguez, que se ha convertido en uno más de la familia Programamos […]
[…] con JavaScript. Por poner un par de ejemplos, Juan David es el desarrollador principal de LearningML y del entorno EchidnaScratch, ¡y ambos proyectos están programados con JavaScript! Así que, si […]
Muy clarito todo en tu artículo. Felicidades.
Me gustaría también felicitar a Javier Álvarez por el trabajo que ha hecho con su alumnado del Colegio CEIP Carlos V. Eso conlleva bastantes horas de trabajo.
[…] la generalización, una de las características más importantes a la hora de generar un modelo de aprendizaje automático. ¡Que lo disfrutéis! […]
[…] lo cierra nuestro amigo Juan David Rodríguez, que seguro que realizará varias demostraciones con LearningML, la fantástica herramienta que está desarrollando junto al grupo KGBL3 y de la que ya os hemos […]
[…] es? · GitBook. Aprende Machine Learning con LearningML. En este blog se ha hablado en varias ocasiones sobre la necesidad de que todos, y especialmente […]
[…] herramienta que nos parece más interesante para el aula es, sin duda, LearningML. Se trata de una solución que ofrece muchas posibilidades para distintos niveles educativos, que […]
Buenas tardes, Juan David. Hoy entro por primera vez en LearningML, He creado tres equiquetas distintas, cada una con su denominación. El problema es que al guardar el archivo en mi pc lo guarda con una página llena de letras. ¿cómo podría guardar el archivo para enviárselo correctamente a la tutora de mi hija? Gracias. Mayte.
Hola, Mayte.
Cuando pulsas en la opción «guardar en tu ordenador», efectivamente se almacena un archivo con extensión .json que está formado por textos. Ese archivo lo puedes compartir con otra persona. Y esta persona a su vez puede usar la opción «cargar desde tu ordenador» seleccionando el archivo .json para poder ver el trabajo realizado.
Saludos.