INTELIGENCIA ARTIFICIAL
- Introducción: ¿Qué es?
- Introducción: Tipos
- Introducción: Y en plan que se entienda....
- Introducción: Video Sensing, esto no es IA
- Máquinas educadas Cognitive Services Servicios cognitivos
- Máquinas educadas: Traductor
- Máquinas educadas: Traductor con Cyberpi
- Máquinas educadas: Reconocimiento de voz- órdenes a mBot2
- Software educable Machine Learning for kids y Scratch
- Software educable: Máquina Educable Teachable Machine
- Software educable: CODE.ORG
- Software educable Playground, Teachable Machine Google y Microbit
- Maquinas educables: SmartCamera
Introducción: ¿Qué es?
La inteligencia artificial se refiere al conjunto de algoritmos realizan tareas complejas, que son capaces de realizar procedimientos que imitan el funcionamiento de la mente, como son aprender y tomar decisiones.
De https://timoelliott.com/blog/cartoons/artificial-intelligence-cartoons en https://timoelliott.com/
Introducción: Tipos
ML : APRENDIZAJE AUTOMATICO O MACHINE LEARNING
Aquí los algoritmos aprenden a partir de datos, y ellos buscan patrones para identificar. Cuanto más datos, mejores resultados.
El principio es básico. Queremos diferenciar silla mesa: Analiza datos, localiza patrones (cuatro patas, algo común, el tamaño y forma, patrones que diferencian como el respaldo....) con esas características, puede realizar un entrenamiento, y por lo tanto esta preparado para realizar predicciones.
Hay varios tipos de ML:
- ML Aprendizaje automático supervisado Donde los datos se les da ya etiquetados
- ML Aprendizaje automático no supervisado: Aquí es el propio algoritmo que tiene que encontrar relaciones en el proceso de identificación de patrones y por lo tanto etiquetar categorías.
- ML Aprendizaje semisupervisado. El modelo se entrena con datos etiquetados y no etiquetados. Lo normal es primero los etiquetados (pues son los que implican mayor coste y dinero) y si el modelo ya empieza a funcionar bien, ya procesa no etiquetados para su optimización.
RL : APRENDIZAJE REFORZADO O REINFORCEMENT LEARNING
Es un modelo que busca la optimización. Utiliza resultados anteriores e intenta mejorarlos. Para buscar esto, se definen estados con unos parámetros que implican premio o penalización. La máquina busca soluciones y acciones para buscar los premios y huir de las penalizaciones.
DL : APRENDIZAJE PROFUNDO O DEEP LEARNING
Es un subconjunto del ML no supervisado, Se crea una red neuronal organizadas en capas, cada capa especializada, por ejemplo la primera de entrada recoge los datos, las intermedias, ya ocultas, identifican patrones y la última, la salida que recoge la información procesada anteriores, la que toma las decisiones.
PLN : PROCESAMIENTO DE LENGUAJE NATURAL
Utiliza conceptos de DL y ML para comprender el lenguaje humano. Una aplicación son los chatbots. Que pueden ser:
- dirigidos, es decir va tomando decisiones por etapas tipo árbol y da respuestas automáticas
- no dirigido: produce respuestas en función del contexto y las decisiones del usuario.
- hibridas que intenta producir una conversación fluida.
EJEMPLOS
LEARNING ML
https://web.learningml.org/en/home/
https://machinelearningforkids.co.uk/#!/welcome
Ver nuestro tutorial en https://libros.catedu.es/books/robotica-educativa-con-mbot/page/maquina-educable-con-machine-learning-for-kids-y-scratch
DL REDES NEURONALES : QUICKDRAW
https://quickdraw.withgoogle.com/ Es un videojuego donde se ve claramente como se va perfilando las decisiones en forma de árbol y como la etapa final va reconociendo tu dibujo. En esta red, la primera etapa de la red neuronal son trazos que dibujas, y las neuronas intermedias son fruto de una extensa base de datos de dibujos. La última etapa es la decisión basada en las anteriores neuronas.
PLN: CHATGPT COMO FUNCIONA
DL CREA TU PEQUEÑA RED NEURONAL CON PYTHON
DL: GOOGLE DEEPMIND
Google deepmind desarrolló una red neuronal para aprender a jugar videojuegos, y ganó a varios campeones humanos en videojuegos complejos (de los que inicialmente la máquina desconocía las reglas). Puedes ver en https://deepmind.google/ los diferentes proyectos actuales.
Introducción: Y en plan que se entienda....
-
MÁQUINAS “YA EDUCADAS” o "pre-trained ML/AI models"
-
Reconocimiento de imágenes con mBlock
-
Programa de reconocimiento imágenes
-
Programa reconocimiento edad
-
-
Reconocimiento de voz
-
Traductor Con mBlock y Cybperpi
-
Reconocimiento de órdenes Con mBot1 t mBot2
-
-
-
SOFTWARE EDUCABLES o "No pre-trained ML/AI models"
-
Máquina educable Teachable Learning y mBlock
-
Máquina educable con CODE.ORG
-
Máquina educable con Machine Learning for kids y Scratch
-
-
HARDWARE EDUCABLES o sea, que tienen "Smart gadgets"
-
SMARTCAM y mBot1
-
Seguir pelota color
-
Sigue líneas
-
-
Photo by Kenny Eliason on Unsplash
Introducción: Video Sensing, esto no es IA
El siguiente programa no interpreta las imágenes, simplemente estamos utilizando la webcam como sensor de vídeo
https://planet.mblock.cc/project/3730511
Extensión Video Sensing
+ info de esta extensión en https://barclayscodeplayground.co.uk/content/dam/barclayscodeplayground-co-uk/documents/scratch/SC_Using_Video_sensing_teachers_guide.pdf
Máquinas educadas Cognitive Services Servicios cognitivos
Esta extensión pertenece al conjunto de extensiones de inteligencia artificial de mBlock
Instala un montón de instrucciones como
- Reconocimiento de voz (en diferentes idiomas)
- Reconocimiento de texto impreso (en diferentes idiomas)
- Reconocimiento de imagen (marca, famoso, monumento...)
- Reconocimiento de emociones
- Reconoce rasgos como gafas, nivel de sonrisa, cabeceo de la cabeza, color del pelo ...
RECONOCIMIENTO DE EDAD
Para ver un vistazo rápido, vamos a utilizar un programa ya predeterminado, ir a Programas de ejemplo - AI - Age Analyzer (el del pulpo)
OJO, SI NO ESTAS LOGUEADO entonces NO FUNCIONA
La verdad es que acierta bastante bien
Otro ejemplo de uso, reconocimiento de edad y traducción :
Máquinas educadas: Traductor
En este programa, además de usar la extensión Servicios Cognitivos, instalaremos las extensiones :
- Text to Speech - Texto a voz
- Translate - Traductor
El programa es muy sencillo, lo tienes aquí : https://planet.mblock.cc/project/3733312
Máquinas educadas: Traductor con Cyberpi
Esta tarjeta controladora es un ESP32 por lo tanto permite conexión a Internet y lo podemos usar para realizar el mismo script de traducción
El programa lo tienes aquí https://planet.mblock.cc/project/3587357
Lo primero es conectarse a la Wifi :
Y para traducir
OJO: HASTA QUE NO ESTES
1.-LOGUEADO con tu usuario en mBlock
2.-CONECTADO CON CYBERPI
(las dos condiciones y en ese orden) NO SE VISUALIZAN LAS INSTRUCCIONES DE INTELIGENCIA ARTIFICIAL
Máquinas educadas: Reconocimiento de voz- órdenes a mBot2
Aquí no trabajaremos en vivo SINO EN CARGA pues CibyerPi tiene conexión a Internet
La primera parte es el script de conexión de Wifi La siguiente orden es reconocer la voz, y según el resultado, que ejecuta.
Como puedes observar, la orden de reconocimiento de voz, añade un . al final que hay que tener en cuenta
El programa lo tienes aquí https://planet.mblock.cc/project/3733278
Software educable Machine Learning for kids y Scratch
REGISTRO
Entramos en https://machinelearningforkids.co.uk/
Tenemos varias opciones:
- Registrarnos y tenemos dos opciones
- como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
- Clase No administrada tienes que rellenar un formulario típico y creas la clase
- Clase administrada donde tienes opciones de incorporar alumnos a tu clase, este registro es por correo electrónico y tienen que verificar que perteneces a un centro educativo.
- como Estudiante en ese caso es el profesor de una clase administrada el que te tiene que crear la cuenta
- como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
- Iniciar sesión pues nos hemos registrado con alguna de las opciones anteriores
- Probar sin registrarse
Vamos a probar "sin registrarnos" pues estamos aprendiendo. Si luego esta herramienta te convence, Te registras
CREAMOS UN PROYECTO
Empezamos un proyecto
Empezamos un proyecto, como puedes ver hay diferentes formas de reconocer, y permite hacer un almacenamiento local, o en la nube. Como es algo de pruebas puedes hacerlo local. Pero si luego estas registrado es interesante hacerlo en la nube para tener acceso en cualquier sitio.
Ya lo tenemos
ENTRENAR
Primero vamos a entrenar la máquina
Creamos dos etiquetas y vamos escribiendo situaciones (o añadir un fichero txt) donde nos apetece un refresco o no (pueden ser más de dos situaciones)
Volvemos al proyecto..
ENTRENAR
Si ves que has puesto suficientes ejemplos, pide a la máquina que entrene
Empieza el entrenamiento... y para que no te aburras, te pone unas preguntas !!!
Una vez acabado puedes probarlo
fíjate que bochorno no lo hemos puesto en el entrenamiento y ha acertado bastante bien
Volvemos al proyecto
CREAR
Y vamos a CREAR y nos ofrece varias herramientas de programación, elegimos SCRATCH
Le damos a Abrir en Scratch 3
Elegimos un nuevo objeto (quitamos el gato)
y elegimos glass water
Y ponemos el siguiente programa, no es perfecto... pero acierta bastante bien
¿Sabías que ....?
.. hay un curso en Aularagón de INTELIGENCIA ARTIFICIAL CON SCRATCH máquina educable con Maching Learning for KitsVes https://libros.catedu.es/books/inteligencia-artificial-con-scratch con diferentes vídeos del INTEF verás paso a paso esta herramienta desde 2019
Software educable: Máquina Educable Teachable Machine
Esta extensión sí que pertenece al conjunto de inteligencia artificial
En la extensión nos muestra la posibilidad de crear un nuevo modelo de entrenamiento
Al crear un nuevo modelo, Build a new model hay que definir las categorías mínimo son tres
2 - 3 - 4 .- Poner nombres a la categorías
5.- Poner la imagen (en mi caso pantallazos del móvil)
6.- Clicar a qué categoría pertenece, para que aprenda, darle click cuando la barra verde suba
Repetir pasos 5 y 6 tantas veces cuanto se desee, cuanto más, mejor
7.-Usar el modelo de aprendizaje
Una vez creado el modelo, nos pone unas instrucciones que podemos usar en nuestra programación
Otro ejemplo parecido usando playmovil
Software educable: CODE.ORG
Una manera muy didáctica de enseñar los conceptos de Inteligencia Artificial es con CODE.ORG tiene cursos y el funcionamiento es parecido a la Máquina Educable de mBlock
El resultado es
Software educable Playground, Teachable Machine Google y Microbit
Playground es como Scratch pero puedes utilizar las Teachable Machines de Google en tu programación
Entramos en https://playground.raise.mit.edu/httyr/
Y podemos usar una máquina educable de Google en (1) y luego utilizarlo en (2)
Podemos conectar nuestro robot MICROBIT CUTEBOT
Este vídeo por ejemplo nos enseña cómo utilizar una máquina que reconozca que tocamos la cara o no
O reconocer textos
Por ejemplo este programa muestra si tienes puesto un sombrero o no
Ulrich Pedersen Dah & Ture Reimer-Mattesen Center for Underisningsmidler CPU
Maquinas educables: SmartCamera
Estamos ensañando este accesorio, pero en mBot2 no va muy fino, no obstante aquí tienes el enlace a mbot1 perfectamente se puede aplicar a mbot2
https://libros.catedu.es/books/robotica-educativa-con-mbot/chapter/7-ia-hardware-educable
SmartCamera - Qué es
Esta cámara se vende como accesorio de los robots de Makeblock por unos 140€ , ATENCIÓN, ESTE ...
SmartCamera - conexión con mBot
Hardware Para conectarlo con mBot1 hace falta la batería que se suministra en el pack, con su ca...
Smart camera - seguimiento color - sencillo
Configuración reconocimiento de color Método por software (recomendado) Una forma de configurar...
Smart camera seguimiento color avanzado
Kp, velocidad diferencial del motor.... ¿Eso qué es? En la extensión CAMARA INTELIGENTE ESPECÍFI...
Smart camera Piximon
INSTALACIÓN DE PYXMON V2 No es un software obligatorio, pero viene muy bien qué está pasando y q...
Smart Camera Código de barras
En el modo de detección de código de barras, puede detectar 15 códigos de barras ya definidas. ...
SmartCamera - sigue líneas
mBot ya tiene un sigue-lineas https://libros.catedu.es/books/robotica-educativa-con-mbot/page/sig...