Curso

22_23_INTELIGENCIA ARTIFICIAL_02 APLICADA CON SISTEMAS EMBEBIDOS_OL

  • Desde: 21/9/22
  • Hasta: 30/9/23
  • Campus de Valencia
  • Idioma: Castellano
  • Online

Preinscripción desde el 18/7/22

Matrícula disponible hasta el 1/8/23

Una vez aceptada tu matrícula dispones de 60 días para finalizar el curso

Promovido por:
Instituto Interuniversitario de Investigación de Reconocimiento Molecular y Desarrollo Tecnológico

Responsable de la actividad:
Francisco José Gimeno Sales



Modalidad

Presencial Online Emisión en directo

0 horas


45 horas


0 horas

Lugar de impartición
ONLINE
Certificación

Aprovechamiento

Modalidad

ONLINE

Curso

2022-2023

ECTS

4,5

Campus

Valencia

0 h

Presenciales

45 h

Online

Precio Colectivo Plazos
205 € Alumni UPV PLUS  1 plazo
205 € Alumno UPV  1 plazo
205 € Personal UPV  1 plazo
215 € Socio de Deportes UPV  1 plazo
355 € Público en general  1 plazo
205,00 € - Alumni UPV PLUS
205,00 € - Alumno UPV
205,00 € - Personal UPV
215,00 € - Socio de Deportes UPV
355,00 € - Público en general

Objetivos

El objetivo principal del curso “INTELIGENCIA ARTIFICIAL APLICADA CON SISTEMAS EMBEBIDOS”, es aprender a diseñar, implementar y gestionar metodologías para la creación de software en las técnicas de la Inteligencia Artificial aplicadas mediante sistemas embebidos o empotrados como pueden ser Arduino, Raspberry PI, ARM y DSC de la familia C2000. Así como, elaborar un proyecto integral de Inteligencia Artificial aplicada de naturaleza profesional. Para llevar acabo este aprendizaje se explicará detalladamente los fundamentos de las técnicas de Inteligencia Artificial Lenguaje de "C" avanzado como implementación de árboles, métodos de búsquedas de soluciones inteligentes, arboles de decisión, regresión lineal y múltiple, técnica del gradiente descendente y redes neuronales desde cero hasta sus aplicaciones. Se diseñarán más de 50 ejemplos sobre el lenguaje "C" y se aplicarán a las Energías Renovables y otras. Todo esto desde un punto de vista práctico.

Acción formativa dirigida a

Tecnicos en programacion, Ingenieros Industriales, Telecomunicaciones, informaticos


Profesores

  • Francisco José Gimeno Sales Profesor/a Titular de Universidad
  • Salvador Orts Grau Profesor/a Titular de Universidad

Metodología didáctica y sistemas de evaluación

ONLINE

Temas a desarrollar

Los contenidos impartidos en el curso “INTELIGENCIA ARTIFICIAL APLICADA CON SISTEMAS EMBEBIDOS”, se entregará a los alumnos en la propia web de formación. El temario del curso es el siguiente:

1. Introducción a la Industria 4.0.
o Introducción a la Industria 4.0.
o Evolución histórica.
o Internet de las cosas (IoT, Internet of Things).
o Usos de IoT y Tecnologías aplicadas en la IoT.
o Retos de las IoT. Ventajas e inconvenientes.
o Concepto de la Industria 4.0.
o ¿Qué es industria 4.0 o la empresa inteligente?
o Cambios en el entorno industrial.
o Tecnologías para explicar la Industria 4.0
o Retos y oportunidades de la Industria 4.0.

