0% encontró este documento útil (0 votos)
40 vistas13 páginas

Controladores con IA: Algoritmos y Redes

Cargado por

Shxmbless
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas13 páginas

Controladores con IA: Algoritmos y Redes

Cargado por

Shxmbless
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

AUTOMATIZACIÓN

Y CONTROL

INDUSTRIAL

Control con Inteligencia Artificial

Nota #5 y #6

NOMBRE: Aarón Deik – Brian Cespedes – Rodrigo Cabrera

CARRERA: Automatización y Control Industrial

ASIGNATURA: Control con Inteligencia Artificial

PROFESOR: Bedfford Arroyo Bravo

FECHA: 8 Julio de 2023


Tabla de Contenidos

Control con Inteligencia Artificial .................................................................................................. 1

Nota #5 y #6 ..................................................................................................................................... 1

1 Introducción ............................................................................................................................... 3

2 Diseño de controladores utilizando tecnología de Algoritmos Genéticos ................................. 4

2.1 Historia de algoritmos genéticos: Herencia, Código genético y Selección natural. ........... 4

2.2 Operaciones genéticas en cadenas binarias: Selección, cruzamiento y mutación. ............. 4

2.3 Algoritmo genético básico convencional binario ............................................................... 5

2.4 Algoritmos genéticos de nuevos individuos mediante operaciones de cruza mutación ..... 6

2.5 Alternativas de optimización para la función aptitud ......................................................... 6

3 Aplicaciones con Redes Neuronales .......................................................................................... 7

3.1 Selecciona parámetros de operación del sistema: Escalamiento, Constantes de tiempo,

estabilidad...................................................................................................................................... 7

3.2 Diseño de Controladores con tecnología de Redes Neuronales Artificiales Supervisadas 8

3.2.1 Unidireccionales: Perceptron multicapa. Adaline ....................................................... 8

3.3 Diseño de Controladores con tecnología de Redes Neuronales Artificiales no Supervisadas

3.3.1 Unidireccional: Mapas de Kohonern. Redes PCA. ................................................... 10

4 Conclusiones ........................................................................................................................... 13
1 Introducción

El presente informe se centra en el diseño de controladores utilizando tecnologías como los

Algoritmos Genéticos y las Redes Neuronales Artificiales.

El trabajo se divide en dos partes principales. En la primera parte, se explora el diseño de

controladores utilizando tecnología de Algoritmos Genéticos, logrando profundizar en las

operaciones genéticas en cadenas binarias, como la selección, el cruzamiento y la mutación.

La segunda parte se centra en las aplicaciones de las Redes Neuronales en el diseño de

controladores, presentando el diseño de controladores utilizando Redes Neuronales Artificiales

Supervisadas, centrándose en el Perceptrón Multicapa y el Adaline. Estas redes neuronales han

demostrado ser eficientes en la resolución de problemas de control cuando se disponen de datos de

entrada y salida conocidos.

Finalmente, se explorará el diseño de controladores con Redes Neuronales Artificiales no

Supervisadas, en particular, se analizarán los Mapas de Kohonen y las Redes PCA. Estas redes

neuronales permiten realizar agrupaciones y reducción de dimensiones, lo cual es útil en

aplicaciones de control con datos no etiquetados.

Es por ello por lo que en este informe se busca brindar una visión general y completa sobre el diseño

de controladores utilizando tecnologías de Algoritmos Genéticos y Redes Neuronales Artificiales.

Al comprender los fundamentos teóricos y las aplicaciones prácticas de estas técnicas, se podrá

aprovechar su potencial para resolver problemas complejos de control en diversas áreas de trabajo.
2 Diseño de controladores utilizando tecnología de Algoritmos Genéticos

2.1 Historia de algoritmos genéticos: Herencia, Código genético y Selección natural.

Los algoritmos genéticos, inspirados en la evolución de las especies de Darwin y los principios de

genética, son técnicas de búsqueda y optimización que imitan los procesos de reproducción,

herencia, mutación, competencia y selección natural. En este contexto, los "individuos" más aptos

de una población tienen más probabilidades de reproducirse y transmitir sus características a las

generaciones futuras, mientras que las características de los menos aptos tienden a desaparecer. A

través de múltiples generaciones, las mejores características se propagan y se combinan en la

población, permitiendo la exploración de las áreas más prometedoras del espacio de búsqueda. Con

un diseño adecuado, estos algoritmos pueden converger hacia una solución óptima o casi óptima

para el problema en cuestión. Este proceso se realiza en ciclos: generación aleatoria de una

población inicial, evaluación de la aptitud de cada individuo, creación de una nueva población a

través de la cruza y la mutación, y repetición del ciclo con la nueva población hasta encontrar una

