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.