2. Tipos de sistemas Empotrados. Introducción.
o Introducción. Procesamiento Digital. Aplicaciones.
o ¿Que es un Microcontrolador?. Características.
o Introducción. Bloques Básicos de un sistema Digital
o ¿Que Procesador Digital Elegir?.
o Compañías relevantes del mercado de los Microcontroladores.
o Aplicaciones de los Procesadores Digitales
o Plataformas Abiertas Empotradas. Arduino.
o Shields Arduino existentes. IDE. Resumen.
o Arduino. Estructuras de programa.
o ESP32. Introducción.
o Plataformas TMS320-DSP (C2000-Texas).
o Características de las CPU’s de C2000 Texas Instruments.
o Kits de desarrollo de la familia C2000.
o Hardware de sistemas empotrados.
o Raspberry PI. Introducción.
o Aplicaciones y características de la Raspberry PI.
o Elementos de la Raspberry PI (Pequeño PC).
o Tarjetas Raspberry PI existentes. Resumen.
o Tarjeta de la Raspberry PI 2 B.


3. Introducción a la Inteligencia Artificial.
o Objetivos.
o Introducción a la Inteligencia Artificial (IA).
o Áreas de aplicación de la IA.
o Ramas de la IA.
o Sistemas inteligentes en los Sistemas Electrónicos.
o Tipos de Técnicas de la IA:
o Redes Neuronales.
o Fuzzy control (Lógica Borrosa)
o Sistemas Expertos.
o Algoritmos Genéticos.
o Optimización de Enjambres de partículas (PSO).
o Colonia de Hormigas.
o Preguntas que hacerse de la IA.


4. Lenguaje "C" aplicado IA. Aboles.
o Introducción a la búsqueda con árboles.
o Estructuras Jerárquicas.
o Concepto de los Árboles de búsqueda.
o Terminología de los Árboles de búsqueda.
o Ejemplos de Árboles.
o Definición de Árbol BINARIO.
o Características de un Árbol BINARIO.
o Recorrido de los Árboles de búsqueda:
 Preorden
 Enorden
 Postorden
o Implementación en “C” de un árbol de búsqueda.
o Árbol Binario de Búsqueda (ABB).
o Ejemplo: Codificación en “C” de la Búsqueda de un Nodo en un ABB.



5. Búsquedas de soluciones mediante la IA. Heurística.
o Introducción a la Resolución de Problemas.
o ¿Qué son las técnicas de búsqueda y cuáles son sus elementos?
o Tipos de solucionadores:
o - Búsqueda ciega
o - Búsqueda heurística
o Búsqueda sin información del dominio o ciega:
o - Búsqueda en amplitud
o - Búsqueda en profundidad
o - Búsqueda en profundidad progresiva
o - Búsqueda bidireccional
o Representación de problemas. Espacio de Estados.
o Ejemplos: Puzzle-8, 8 Reinas y Jarras de agua.
o Algoritmo de Fuerza Bruta. Ejemplo.
o Grafos. Definición, Matriz de Adyacencia y aplicaciones.
o Recorridos en los Grafos: Primero en profundidad y anchura.
o Implementación en "C" Algoritmo BFS y DFS.
o Árboles. Definición, aplicaciones. Ejemplo de implementación.
o Búsqueda Ciega. Tipos de búsqueda.
o Resumen de Estrategias de búsquedas.
o Algoritmo básico de búsqueda.
o Ejemplo del algoritmo Búsqueda Primero en Profundidad (DFS).
o Algoritmos de vuelta atrás (backtracking). Introducción.
o Implementación de la técnica de Backtracking.
o Problema de la Mochila.
o Búsqueda con adversarios (Juegos). Ejemplos.
o Búsqueda con adversarios (Juegos). Poda Alfa-Beta.
o Introducción. GPS (General Problem Solver).
o Implementación del algoritmo búsqueda para encontrar las Llaves. Robot.
o Implementación del algoritmo búsqueda de vuelos aéreos.
o Introducción solución de problemas.
o Diseño de sistemas de búsqueda de soluciones.
o Espacios de Estados.
o Búsqueda Heurística. Función de evaluación.
o Estrategias de búsqueda heurística. Gradiente.
o Algoritmo primero el mejor. Ejemplo tres en raya.
o Juegos. Algoritmo A*.
o Juegos. Algoritmo MINIMAX.
o Juegos. Algoritmo poda Alfa-Beta.
o Introducción al resolvedor de problemas generales.
o Conceptos básicos Grafos.
o Introducción del Agente Viajero (TSP, Travelling Salesman Problem).
o Planteamiento del TSP.
o Grafos. Algoritmo del vecino mas cercano. Ejemplos.
o Pseudocódigo del algoritmo del vecino mas cercano.
o Aplicaciones más importantes del TSP.
o Métodos de Resolución del TSP. “Fuerza Bruta”.
o Implementación del Algoritmo Vecino mas cercano.
o Problema del TSP, mediante programación dinámica.
o Resolución del problema del TSP, mediante programación dinámica.
o Implementación del Algoritmo Programación dinámica.