solución satisfactoria.

2.2 Operaciones genéticas en cadenas binarias: Selección, cruzamiento y mutación.

Los Algoritmos Genéticos utilizan procesos inspirados en la evolución biológica para resolver

problemas de optimización. En cada generación, los individuos (cromosomas) son evaluados según

su aptitud. Los más aptos son seleccionados para reproducirse, a través de un proceso llamado

cruzamiento, donde se combinan partes de dos cromosomas padres para generar descendientes.

Adicionalmente, se introduce variabilidad en la población mediante un proceso de mutación, que

altera aleatoriamente uno o más genes de los cromosomas. Estos procesos de selección, cruzamiento

y mutación permiten a los algoritmos genéricos explorar el espacio de soluciones y adaptarse a

cambios, buscando siempre mejorar la aptitud de los individuos de la población.


2.3 Algoritmo genético básico convencional binario

Un algoritmo genético básico convencional binario es una técnica de optimización y búsqueda

inspirada en la teoría de la evolución biológica y los principios genéticos. Se utiliza para resolver

problemas de optimización en los que se busca encontrar la mejor solución posible entre un conjunto

de posibles soluciones.

En un algoritmo genético binario, cada solución posible se representa como una cadena de bits,

donde cada bit representa un gen que puede ser 0 o 1. Estos genes se combinan para formar

individuos, también conocidos como cromosomas o cadenas de bits.

El algoritmo genético básico convencional se compone de varias etapas enumeradas , tales como:

inicialización, evaluación, selección, cruzamiento, mutación y reemplazo, las cuales se repiten

durante un número determinado de generaciones o hasta que se cumpla un criterio de finalización,

como alcanzar una solución satisfactoria o agotar el número de iteraciones permitidas.

El objetivo principal de un algoritmo genético binario es encontrar la mejor solución posible a través

de la evolución de la población, imitando los procesos de selección natural y reproducción. Al

combinar diferentes genes y aplicar operadores genéticos, se espera que la población evolucione

hacia soluciones óptimas o cercanas a ellas.


2.4 Algoritmos genéticos de nuevos individuos mediante operaciones de cruza mutación

Los Algoritmos Genéticos dependen de dos componentes esenciales:

1. Operador de Cruza: Este operador combina la información de dos cromosomas padres para

generar dos cromosomas hijos. En la cruza de múltiples puntos, un método común, se eligen al azar

uno o más puntos de corte y se intercambian las partes de los cromosomas a partir de esos puntos.

Esta estrategia permite la mezcla de características de los padres en los descendientes.

2. Operador de Mutación: Este operador introduce cambios aleatorios en uno o más genes del

cromosoma de un descendiente. En el caso de la mutación de parámetros binarios, que es utilizada

en este trabajo, se altera uno o más bits de un cromosoma. Por ejemplo, un bit puede cambiar de "0"

a "1" o viceversa. Este proceso introduce variabilidad en la población y abre la posibilidad de

explorar nuevas soluciones.

2.5 Alternativas de optimización para la función aptitud

La optimización de la función de aptitud en los algoritmos genéticos es un aspecto crucial para la

eficacia de estos algoritmos. La función de aptitud asigna un valor a cada individuo en la población,

que es proporcional a su utilidad o habilidad. En muchos casos, el desarrollo de una función de

evaluación puede implicar una simulación, mientras que en otros casos, la función puede estar

basada en el rendimiento y representar solo una evaluación parcial del problema. Una función de

aptitud eficaz debe ser rápida, ya que se aplica a cada individuo de cada población en las

generaciones sucesivas. Sin embargo, una mala formulación del modelo puede llevar a que los genes

de unos pocos individuos relativamente bien adaptados, pero no óptimos, dominen rápidamente la

población, causando que el algoritmo converja a un mínimo local. Una vez que esto ocurre, la

capacidad del modelo para buscar mejores soluciones se elimina casi por completo, quedando solo

la mutación como vía para buscar soluciones alternativas. Por lo tanto, la optimización de la función
de aptitud es esencial para evitar la convergencia prematura y garantizar que el algoritmo pueda

explorar eficazmente el espacio de búsqueda.

3 Aplicaciones con Redes Neuronales

3.1 Selecciona parámetros de operación del sistema: Escalamiento, Constantes de tiempo,

estabilidad.

1. Escalamiento:

• Ajusta las magnitudes de las variables del sistema para que estén dentro de los límites

aceptables y en relación con las entradas y salidas esperadas.

• Considera los rangos de operación y la normalización de variables para facilitar el análisis y

la comparación.

2. Constantes de tiempo:

• Determinan la velocidad de respuesta del sistema y cuánto tiempo tarda en alcanzar un

