Inteligencia artificial


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.

mind.jpg

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:

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:

EJEMPLOS 

LEARNING ML cabeza_genio.png
 https://web.learningml.org/en/home/ 

ML: MACHINE LEARNING FOR KIDS 2024-06-08 13_08_30-Machine Learning for Kids logo.png

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 2024-06-08 13_22_52-quick draw - Buscar con Google.png

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.

PRUEBALO ES SUPERDIVERTIDO, INCLUSO EN UN MÓVIL 
qr_img.png

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....

  1. MÁQUINAS “YA EDUCADAS” o "pre-trained ML/AI models"

    1. Reconocimiento de imágenes con mBlock

      1. Programa de reconocimiento imágenes

      2. Programa reconocimiento edad

    2. Reconocimiento de voz

      1. Traductor Con mBlock y Cybperpi

      2. Reconocimiento de órdenes Con mBot1 t mBot2

  2. SOFTWARE EDUCABLES o "No pre-trained ML/AI models"

    1. Máquina educable Teachable Learning y mBlock

    2. Máquina educable con CODE.ORG

    3. Máquina educable con Machine Learning for kids y Scratch

  3. HARDWARE EDUCABLES o sea, que tienen "Smart gadgets"

    1. SMARTCAM y mBot1

      1. Seguir pelota color

      2. Sigue líneas

kenny-eliason-5afenxnLDjs-unsplash.jpg
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

2024-03-30 19_08_36-mBlock v5.4.3.png

mblock_block_1711822211532.png

2024-03-30 10_55_03-mBlock v5.4.3.png

+ 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

2024-03-30 20_50_56-mBlock v5.4.3.png

Instala un montón de instrucciones como

2024-03-30 21_02_27-WhatsApp.png

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)

2024-03-31 21_02_50-mBlock v5.4.3.png

OJO, SI NO ESTAS LOGUEADO entonces NO FUNCIONA

novaai2.png

La verdad es que acierta bastante bien

2024-03-31 21_04_14-mBlock v5.4.3.png

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 :

2024-04-01 12_23_55-mBlock v5.4.3.png

El programa es muy sencillo, lo tienes aquí : https://planet.mblock.cc/project/3733312

traductor.png

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 :

cyberpi-conexion.png

Y para traducir

cyberpi-traduccion.png

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

novaai.png

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

ordenesvozmbot2.png

Software educable Machine Learning for kids y Scratch

REGISTRO

Entramos en https://machinelearningforkids.co.uk/

machine1.jpg

Tenemos varias opciones:

  1. Registrarnos y tenemos dos opciones
    1. como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
      1. Clase No administrada tienes que rellenar un formulario típico y creas la clase
      2. 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.
    2. como Estudiante en ese caso es el profesor de una clase administrada el que te tiene que crear la cuenta
  2. Iniciar sesión pues nos hemos registrado con alguna de las opciones anteriores
  3. Probar sin registrarse

machine2.jpg

Vamos a probar "sin registrarnos" pues estamos aprendiendo. Si luego esta herramienta te convence, Te registras

CREAMOS UN PROYECTO

Empezamos un proyecto

machine3.jpg

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.

Ojo al cerrar el navegador se borra todo el modelo con la opción In your web browser

machine4.jpg

Ya lo tenemos

machine5.jpg

ENTRENAR

Primero vamos a entrenar la máquina

machine6.jpg

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)

machine7.jpg

Volvemos al proyecto..

machine8.jpg

ENTRENAR

Si ves que has puesto suficientes ejemplos, pide a la máquina que entrene

machine9.jpg

Empieza el entrenamiento... y para que no te aburras, te pone unas preguntas !!!

machine10.jpg

Una vez acabado puedes probarlo

machine11.jpg

fíjate que bochorno no lo hemos puesto en el entrenamiento y ha acertado bastante bien

machine12.jpg

Volvemos al proyecto

machine8.jpg

CREAR

Y vamos a CREAR y nos ofrece varias herramientas de programación, elegimos SCRATCH

machine13.jpg

Le damos a Abrir en Scratch 3

machine14.jpg

Elegimos un nuevo objeto (quitamos el gato)

machine15.jpg

y elegimos glass water

machine16.jpg

Y ponemos el siguiente programa, no es perfecto... pero acierta bastante bien

machine17.jpg

¿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

2024-03-30 19_37_15-mBlock Block-Based IDE- Coding for Beginners.png

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

2024-03-30 19_58_36-WhatsApp.png

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

maquinaeducable.png

Una vez creado el modelo, nos pone unas instrucciones que podemos usar en nuestra programación

2024-03-30 20_04_20-mBlock Block-Based IDE- Coding for Beginners.png

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

ia-codeorg2.png

El resultado es 

ia-codeorg.png

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)

2024-06-02 19_58_55-PRG AI Blocks.png

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

2024-06-02 20_07_47-Copia de Wednesday - Presentaciones de Google.png

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...