6. Árboles de Decisión. Aplicaciones.
Introducción a los árboles de decisión.
Los árboles de Decisión/Clasificación
Árboles de Decisión. Espacio de búsquedas
Representación grafica de los árboles de decisión
Aplicación de los Árboles de Decisión. El problema vendedor de periódicos.
Características y Aprendizaje (Machine Learning) de los Árboles de Decisión.
Ejemplo sencillo Árbol de Decisión. Características ó atributos.
Árboles de Decisión. Algoritmo ID3.
Algoritmo ID3. Características, procedimientos.
Algoritmo ID3. Ventajas e inconvenientes.
El algoritmo básico de aprendizaje ID3. Pasos a realizar.
Algoritmo ID3. Pseudocódigo.
Conceptos de la información: Entropía y Ganancia.
Ejemplo aplicado Algoritmo ID3. Jugar al golf.
Ejemplo de Codificación en "C" del Algoritmo decisión ID3.
Problemáticas del Algoritmo ID3,

7. Regresión: Lineal y Logística.
o Introducción. Regresión Lineal.
o El modelo de regresión lineal simple (RLS).
o El modelo de RLS. Estimadores de mínimos cuadrados.
o Medidas de dependencia lineal. La covarianza.
o El modelo de RLS. Ejemplo.
o Ejemplo de Regresión Lineal en “C”.
o Ejemplo de Predicción-Fit con Regresión Lineal.
o Regresión Lineal Múltiple (RLM). Ejemplo.
o Ejemplo de Regresión Lineal Múltiple en "C".
o Clasificación con Regresión Lineal (RL).
o Regresión Logística. Introducción.
o Ejemplo de Regresión Logística en “C”.


8. Gradiente descendente.
o Métodos Gradiente
o Introducción
o El método del gran descenso ("steepest descent")
o Criterios de parada
o Funciones cuadráticas.



9. Redes Neuronales. Introducción.
o Introducción a las redes neuronales.
o Clasificación de redes neuronales:
o Estructura
o Entrenamiento
o Aplicación de las redes neuronales a la identificación de sistemas y otras.
o Conclusiones de la Redes Neuronales.
o El modelo de una neurona artificial. Funciones de la neuronas.
o Células de McCulloch-Pitts. Red monocapa.
o Ejemplo: Obtener la salida de la red neuronal función NOT.
o Codificación en Lenguaje “C” de una red McCulloch-Pitts.

10. Redes Neuronales. Adaline.
o Introducción red Adaline.
o ADALINE [Adaptive Linear Neuron]. Arquitectura.
o Red Neuronal ADALINE. Entrenamiento.
o Características de ADALINE.
o Comparación entre el Perceptrón y Adaline.
o Regla de Aprendizaje de mínimos cuadrados (LMS).
o Algoritmos de Aprendizaje. ADALINE.
o Simulación de la función lógica OR con ADALINE. Matlab.
o Implementación en “C” de la función OR con ADALINE.
o Ejemplo de Entrenamiento de ADALINE: BCD.
o Aplicación de la red ADALINE. Robot.
o Red Neuronal MADALINE. Introducción.
o Red Neuronal MADALINE. Aprendizaje. Tipos.
o Red Neuronal MADALINE. Ejemplo XOR.
o Simulación de la función lógica XOR con MADALINE.
o Implementación red Adaline: Estimación de la frecuencia y Filtro Adaptativo.