estado estable después de una perturbación.

• Constantes de tiempo más grandes implican respuestas más lentas, mientras que las más

pequeñas implican respuestas más rápidas.

• La elección depende de los requisitos específicos del sistema y del equilibrio entre velocidad

de respuesta y estabilidad.

3. Estabilidad:

• Es fundamental para un sistema operativo confiable.

• Un sistema estable no muestra oscilaciones incontrolables o inestabilidades.

• Se logra seleccionando adecuadamente los parámetros del sistema, como las constantes de

tiempo, para evitar comportamientos indeseables.


4 Diseño de Controladores con tecnología de Redes Neuronales

Artificiales Supervisadas

El aprendizaje supervisado en las redes neuronales se basa en aprender a asociar las entradas con

las salidas deseadas. Esto implica que durante el entrenamiento se cuenta con la supervisión de un

maestro externo que proporciona las salidas esperadas. Existen tres formas principales de realizar

este entrenamiento: aprendizaje por corrección de error, aprendizaje estocástico y aprendizaje por

refuerzo.

En el aprendizaje supervisado, se presentan patrones de entrada a la red junto con las salidas

deseadas correspondientes. La red ajusta sus pesos utilizando una fórmula matemática de

minimización del error para producir respuestas lo más cercanas posible a las salidas deseadas.

4.1.1 Unidireccionales: Perceptron multicapa. Adaline

Uno de los tipos de modelos de redes neuronales supervisadas es el perceptrón multicapa, que tiene

como objetivo superar las limitaciones del perceptrón de una sola capa. Este modelo consiste en al

menos dos o tres perceptrones de una sola capa conectados en cascada.

Sin embargo, una de las dificultades de este modelo radica en la modificación de los pesos de la

capa. Para abordar esto, se ha desarrollado el algoritmo de retropropagación (backpropagation). Este


algoritmo se encarga de propagar los errores desde la capa de salida hacia atrás, permitiendo así

ajustar los pesos de manera adecuada.

Atrás

Otro modelo más es Adaline, se compone de una sola capa con una función de activación lineal y

utiliza el algoritmo de descenso de gradiente para ajustar los pesos. Puede utilizarse para problemas

de clasificación binaria y regresión, generando salidas continuas. Aunque es un modelo simple,

puede ser útil en ciertos escenarios, pero puede no ser adecuado para problemas más complejos que

requieran modelos no lineales.

4.2 Diseño de Controladores con tecnología de Redes Neuronales Artificiales no

Supervisadas

A diferencia del aprendizaje supervisado, en este modelo las redes neuronales aprenden y se adaptan
sin supervisión explícita. Estas redes se emplean en tareas como detección de patrones, clasificación
de datos o agrupación de información, permitiendo una comprensión y análisis de datos sin
necesidad de conocer las salidas deseadas. Al aplicar algoritmos de aprendizaje no supervisado,
estas redes extraen características y estructuras subyacentes en los datos, lo que facilita la
identificación de patrones y la toma de decisiones basadas en la información proporcionada por los
datos de entrada.
4.2.1 Unidireccional: Mapas de Kohonern. Redes PCA.

En cuanto a los modelos de aprendizaje se destacan dos, el primero son los Mapas de Kohonen,

también conocidos como SOM (Self-Organizing Maps), estos son una técnica de aprendizaje no

supervisado en el campo de las redes neuronales. Consisten en una red neuronal bidimensional

compuesta por nodos interconectados que representan prototipos de características. Durante el

entrenamiento, los patrones de entrada se presentan a la red y las neuronas compiten por responder

a ellos. Las neuronas ganadoras y sus vecinas se ajustan para formar regiones en el mapa, lo que

permite visualizar y comprender la estructura de los datos en un espacio de menor dimensión. Los

Mapas de Kohonen son útiles para el análisis de datos, clasificación y detección de patrones en

diversas aplicaciones. Los Mapas de Kohonen se construyen siguiendo los siguientes pasos:

1. Configuración de la red: Se determina el tamaño de la capa de nodos o neuronas en el mapa

bidimensional. Esto puede variar según las necesidades y características de los datos de entrada.

2. Inicialización de los pesos: Cada neurona en el mapa se asigna un vector de pesos inicializado

aleatoriamente. Estos pesos representan los prototipos de características que serán ajustados durante

el entrenamiento.

3. Presentación de los datos de entrada: Los patrones de entrada se presentan a la red, uno a la vez.

Cada patrón se asocia con una ubicación en el mapa.

4. Competencia entre las neuronas: Durante la presentación de cada patrón de entrada, las neuronas

compiten por activarse. La neurona cuyos pesos sean más similares al patrón de entrada se convierte

en la ganadora.

