En esta entrada vamos a aprender a usar Máquinas de Aprendizaje con la
plataforma Learning ML.
1. Qué es la Inteligencia artificial
2. El Aprendizaje automático
3. Learning ML
1. Acceso al editor
2. Modelo de reconocimiento de imágenes: Entrenamiento
3. Modelo de reconocimiento de imágenes: Aprendizaje
4. Modelo de reconocimiento de imágenes: Probando con Scratch
5. Descargando el modelo
4. Lista de cotejo
(Actividad basada en el trabajo de Pablo Dúo Terrón)
Qué es la Inteligencia artificial
Inteligencia artificial es el uso de los ordenadores electrónicos para resolver
problemas utilizando técnicas que, si esas técnicas fueran usadas por una persona,
diríamos que es gracias a la inteligencia de la persona.
En esta entrada vamos a utilizarla para personalizar la enseñanza y proporcionar soporte
adicional a través del desarrollo de una página web sencilla.
Si quieres aprender más sobre el tema, aquí tengo unas entradas que te van a gustar:
Ajedrez e Inteligencia Artificial, donde sobre Turing, Voight-Kampff, Kasparov,
Neumann, Blade Runner, 2001, AlphaZero, Cajal… Ajedrez, cine e IA.
Ideas falsas y la IA (basada en en el libro «El viaje del conocimiento:
Caminando junto a la inteligencia artificial«, de Javier Fernández
Panadero, editado por Páginas de espuma en 2023. ¡Imprescindible!).
El Aprendizaje automático
Primero haremos una introducción al aprendizaje automático, y crearemos nuestra
propia máquina con plataforma Learning ML. Alimentaremos un modelo con nuestros
propios datos para entender el proceso de entrenamiento y observar sus respuestas.
Finalmente, evaluaremos la fiabilidad de las respuestas generadas.
El Machine Learning (Aprendizaje Automático), es un conjunto de algoritmos y
técnicas con las que se construyen modelos de predicción y clasificación a partir de
conjuntos de datos conocidos.
Todos los tipos de algoritmos de Machine Learning, comparten una estructura de
funcionamiento similar:
Se presentan como entradas del algoritmo un conjunto de datos cuya
clasificación se conoce de antemano.
Con esos datos correctamente clasificados, el algoritmo ajusta una serie de
parámetros de un modelo.
Además de clasificar los datos de entrada, es capaz de clasificar nuevos
datos cuya clasificación no se conoce de antemano.
La máquina que realmente aprende es un algoritmo que usando datos existentes es
capaz de predecir comportamientos futuros. Automáticamente, también en este
contexto, implica que estos sistemas se mejoran de forma autónoma con el tiempo, sin
intervención humana.
Tipos de aprendizaje automático (Fuente)
El Machine Learning no es preciso al 100%. Es más, sus resultados dependen mucho
de lo bueno que sea el conjunto de datos que se haya utilizado para enseñar a la
máquina. Esto da lugar a un problema conocido como sesgo, explicado en este recurso,
y que da lugar a importantes dilemas éticos.
Learning ML
Learning ML es una plataforma para la creación de modelos de aprendizaje desarrollada
por Juan David Rodríguez.
Acceso al editor
1. Accede al editor avanzado (1), y añade un nombre al proyecto (2). Como en muchos
programas y aplicaciones, tienes un menú desplegable (3) donde cargar o guardar.
Modelo de reconocimiento de imágenes: Entrenamiento
2. Vamos a crear un modelo de Machine Learning de reconocimiento de imágenes,
así que pulsa el (5) de «Reconocer imágenes»:
3. Para crear el modelo vamos a tener 3 fases: Entrenar, Aprender y Probar. ¡Vamos a
entrenar!
4. Entrenar significa recopilar ejemplos de imágenes que quieras reconocer. Es lo
primero que debes hacer para crear un modelo de Machine Learning. Desde aquí puedes
añadir nuevas etiquetas o clases, es decir, los nombres de los tipos de cosas que quieres
reconocer. Para nuestro ejemplo de reconocimiento de lugares singuares de Ciudad
Rodrigo, vamos a utilizar las clases (o etiquetas) que hemos elegido para nuestra «Visita
Virtual«.
Aquí puedes ver el recorrido que realiza la protagonista del cortometraje, Nuria,
al salir de su Instituto, el IES Fray Diego Tadeo, para llegar a la Torre del
Homenaje del Castillo de Enrique II, una fortaleza del s. XIV que en la
actualidad es sede de un Parador Nacional de turismo:
¡Aquí estamos!
Estos son los puntos de interés (seleccionados por los alumnos participantes en
el cortometraje. La información de los puntos han sido corregida y supervisada
por los profesores del Departamento de Geografía e Historia del IES Fray
Diego Tadeo González).
# Punto de Interés
1 IES Fray Diego Tadeo González
2 Convento de la Sagrada Familia
3 Parque de la Glorieta
4 Sol del Sistema Solar Astróbriga
5 Garrochista
# Punto de Interés
6 Árbol Gordo
7 Puerta de Amayuelas
8 Plaza de Mazarrasa
9 Catedral de Santa María
10 Plaza de Herrasti
11 Escultura Julián Sánchez «El Charro»
12 Verraco
13 Castillo de Enrique II
5. Añade estos tipos de etiquetas. Como ejemplo vamos a comenzar con el Sol del
Sistema Solar Astróbriga (Aquí te cuento lo que es la Asociación Astróbriga):
6. Puedes añadir nuevas imágenes a las etiquetas de dos maneras: subiendo archivos o
usando la webcam del ordenador. O todavía mejor… ¡la cámara de tu móvil!
así que puedes:
Hacer fotografías del sitio en cuestión.
Buscar en la web imágenes y utilizarlas:
Capturar imágenes del video de JAQU3 360º:
¡En poco rato hemos juntado 20 imágenes!
Selecciona todas las que tengas y pulsa en Abrir:
Ya podemos pasar a la siguiente imagen:
Cuando tengamos subidas las imágenes con las clases, es turno de la siguieinte etapa de
entrenamiento, ¡Aprendizaje!
Modelo de reconocimiento de imágenes: Aprendizaje
7. Pulsa en «Aprender a reconocer imágenes«:
8. Vamos a activar el Modelo avanzado para aprender más:
Vamos a ver qué significan estos parámetros:
Épocas: Una época es una pasada completa por todo el conjunto de datos de
entrenamiento. Aumentar el número de épocas permite que el modelo vea los
datos varias veces, lo cual ayuda a que aprenda mejor. Sin embargo, demasiadas
épocas pueden hacer que el modelo se ajuste demasiado a los datos de
entrenamiento y pierda capacidad para generalizar en datos nuevos.
o Con un conjunto de datos pequeño, puedes usar entre 10 y 20 épocas.
Esto permitirá al modelo aprender patrones sin memorizar demasiado
los pocos ejemplos que tiene. Puedes comenzar con 10 y aumentar si
observas que la precisión no se estabiliza.
Tamaño del lote: El tamaño del lote determina cuántos ejemplos se procesan a
la vez antes de que el modelo ajuste sus parámetros. Un tamaño de lote pequeño
permite ajustes más frecuentes, lo que puede hacer que el entrenamiento sea más
preciso pero más lento. Un lote grande, en cambio, hace el proceso más rápido,
pero con ajustes menos frecuentes.
o Un tamaño de lote pequeño, como 5 o 10, sería adecuado. Dado que
tienes pocos datos, un lote pequeño ayuda a ajustar los pesos de manera
más frecuente, lo cual es útil para detectar patrones en conjuntos de
datos reducidos.
Ritmo de aprendizaje: Este parámetro controla la velocidad con la que el
modelo ajusta sus parámetros en cada iteración. Un ritmo de aprendizaje alto
permite aprender rápido, pero puede hacer que el modelo se salte la solución
óptima. Un valor demasiado bajo hará que el modelo aprenda muy lento, pero
con mayor precisión en cada ajuste.
o Un ritmo de aprendizaje bajo, como 0.001 o 0.005, es ideal para evitar
saltos bruscos en la actualización de los parámetros, ya que el modelo
está trabajando con muy pocos datos. Este ritmo permite un aprendizaje
gradual y más estable.
Porcentaje de ejemplos para validación: Este valor define qué porcentaje de
los datos se utilizará para validar el modelo durante el entrenamiento. Los datos
de validación permiten evaluar el rendimiento del modelo en datos nuevos, sin
que estos afecten el entrenamiento.
o Reserva entre el 15% y el 20% de las imágenes para validación (4 a 6
imágenes aproximadamente). Esto te permitirá evaluar si el modelo está
generalizando adecuadamente sin reducir demasiado el conjunto de
datos de entrenamiento.
9. Vamos a probar el modelo, sube una imagen de prueba:
Recuerda: el Machine Learning no es preciso al 100%. Es más, sus resultados
dependen mucho de lo bueno que sea el conjunto de datos que se haya utilizado para
enseñar a la máquina. Esto da lugar a un problema conocido como sesgo, y que da lugar
a importantes dilemas éticos.
Probamos con una imagen del monumento al Cid Campeador de Burgos:
Probando con otra del Parador, ya no está tan seguro pero la identifica
erróneamente.
Subiendo el Porcentaje de ejemplos para validación se reducen:
Con esto ya tienes listo tu modelo de reconocimiento de imágenes. Puedes
mejorarlo añadiendo nuevos imágenes a las etiquetas que has creado y volviendo
a ejecutar el proceso de aprendizaje. Entonces, debes volver a probar para ver si
el modelo ha mejorado. Puedes repetir este proceso todas las veces que quieras.
Modelo de reconocimiento de imágenes: Probando con Scratch
10. Dentro de Probar podemos escribir un programa en Scratch para reconocer
imágenes similares:
11. La plataforma es una pequeña modificación del entorno de Scratch con nuevos
bloques de LearningML. ¡No te olvides de cambiar el nombre por el de tu proyecto!
12. Este es el nuevo bloque exclusivo para las imágenes:
13. Este es un ejemplo de código que puedes probar:
14. Para las imágenes que se muestran, debes incorporárlas a los disfraces:
Selecciona la pestaña de disfraces (1).
Carga las imágenes seleccionadas (2).
Modifica el nombre de las imágenes para que sea el mismo que el de las clases o
etiquetas (3).
Rellena si lo consideras el resto de la pantalla con otro fondo (4).
15. Puedes probar a añadir diversos textos y efectos:
Aquí tienes todos lo
16. ¡Es hora de probar el modelo! Lo puedes hacer en tu portátil (que seguramente tenga
webcam frontal), o guardando los archivos (.json del modelo que has creado +
el .sb3 de scratch) y probándolo en tu dispositivo móvil.
Aquí tienes el funcionamiento:
Descargando el modelo
Para poder mostrar tu modelo y que lo puedan probar más usuarios tienes que descargar
unos archivos:
Conjunto de datos (.json)
Modelo creado (.mdl)
Programa de Scratch (.sb3)
Dependiendo de la versión de LearningML que estés utilizando, podrás descargar unos
o todos.
En la versión 2 de LearningML tienes que ir a Archivo (1) y puedes descargar
el conjunto de datos (2) y el modelo (3):
En la versión original de LearningML tienes que ir a Archivo (1) y sólo puedes
descargar el modelo (2).
Para descargar el programa de Scratch tienes que ir a Archivo (1) y puedes
descargar el programa (2):
No se te olvide que el conjunto de datos «en bruto» con sus nombres, y organizado en
carpetas (que luego serán las distintas etiquetas) debes guardarlo y tener una copia de
seguridad en tu cuenta de OneDrive.
Lista de cotejo
Aquí tienes una lista de cotejo para marcar el trabajo que has realizado… y el que te
queda por hacer.
Comparte esto:
X
Facebook