11. Redes Neuronales. Perceptron Monocapa.
o Introducción al Perceptron.
o El Perceptrón: Interpretación Geométrica.
o Tipos de Neuronas: Lineales y no Lineales.
o Ejemplo de una red Neuronal.
o Funciones realizables con el Perceptron: AND y OR.
o Función XOR sería realizable con un Perceptrón??.
o Características del modelo del Perceptrón.
o Redes MULTICAPA. Tipos.
o Aprendizaje en las Redes Neuronales.
o Algoritmo de entrenamiento del Perceptrón.
o Implementación de un Perceptrón.
o Ejemplo de entrenamiento del Perceptrón.
o Codificación del Perceptrón en “C”.


12. Redes Neuronales. Perceptron Multicapa. Backpropagation.
 El Perceptrón Multicapa:
 Introducción.
 Asociación de dos perceptrones.
 Arquitectura.
 Capacidad de Representación.
 Ejercicio.
 Algoritmo BACKPROPAGATION: Descripción.
 Implementación de la función XOR mediante una red Multicapa (Arduino).
 Pseudocódigo del Algoritmo de Retropropagación.
 Algoritmo Backpropagation. Inconvenientes.
 Ejercicio del Algoritmo Backpropagation.
 Ejemplo de Backpropagation en Arduino.
 El Perceptrón Multicapa. Sobre ajuste (Overfitting).
 Ejemplo de Backpropagation en “C”. Clasificador Iris.



13. Redes Neuronales. Matlab.
o Introducción de Matlab con RNA.
o Utilizar comandos de la Neural Network Toolbox de Matlab.
o Crear una red neuronal tipo feed-forward (FFNN).
o Comando para el Entrenamiento de la RNA (train).
o Comando de simulación de una RNA mediante la Toolbox de Matlab.
o Ejemplo: crear una RNA con Matlab.
o Ejemplo: Backpropagation Función lógica XOR.
o Preparar Datos de Entrada… Escalado.
o Ejemplo de Función AND con Perceptron con Matlab.
o Comando NNSTART de Matlab.
o Herramienta NNTOOL. Introducción.
o Matriz de Confusión Binaria con RNA. Ejemplo.
o Laboratorio. Función XOR con NNTOOL. Matlab
o Ejemplo de Clasificación de Iris-Flores con RNA. Matlab.


14. Redes Neuronales. Aplicaciones.
o Ejemplo-RNA: Clasificación de Iris-Flores con RNA. Arduino. Laboratorio.
o Ejemplo-RNA: Reconocimiento de dígitos hexadecimales BCD. Matlab y en “C” Arduino.
o Limitación del Perceptron. Laboratorio de Clasificación de Libros con RNA. Matlab.
o Ejemplo RNA. Predicción de Lluvia. Matlab.
o Ejemplo RNA. Predicción de Lluvia en “C”.



Laboratorios prácticos Inteligencia Artificial:
Mas de 50 laboratorios !!! completos con su código Fuente en “C” y scripts de Matlab.

Laboratorios- Lenguaje "C" aplicado IA. Árboles:
• Implementación de una Cola de Prioridad.
• Funciones de manejo de árboles aplicados a la IA..
• Implementación de un algoritmo el manejo de funciones de búsqueda mediante Árboles Binarios.

Laboratorios- Búsquedas de Soluciones IA:
• Diseñar e implementar un Algoritmo para resolver el problema de dos jarras de agua, una de 4 litros y otra de 3 litros sin escala de medición.
• Implementar un algoritmo para encontrar un patrón de tipo cadena, aplicando el método de la Fuerza Bruta.
• Implementar un algoritmo del manejo de funciones para la Búsqueda en Profundidad y Anchura (DFS).
• Implementar un algoritmo Búsqueda Primero en Profundidad (DFS).
• Implementar un algoritmo del problema de la mochila de tal forma que se maximizar el número de objetos transportados con su máximo valor de beneficio.
• Implementar un algoritmo búsqueda para encontrar las Llaves. Para ello vamos a utilizar un robot donde tiene el plano de su casa almacenado.
• Implementar un algoritmo búsqueda de vuelos aéreos.
• Implementar un algoritmo Adivina un número. Heurística.
• Implementar un Algoritmo del Juego Tres en Raya aplicando una teoría aleatoria.
• Implementar un Algoritmo del Juego Tres en Raya aplicando MINIMAX.
• Implementar un Algoritmo para resolver el problema del vendedor ambulante (TSP).
• Implementar un Algoritmo de Dijkstra determina la ruta más corta desde un nodo origen hacia los demás nodos