5. Actualización de pesos: La neurona ganadora y sus vecinas en el mapa ajustan sus pesos para que

se vuelvan más similares al patrón de entrada. Esto se logra mediante la modificación de los vectores

de pesos de las neuronas según una regla de actualización.


6. Iteraciones: Los pasos 3-5 se repiten para varios patrones de entrada y múltiples iteraciones. A

medida que el proceso de entrenamiento continúa, las neuronas se organizan en regiones o clústeres

en el mapa.

7. Visualización de los resultados: Una vez finalizado el entrenamiento, se puede visualizar el mapa

para obtener una representación gráfica de la estructura de los datos en un espacio de menor

dimensión. Esto facilita la comprensión y análisis de los datos.

Ejemplo de un mapa de Kohonen

El otro modelo de aprendizaje son las Redes PCA (Principal Component Analysis), las redes

neuronales artificiales son utilizadas para realizar el análisis de componentes principales. Su

objetivo principal es reducir la dimensionalidad de conjuntos de datos de alta dimensionalidad. Estas

redes aprenden a extraer las componentes principales mediante una combinación lineal de las

variables originales. El entrenamiento de una Red PCA implica ajustar los pesos sinápticos para

obtener las componentes principales deseadas. Esta técnica es útil para eliminar características

redundantes, visualizar datos en espacios de menor dimensión y realizar tareas de compresión de

datos y reconocimiento de patrones. La construcción de una Red PCA se construye mediante los

siguientes pasos:

Preparación de los datos: Se realiza una normalización de los datos para asegurarse de que todas las

variables tengan una escala similar. Esto es importante para el correcto funcionamiento de la Red

PCA.
Diseño de la arquitectura de la red: Se define la estructura de la red, incluyendo el número de capas

ocultas y el número de neuronas en cada capa. Normalmente, la capa de salida tendrá el mismo

número de dimensiones que el número de componentes principales deseadas.

Inicialización de los pesos: Se inicializan aleatoriamente los pesos sinápticos de la red. Estos pesos

serán ajustados durante el entrenamiento para aprender las componentes principales.

Entrenamiento de la red: Se presenta el conjunto de datos a la red y se realizan iteraciones para

ajustar los pesos. Durante cada iteración, se calculan las salidas de la capa de salida y se comparan

con las componentes principales calculadas mediante el análisis de componentes principales clásico.

Se utiliza un algoritmo de optimización, como el descenso de gradiente, para minimizar la diferencia

entre las salidas de la red y las componentes principales deseadas.

Evaluación y validación: Se evalúa la calidad de la reducción de dimensionalidad realizada por la

Red PCA. Se pueden utilizar métricas como la varianza explicada o la preservación de la estructura

de los datos para evaluar el rendimiento de la red.

Aplicación de la Red PCA: Una vez entrenada, la red puede ser utilizada para realizar reducción de

dimensionalidad en nuevos conjuntos de datos. Se aplican los pesos aprendidos durante el

entrenamiento para calcular las componentes principales correspondientes.

Ejemplo de un modelo PCA


5 Conclusión

En conclusión, el presente informe ha abordado el diseño de controladores utilizando tecnologías

innovadoras como los Algoritmos Genéticos y las Redes Neuronales Artificiales. Estas técnicas

ofrecen enfoques poderosos y eficientes para resolver problemas complejos de control y

optimización en diversos campos.

En la primera parte, se exploraron los Algoritmos Genéticos, comprendiendo su historia,

operaciones genéticas en cadenas binarias y alternativas de optimización para la función aptitud.

Estos algoritmos proporcionan una metodología basada en la evolución y la selección natural,

permitiendo la generación de controladores adaptativos y optimizados.

La segunda parte se centró en las aplicaciones de las Redes Neuronales Artificiales en el diseño de

controladores. Se presentaron las Redes Neuronales Artificiales Supervisadas, destacando el

Perceptrón Multicapa y el Adaline como herramientas eficaces para resolver problemas de control

con datos de entrada y salida conocidos.

Al comprender los fundamentos teóricos y las aplicaciones prácticas de estas tecnologías, se puede

apreciar su potencial para abordar desafíos complejos de control en diversos sectores industriales,

desde la robótica y la automatización hasta los sistemas de energía y los diversos procesos.

En resumen, el uso de tecnologías como los Algoritmos Genéticos y las Redes Neuronales

Artificiales ofrece nuevas perspectivas y soluciones efectivas para el diseño de controladores. Estas

técnicas avanzadas permiten desarrollar sistemas de control adaptativos, robustos y optimizados,

abriendo la puerta a mejoras significativas en la eficiencia, precisión y rendimiento de los sistemas

de control en diversas aplicaciones industriales y científicas.

También podría gustarte