1 00:00:03,700 --> 00:00:08,779 Bienvenidos al curso de Inteligencia Artificial a tu alcance, Ideas Prácticas para el Aula. 2 00:00:09,500 --> 00:00:13,759 Y continuando con el curso y viendo las diferentes herramientas de máquinas de aprendizaje, 3 00:00:14,240 --> 00:00:19,879 en esta ocasión presentamos Machine Learning for Kids, que es una herramienta que nos va a permitir, 4 00:00:20,039 --> 00:00:24,660 al igual que Learning ML, nos va a permitir entrenar modelos de aprendizaje 5 00:00:24,660 --> 00:00:32,460 para reconocimiento de texto, de imágenes, de números o incluso, en este caso, también de sonidos en su última actualización. 6 00:00:32,460 --> 00:00:47,380 Bien, para ello, una vez que accedemos directamente a la URL donde se encuentra esta herramienta, debemos primeramente loguearnos si deseamos mantener los modelos y poder recuperarlos después. 7 00:00:47,579 --> 00:00:57,039 Se puede utilizar esta herramienta sin ningún tipo de registro, pero es aconsejable el registro para poder, como digo, recuperar los modelos. 8 00:00:57,039 --> 00:01:17,519 Bien, pues yo ya tengo una cuenta abierta, así que voy a iniciar sesión y una vez que nos hemos logueado, nos aparece esta nueva interfaz donde podemos ir a la página de la administración de nuestros cursos y también a los proyectos que tenemos ya abiertos. 9 00:01:17,519 --> 00:01:48,540 En el primero de los casos, en esta página de administración, aparece un poco las características de los diferentes cursos que podamos tener para compartir con nuestros alumnos, pero como en este caso el tutorial es para crear un modelo de aprendizaje, pues nos vamos en este caso a la parte anterior, nos vamos a la interfaz anterior y nos vamos directamente a los proyectos donde podemos crear un nuevo proyecto para tener un modelo de aprendizaje. 10 00:01:49,219 --> 00:02:07,140 haciendo clic en este botón y en este caso nos pedirá una serie del nombre del proyecto, qué tipo de proyecto, qué tipo de reconocimientos vamos a utilizar y también si lo queremos almacenar, en este caso, tanto en el navegador web o en la nube. 11 00:02:07,140 --> 00:02:31,800 Bueno, como digo, yo ya tengo en este caso un modelo ya realizado, lo vamos a explicar. En este caso el modelo es reciclado de residuos y lo que hemos hecho ha sido, una vez que hemos decidido qué tipo de reconocimiento vamos a hacer, que en este caso va a ser imágenes, pues la ventana que nos aparece tiene tres opciones, con las mismas tres fases habituales de las máquinas de aprendizaje. 12 00:02:31,800 --> 00:02:44,020 En el caso de la primera de las fases, la del entrenamiento, lo que debemos habilitar son las etiquetas donde vamos a ir clasificando nuestras imágenes. 13 00:02:44,379 --> 00:02:47,180 En este caso habría que hacer clic sobre el botón Anir y etiqueta. 14 00:02:47,719 --> 00:02:56,539 Yo ya he creado tres etiquetas dependiendo del tipo de residuo a qué contenedor debería pertenecer. 15 00:02:56,539 --> 00:02:59,960 En el caso del contenedor amarillo, lógicamente latas, plásticos y bricks. 16 00:02:59,960 --> 00:03:05,800 En el caso del contenedor azul, papel y cartón, y en el caso del contenedor verde, pues vidrio y botellas. 17 00:03:05,919 --> 00:03:12,060 Muy bien, ¿cómo realizamos la inclusión de las imágenes? 18 00:03:12,580 --> 00:03:21,539 La inserción de estas imágenes la podemos realizar a través de una URL, a través de la propia webcam, del propio ordenador, o incluso dibujando ese elemento. 19 00:03:22,000 --> 00:03:25,560 Evidentemente, para este tipo de reconocimiento de imágenes se aconseja evidentemente la URL. 20 00:03:25,879 --> 00:03:26,879 ¿Cómo lo podemos hacer esto? 21 00:03:26,879 --> 00:03:51,080 Lo que nos pide cuando queremos añadir un nuevo elemento es que indiquemos la URL. En este caso concreto lo que vamos a hacer es acceder a bancos de imágenes donde tengamos gratuitas, obviamente donde tengamos estas imágenes que queremos clasificar y en este caso podemos por ejemplo acceder a phgear.com donde podemos tener imágenes gratuitas. 22 00:03:51,080 --> 00:04:02,620 En este caso, si ponemos una imagen de una botella, obtendremos diferentes imágenes gratuitas de diferentes botellas, copas, etc. 23 00:04:03,099 --> 00:04:07,099 ¿Cómo podemos elegir uno de estos elementos e incluirlos? 24 00:04:07,219 --> 00:04:12,740 Una vez que pinchamos sobre el elemento, vemos que aparecen las opciones para poder descargarla de forma gratuita, 25 00:04:12,740 --> 00:04:20,939 pero como lo que nos interesa es la URL, lo que debemos hacer es, con el botón derecho del ratón, hacer clic en abrir enlace en una pestaña nueva, 26 00:04:21,079 --> 00:04:28,420 Y veremos que ahora nos aparece directamente la imagen con la URL donde se encuentra la imagen exactamente. 27 00:04:29,060 --> 00:04:36,740 Vamos a buscar la tarta de refresco dado que habíamos abierto la etiqueta relacionada con el contenedor amarillo, plásticos, latas y brick. 28 00:04:36,740 --> 00:04:47,139 Así que vamos a elegir en este caso cualquiera de estas y lo más importante es una vez que la hemos elegido tenemos que abrir en una pestaña nueva esa misma imagen. 29 00:04:47,139 --> 00:04:51,759 De manera que ahora ya tenemos lo que buscábamos, la URL donde solamente está la imagen. 30 00:04:52,220 --> 00:04:58,860 Esta misma la copiamos y nos vamos directamente al contenedor amarillo, porque pertenece al contenedor amarillo, 31 00:04:59,019 --> 00:05:06,199 y copiaríamos en este caso directamente la imagen y como vemos se nos va a cargar esa imagen en el contenedor correspondiente. 32 00:05:06,639 --> 00:05:13,500 En el caso del anterior que habíamos seleccionado inicialmente era en el contenedor verde y por eso hay que colocarlo evidentemente, 33 00:05:13,500 --> 00:05:19,180 porque para eso es una máquina de aprendizaje supervisado y nosotros tenemos que ir colocando cada una de esas imágenes 34 00:05:19,180 --> 00:05:24,540 en los contenedores que nosotros consideremos, de manera que luego la máquina realizará el aprendizaje 35 00:05:24,540 --> 00:05:27,000 en función de estos datos realizados, ¿de acuerdo? 36 00:05:28,920 --> 00:05:35,480 Nos vamos de nuevo al proyecto y ahora ya sí que podemos aprender, el modelo va a aprender de esas imágenes 37 00:05:35,480 --> 00:05:40,339 que les hemos suministrado en cada una de las etiquetas y podemos probar nuestro entrenamiento. 38 00:05:40,339 --> 00:05:50,720 Tarda unos segundos y una vez que ya el modelo ha aprendido, pues ya podemos de nuevo añadir aquí y observar qué tipo de confianza nos va a dar. 39 00:05:50,720 --> 00:05:56,160 Nos dice además de información, tenemos tantos ejemplos en el contenedor amarillo, en el contenedor azul, etc. 40 00:05:56,819 --> 00:06:09,720 Entonces, lo que vamos a hacer es añadir a través de una imagen, perdón, de una webcam, podremos añadir un nuevo elemento y nos va a decir, en este caso, el porcentaje de confianza en la que considera que debería estar clasificado. 41 00:06:10,339 --> 00:06:36,300 Vamos a elegir en este caso de nuevo otra vez en fotos gratis, vamos a elegir otro elemento, por ejemplo podemos elegir en este caso pues esta misma, vamos a seleccionar en este caso donde se encuentra a través de esta url que copiamos y que pegamos en este caso en nuestra comprobación. 42 00:06:36,300 --> 00:06:45,319 En este caso le damos y nos va a decir, va a intentar identificarlo y nos va a decir que es 100% retenencia de contenedor verde. 43 00:06:45,420 --> 00:06:47,819 Como vemos pues efectivamente ha funcionado bastante bien. 44 00:06:53,410 --> 00:07:01,189 Una vez que ya tenemos y hemos probado nuestro modelo y consideramos que ya es bastante fiable, podemos directamente darle la opción de crear 45 00:07:01,189 --> 00:07:09,230 y que lo que nos va a dar las opciones es de crear una aplicación final con este modelo, ya sea en Scratch, en lenguaje de programación Python 46 00:07:09,230 --> 00:07:13,769 o directamente en una aplicación móvil a través de App Inventor. 47 00:07:14,069 --> 00:07:21,149 En este caso vamos a elegir una muy sencillita que sería con Scratch para que nuestra aplicación identifique claramente 48 00:07:21,149 --> 00:07:31,250 qué tipo de objeto, qué tipo de residuo se trata y qué contenido deberíamos incorporar. 49 00:07:31,250 --> 00:07:46,550 Entonces hacemos clic en Scratch y directamente abrimos la plataforma lenguaje Scratch, donde se nos va a facilitar, en este caso, como vemos aquí, el modelo con los elementos que nos interesan de este modelo. 50 00:07:46,970 --> 00:08:00,810 Estos nuevos elementos que aparecen son fruto del aprendizaje, del modelo de aprendizaje que tenemos y con ello vamos a poder reconocer una imagen, incluso nos va a dar el porcentaje de confianza de esa imagen, etc. 51 00:08:00,810 --> 00:08:28,009 Bien, pues una vez que cargamos este programa, muy sencillito, muy similar al que habíamos visto en el tutorial relacionado con la reina ML, lo que vamos a hacer es cargar, en este caso, una vez que abrimos Scratch, vemos que efectivamente tenemos los bloques gráficos relacionados con nuestro modelo de aprendizaje, nuestro modelo entrenado, en el que nos vamos a poder reconocer una imagen y directamente nos va a decir a qué etiqueta corresponde. 52 00:08:28,009 --> 00:08:54,269 Nos podemos también coger esa imagen y nos va a decir en este caso en nuestro modelo de aprendizaje el grado de confianza que tiene en esa tradición y vamos a poder utilizar estos bloques para poder hacer un pequeño programa, digamos sencillito, para poder identificar los objetos que van a ir cargándose a través de un objeto con diferentes diferencias. 53 00:08:54,269 --> 00:09:09,789 También se podría hacer con una, con lo cual utilizar las imágenes, los disfraces de un objeto, también se podrían utilizar estas imágenes, cogiéndolas directamente, o bien desde el fondo del programa, o bien a través de la webcam, que sería lo interesante, ¿de acuerdo? 54 00:09:09,789 --> 00:09:20,149 luego veremos si acaso algún ejemplo también. En cualquier caso se puede utilizar, como digo, para este programa tan sencillo las imágenes que vamos a ir cargando, 55 00:09:20,230 --> 00:09:28,950 las tenemos ahí cargadas varias de ellas, hemos elegido una lata de refresco, un trozo de papel, otra lata de refresco, otro de vidrio, etc. 56 00:09:28,950 --> 00:09:54,110 Entonces, además vamos a cargar otro modelo ya entrenado, en este caso de texto a voz, esto nos permite una interacción mayor con nuestro programa, de manera que el programa va a ir contándonos, va a ir diciéndonos un poco lo que está considerando y a partir del modelo que hemos entrenado nos va a decir también el grado de confianza. 57 00:09:54,110 --> 00:10:07,750 Todo esto a través de la voz de estos bloques que nos permiten identificar, en este caso, simplemente reproducir las palabras a partir del texto que introduzcamos en este bloque. 58 00:10:08,309 --> 00:10:13,909 Podemos seleccionar diferentes tipos de voces e incluso en español o en otros idiomas. 59 00:10:14,370 --> 00:10:15,809 Bien, el programa es muy sencillo. 60 00:10:15,809 --> 00:10:24,029 Como vemos aquí, básicamente cargamos en este caso nuestro modelo que teníamos implementado, que nos ha aparecido evidentemente con estos bloques de aquí. 61 00:10:24,110 --> 00:10:29,549 fijamos el idioma español y en este caso el tono de voz, que en este caso es de tenor 62 00:10:29,549 --> 00:10:34,590 y lo que nos va a decir es una información, en este caso el programa lo vamos a llamar recicla AI 63 00:10:34,590 --> 00:10:40,990 y nos va a decir en qué, en qué, dónde deberíamos depositar la imagen que le suministremos 64 00:10:40,990 --> 00:10:45,769 para suministrar las imágenes simplemente hacemos un pequeño bucle con la barra espaciadora 65 00:10:45,769 --> 00:10:52,509 y cada vez que pulsamos la barra espaciadora nos va a decir la siguiente, una voz nos va a decir el siguiente texto 66 00:10:52,509 --> 00:11:01,710 identifico un residuo para reciclar en él y si observamos lo que tenemos aquí es el reconocimiento de la imagen a través del disfraz de ese objeto 67 00:11:01,710 --> 00:11:08,590 y su clasificación, su predicción en función de las etiquetas que teníamos, contenedor amarillo, contenedor azul o contenedor verde 68 00:11:08,590 --> 00:11:15,330 y además nos va a decir estoy seguro al y mediante esta concatenación de textos por los que vamos a decir en este caso 69 00:11:15,330 --> 00:11:22,769 y redondeando en este caso, porque el grado de confianza que nos da es un parámetro entre 0 y 100, 70 00:11:23,230 --> 00:11:29,529 pero con muchos decimales, bueno, pues lo redondeamos directamente para que nos de en este caso al 45%, al 93%, lo que sea. 71 00:11:29,990 --> 00:11:32,570 Bien, vamos a ejecutarlo y lo vamos a comprobar cómo funciona. 72 00:11:34,309 --> 00:11:37,990 Hola, soy Recicla y tu asistente de identificación de residuos. 73 00:11:38,409 --> 00:11:42,690 Muéstrame un residuo y podré ayudarte a decidir en qué contenedor debes depositarlo. 74 00:11:42,690 --> 00:11:44,570 Estoy listo. Adelante. 75 00:11:45,330 --> 00:11:52,370 Bien, pues vamos a pulsar la barra esparcidora y nos va a ir diciendo para estos objetos o estos disfraces a qué contenedor deberían ir. 76 00:11:53,309 --> 00:11:56,570 Identifico un residuo para reciclar en el contenedor y en bajo verde. 77 00:11:57,090 --> 00:11:59,190 Esto es seguro al 99%. 78 00:11:59,190 --> 00:12:04,789 Identifico un residuo para reciclar en el contenedor y en bajo amarillo. 79 00:12:06,190 --> 00:12:08,269 Esto es seguro al 90%. 80 00:12:08,269 --> 00:12:13,190 Identifico un residuo para reciclar en el contenedor y en bajo azul. 81 00:12:13,190 --> 00:12:15,889 Estoy seguro al 96% 82 00:12:15,889 --> 00:12:17,870 Bueno, pues parece que está funcionando bien 83 00:12:17,870 --> 00:12:21,450 Identifico un residuo para reciclar en el contenedor yo en bajo verde 84 00:12:21,450 --> 00:12:24,950 Estoy seguro al 83% 85 00:12:24,950 --> 00:12:29,509 Identifico un residuo para reciclar en el contenedor yo en bajo verde 86 00:12:29,509 --> 00:12:31,730 Estoy seguro al 100% 87 00:12:31,730 --> 00:12:35,570 Bien, en este caso quería hacer hincapié en un detalle interesante 88 00:12:35,570 --> 00:12:40,309 Y es que he añadido una imagen que hemos utilizado como dato de entrenamiento 89 00:12:40,309 --> 00:12:42,409 claro, como es como dato de entrenamiento 90 00:12:42,409 --> 00:12:44,909 el porcentaje de confianza es del 100% 91 00:12:44,909 --> 00:12:46,350 este detalle también es interesante 92 00:12:46,350 --> 00:12:48,490 bien, yo creo que con esto se queda 93 00:12:48,490 --> 00:12:50,250 un poco claro 94 00:12:50,250 --> 00:12:52,690 cómo se puede realizar una pequeña aplicación 95 00:12:52,690 --> 00:12:54,629 e invito a los participantes 96 00:12:54,629 --> 00:12:56,590 del curso a que desarrollen 97 00:12:56,590 --> 00:12:57,850 este mismo programa 98 00:12:57,850 --> 00:12:59,870 muy sencillito, este programa 99 00:12:59,870 --> 00:13:01,830 y que carguen ellos mismos 100 00:13:01,830 --> 00:13:03,269 las imágenes 101 00:13:03,269 --> 00:13:06,289 diferentes para que vean un poquito 102 00:13:06,289 --> 00:13:08,210 la respuesta que da este programa 103 00:13:08,210 --> 00:13:13,350 y también incluso utilizar en lugar de las que corresponden a los sujetos 104 00:13:13,350 --> 00:13:17,610 las que corresponderían con las imágenes captadas a través de la huesca 105 00:13:17,610 --> 00:13:18,850 que también sería muy interesante 106 00:13:18,850 --> 00:13:19,370 ¿de acuerdo? 107 00:13:20,029 --> 00:13:20,750 bien, un saludo