Laboratorios-Árboles de Decisión:
• implementar un Algoritmo de Árbol de decisión. Arduino.
• implementar un Algoritmo de Árbol de decisión aplicando el Algoritmo ID3.



Laboratorios-Regresión Lineal y Logística:
• Implementación de una Regresión Lineal de una forma simple.
• Implementación de una Regresión Lineal aplicada a la estimación del coste de un vehículo en función de los km recorridos.
• Implementación que partiendo de unos datos adquiridos de Pesos y estatura se obtenga una regresión Lineal empleando formato de matrices.
• Implementación Regresión Múltiple para ello se parte de unos datos adquiridos y almacenados en un fichero (peso_data.txt).
• Implementación que partiendo de unos datos adquiridos y aplicamos la regresión logística mediante la función sigmoide.


Laboratorios-Gradiente Descendente:
• Implementación del algoritmo del Gradiente descendente (AGD), para ello partimos de unos datos adquiridos y almacenados en fichero data.txt, con los que debemos realizar una predicción..
• Implementación que partiendo de unos datos adquiridos (temperatura) y queremos obtener una predicción de temperatura mediante el algoritmo de Gradiente descendente (AGD). Arduino.



Laboratorios-Redes Neuronales:
• Implementación de una red neuronal del tipo McCulloch-Pitts,.
• Implementación de una función lógica tipo OR mediante la red ADALINE.
• Implementación de un control de dirección Robot con la red Adaline, para ello se parte de los pesos y el bias ó umbral obtenidos en Matlab. Arduino.
• Implementación de una función lógica tipo XOR mediante la red MADALINE.
• Implementación de la Estimación de la frecuencia de red eléctrica con la red ADALINE.
• Implementación de un Filtro Adaptativo de cancelación de ruido con algoritmo LMS.
• Implementación de una red neuronal del tipo "Perceptron".
• Implementación del Perceptron Multicapa con el método de Backpropagation.
• Implementación de clasificación, partiendo del conjunto de datos de la base de datos de iris (flores) utilizando el algoritmo de clasificación “Uno contra Todos” y las redes neuronales.
• Implementación de la función lógica AND mediante una red neuronal del tipo "Perceptron", en el entorno de Matlab.
• Implementación de clasificación, partiendo del conjunto de datos de la base de datos de iris (flores) utilizando el algoritmo de clasificación mediante, en el entorno de Matlab y Arduino.
• Identificación de patrones numéricos (par, impar, >5, primo) utilizando Redes Neuronales Artificiales con el algoritmo BackPropagation, el sistema es capaz de reconocer y representar los números del 0 al 9 y las letras por medio de una interfaz de usuario montado en un sistema embebido (Arduino).
• Clasificación automática, partiendo de una base de datos de 200.000 libros que dispone una biblioteca, necesita clasificarlo en 4 grupos diferentes para decidir en que parte de la biblioteca serán colocados.
• Predicción de Lluvia, para ello a partir de unos datos meteorológicos y con tres días de anticipación vamos a calcular el día 4º si va a llover y su tipo de precipitación.
• Predictor de Lluvia con una Red Neuronal en Lenguaje "C", para ello a partir de unos datos meteorológicos y con tres días de anticipación vamos a calcular el día 4º si va a llover y su tipo de precipitación. Para ello hacemos el entrenamiento y luego la predicción de lluvia.