control por medio de redes neuronales.pdf

21
CONTROL POR MEDIO DE REDES NEURONALES SISTEMAS AVANZADOS DE CONTROL PRESENTADO A: Jose Thomas Buitrago PRESENTADO POR: Luis Genaro Marulanda Gonzalez CODIGO: 0732263-3746 UNIVERSIDAD DEL VALLE Santiago de Cali, Noviembre de 2010

Upload: lugemago

Post on 08-Aug-2015

67 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTROL POR MEDIO DE REDES NEURONALES.pdf

CONTROL POR MEDIO DE REDES NEURONALES

SISTEMAS AVANZADOS DE CONTROL

PRESENTADO A:

Jose Thomas Buitrago

PRESENTADO POR:

Luis Genaro Marulanda Gonzalez

CODIGO:

0732263-3746

UNIVERSIDAD DEL VALLE

Santiago de Cali, Noviembre de 2010

Page 2: CONTROL POR MEDIO DE REDES NEURONALES.pdf

CONTROL POR MEDIO DE REDES NEURONALES

1. INTRODUCCION

Con las Redes Neuronales Artificiales (RNA´s) se busca la solución de problemas complejos, no como una secuencia de pasos, sino como la evolución de sistemas de computación inspirados en el cerebro humano, y dotados por tanto de cierta "inteligencia", los cuales no son sino la combinación de elementos simples de proceso (neuronas) interconectados, que operando de forma paralela, consiguen resolver problemas relacionados con el reconocimiento de formas o patrones, predicción, codificación, control y optimización, entre otras aplicaciones. En síntesis, las RNA´s son una herramienta computacional que puede utilizarse en un gran número y variedades de aplicaciones, tanto comerciales como militares e ingenieriles. La combinación de RNA´s e ingeniería y tecnología permite un tipo de inteligencia con infinitas aplicaciones en la industria y la sociedad.

2. NEURONAS REALES

El cerebro consta de un gran número (aproximadamente 1011) de elementos altamente interconectados (aproximadamente 1014 conexiones por elemento), llamados neuronas. Las neuronas tienen cuatro componentes principales: las dendritas, el cuerpo de la célula o soma, el axón y la sinapsis.

Figura 1. Neurona Biológica

Page 3: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Dendritas: son el árbol receptor de la red, son como fibras nerviosas que cargan de señales eléctricas el cuerpo de la célula.

Cuerpo de la célula o Soma: Realiza la suma de las señales de entrada.

Axón: Es una fibra larga que lleva la señal desde el cuerpo de la célula hacia otras neuronas

Sinapsis: El punto de contacto entre un axón de una neurona y las dendritas de otra neurona

El cerebro humano está constituido por un conjunto de neuronas, donde una neurona no puede hacer nada a menos que la influencia colectiva de todas sus entradas alcance un punto crítico llamado Umbral.

Neuronas como procesadores de información sencillos De manera simplista las dendritas constituyen el canal de entrada de la información, el soma es el órgano de cómputo, el axón corresponde al canal de salida, y a la vez envía información a otras neuronas. Cada neurona recibe información de aproximadamente 10.000 neuronas y envía impulsos a cientos de ellas algunas neuronas reciben la información directamente del exterior. El cerebro se modela durante el desarrollo de un ser vivo. Algunas cualidades del ser humano no son innatas, sino adquiridas por la influencia de la información que del medio externo se proporciona a sus sensores. Tres conceptos clave a emular Procesamiento paralelo, derivado de que los miles de millones de neuronas que intervienen, por ejemplo en el proceso de ver, están operando en paralelo sobre la totalidad de la imagen. Memoria distribuida, mientras que en un computador la información está en posiciones de memoria bien definidas, en las redes neuronales biológicas dicha información está distribuida por la sinapsis de la red, existiendo una redundancia en el almacenamiento, para evitar la pérdida de información en caso de que una sinapsis resulte dañada. Adaptabilidad al entorno, por medio de la información de las sinapsis. Por medio de esta adaptabilidad se puede aprender de la experiencia y es posible generalizar conceptos a partir de casos particulares. El elemento básico de un sistema neuronal biológico es la neurona. Un sistema neuronal biológico está compuesto por millones de neuronas organizadas en capas. En la emulación

Page 4: CONTROL POR MEDIO DE REDES NEURONALES.pdf

de dicho sistema neuronal biológico, por medio de un sistema neuronal artificial, se puede establecer una estructura jerárquica similar a la existente en el cerebro. El elemento esencial seria la neurona artificial, la cual se organizara en capas. Varias capas constituirán una red neuronal. Finalmente una red neuronal junto con los interfaces de entrada y salida constituirá el sistema global de proceso.

3. REDES NEURONALES ARTIFICIALES Las redes neuronales artificiales quedan integradas dentro de las técnicas conexionistas, lo cual significa que el funcionamiento de cada uno de sus componentes elementales es idéntico, y la complejidad funcional se obtiene mediante una gran interconectividad entre estos elementos. Esto recuerda en gran manera la organización de los sistemas biológicos, donde simples neuronas se conectan entre sí para formar sistemas más o menos complejos. Es por este motivo que al componente elemental de las redes neuronales artificiales se le denomina neurona. Al igual que su homóloga biológica, una neurona artificial recibe información, bien sea de sensores o de otras neuronas; posteriormente realiza unas operaciones simples, y finalmente transmite el resultado a otras neuronas vecinas. La ventaja de las redes neuronales artificiales frente a sistemas matemáticos o expertos es que la función gana complejidad cuanto mayor es el número y las combinaciones de estas. Al igual que las neuronas biológicas, la muerte o deterioro de una neurona afecta cuantitativamente, pero no cualitativamente. Esto les confiere características que las hacen muy adecuadas para la realización de tareas tales como identificación, reconocimiento de patrones y sobre todo control. Modelo Estándar de una neurona artificial

Figura 2. Modelo de una Neurona

Page 5: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Una neurona artificial recibe una serie de entradas, representadas por el vector 𝑷. En primer lugar, suman estas entradas multiplicadas cada una de ellas por un peso diferente 𝒘𝑖 . Al resultado se le suma un valor constante denominado polarización representado por 𝒃, es una ganancia que refuerza la salida del sumador, finalmente se le aplica una función de activación denominada 𝒈. La función de activación es típicamente alguna de las siguientes:

Tabla1. Funciones de activación

La propiedad fundamental de las redes neuronales artificiales es que el valor de los pesos y las polarizaciones son ajustables, con lo que esta puede responder de forma diferente a unas mismas entradas. Esto les confiere la capacidad de asociar un conjunto de patrones de entrada-salida, cuando estos se les presentan de forma secuencial. Este proceso se denomina aprendizaje, adaptación o entrenamiento de la red. Si los patrones corresponden las entradas y a las salidas de una planta, el aprendizaje puede realizarse, además, al mismo tiempo que la planta recibe las entradas y genera las salidas. Este tipo de aprendizaje se denomina en línea (on-line). Una vez finalizado el aprendizaje o entrenamiento, la red puede predecir una salida a partir de la misma entrada, sin necesidad de la planta. Este tipo de función se denomina identificación. Ahora bien, la red ha de ser capaz de predecir una salida a partir de cualquier entrada, aun cuando no se le haya presentado en la fase de aprendizaje. Esta característica se denomina generalización. Arquitectura de las redes neuronales artificiales Se denomina arquitectura a la topología, estructura o patrón de conexión de una red neuronal. En una red neuronal artificial los nodos se conectan por medio de sinapsis, estando el comportamiento de la red determinado por la estructura de conexiones sinápticas. Estas conexiones sinápticas son direccionales, es decir, la información solamente puede propagarse en un único sentido (desde la neurona pre-sináptica a la pos-sináptica).

Page 6: CONTROL POR MEDIO DE REDES NEURONALES.pdf

En general las neuronas se suelen agrupar en unidades estructurales que denominaremos capas. El conjunto de una o más capas constituye la red neuronal. Se distinguen tres tipos de capas: De entrada: Una capa de entrada, también denominada sensorial, está compuesta por neuronas que reciben datos o señales procedentes del entorno. De salida: Una capa de salida se compone de neuronas que proporcionan la respuesta de la red neuronal. Ocultas: Una capa oculta no tiene una conexión directa con el entorno, es decir, no se conecta directamente ni a órganos sensores ni a actuadores. Este tipo de capa oculta proporciona grados de libertad a la red neuronal gracias a los cuales es capaz de representar mas fehacientemente determinadas características del entorno que trata de modelar.

Figura 3. Arquitectura unidireccional con tres capas de neuronas: una capa de entrada, una capa Oculta y una capa de salida

Teniendo en cuenta diversos conceptos se pueden establecer diferentes tipos de arquitecturas neuronales. Así considerando su estructura podemos hablar de: Redes mono capa (1 capa): Esta red está conformada por una capa de señales de entrada y una capa de señales de salida. Es llamada red de una sola capa ya que solo se toma en cuenta únicamente aquella donde se realiza alguna operación, la cual corresponde a la capa de salida. Se utiliza típicamente en tares relacionadas con la auto asociación. Redes multicapa (n capas): Es aquella que dispone de conjuntos de neuronas agrupadas en varios niveles o capas como (2,3,…, n) niveles o capas. En este caso, una forma para

Page 7: CONTROL POR MEDIO DE REDES NEURONALES.pdf

distinguir la capa a la que pertenece la neurona, consistirá en fijarse en el origen de las señales que recíbela entrada y el destino de la señal de salida. Teniendo en cuenta el flujo de datos, podemos distinguir entre: Redes unidireccionales (feedforward): en las redes unidireccionales la información circula en un único sentido. Redes recurrentes o realimentadas (feedback): en las redes recurrentes o realimentadas la información puede circular entre las distintas capas de neuronas en cualquier sentido, incluso en el de salida-entrada.

Figura 4. Diferentes arquitecturas de redes neuronales

La Figura 4 muestra dos ejemplos de arquitectura, uno corresponde a una red monocapa y recurrente y el otro a una red multicapa y unidireccional.

Tipos de redes neuronales con conexión o propagación hacia adelante (Feedforward)

Existen varios tipos de redes con conexión hacia adelante, pero se analizara únicamente algunas, como por ejemplo:

PERCEPTRON

ADALINE Y MADALINE

BACKPROPAGATION (retro-propagación)

Page 8: CONTROL POR MEDIO DE REDES NEURONALES.pdf

PERCEPTRON: Fue uno de los primeros modelos de redes neuronales con conexión hacia adelante, consiste en una sola neurona con pesos variable y un umbral, como función de activación se usa la función limite duro. Un perceptron imita una neurona tomando la suma ponderada de sus entradas y enviando a la salida un 1 si la salida es más grande que algún valor umbral ajustable o una salida 0 si ocurre lo contrario.

Figura 5. RNA perceptron

Las entradas (P1, P2,….., Pn) y los pesos (W1, W2,…., Wn) que se ilustran en la figura 5 son normalmente valores reales que pueden ser positivos o negativos. Cuando alguna característica Xi tiende a causar la activación del perceptron, el peso Wi será positivo; si la característica Xi inhibe al perceptron, entonces el peso Wi será negativo. ADALINE Y MADALINE: las redes ADALINE (Adaptive Linear Neuron) o (Adaptive Linear Element) y MADALINE (Multiple Adaline) son similares a las Perceptron, excepto en su función de activación, en este caso la función utilizada es la función lineal. La red Adaline está limitada a una única salida, mientras que la Madaline puede tener varias capas. La diferencia fundamental respecto al perceptron se refiere a su mecanismo de aprendizaje. Adaline y Madaline utilizan la regla de Widrow Hoff o regla de mínimo error cuadrático medio (LMS).

Figura 6. RNA Adaline

Page 9: CONTROL POR MEDIO DE REDES NEURONALES.pdf

BACKPROPAGATION (retro-propagación): la red de retropropagacion también conocida como perceptron multicapa (MutiLayer Perceptron), está formada por varias capas de neuronas. Una vez que se ha aplicado un patrón a la entrada de red como estimulo, esta se propaga desde la primera capa a través de las capas superiores de la red, hasta generar una salida. La señal de la salida se compara con la salida deseada y se calcula una señal de error para cada una de las salidas.

Figura 7. RNA Backprpagation

Donde: R= # de elementos en el vector de entrada S= # de neuronas en la capa

El perceptron multicapa tiene tres características fundamentales que la distinguen de las demás redes:

A. El modelo de cada neurona incluye una función de activación no lineal, la cual debe ser derivable en todo el rango. La función de activación más usada en este caso es la Sigmoidal, su uso tiene una motivación biológica por presentar n estado refractario de una neurona real. Como funciones de activación también pueden ser usadas las funciones log-sigmoide (logsig), tan-sigmoide (tansig) y la función lineal (purelin).

Page 10: CONTROL POR MEDIO DE REDES NEURONALES.pdf

B. La red contiene varias capas ocultas que no corresponden a la capa de entrada ni a la capa de salida, lo que le posibilita el aprender tareas complejas que son extraídas progresivamente de las entradas.

C. La red presenta un alto grado de conectividad, la cual está determinada por la cantidad de pesos existentes.

4. ENTRENAMIENTO DE LAS REDES NEURONALES

Una de las principales características de las RNA es su capacidad de aprendizaje. El entrenamiento de las RNA muestra algunos paralelismos con el desarrollo intelectual de los seres humanos. No obstante aun cuando parece que se ha conseguido entender el proceso de aprendizaje conviene ser moderado porque el aprendizaje de las RNA está limitado. El objetivo del entrenamiento de una RNA es conseguir que una aplicación determinada, para un conjunto de entradas produzca el conjunto de salidas deseadas o mínimamente consistentes. El proceso de entrenamiento consiste en la aplicación secuencial de diferentes conjuntos o vectores de entrada para que se ajusten los pesos de las interconexiones según un procedimiento predeterminado. Durante la sesión de entrenamiento los pesos convergen gradualmente hacia los valores que hacen que cada entrada produzca el vector de salida deseado. Los algoritmos de entrenamiento o los procedimientos de ajuste de los valores de las conexiones de las RNA se pueden clasificar en dos grupos: Supervisado y No Supervisado. Entrenamiento Supervisado: estos algoritmos requieren el emparejamiento de cada vector de entrada con su correspondiente vector de salida. El entrenamiento consiste en presentar un vector de entrada a la red, calcular la salida de la red, compararla con la salida deseada, y el error o diferencia resultante se utiliza para realimentar la red y cambiar los pesos de acuerdo con un algoritmo que tiende a minimizar el error. Las parejas de vectores del conjunto de entrenamiento se aplican secuencialmente y de forma cíclica. Se calcula el error y el ajuste de los pesos por cada pareja hasta que el error para el conjunto de entrenamiento entero sea un valor pequeño y aceptable. Entrenamiento No Supervisado: los sistemas neuronales con entrenamiento supervisado han tenido éxito en muchas aplicaciones y sin embargo tienen muchas críticas debido a que desde el punto de vista biológico no son muy lógicos. Resulta difícil creer que existe un mecanismo en el cerebro que compare las salidas deseadas con las salidas reales. En el caso de que exista, ¿de dónde provienen las salidas deseadas?

Page 11: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Los sistemas no supervisados son modelos de aprendizaje más lógicos en los sistemas biológicos, estos sistemas de aprendizaje no supervisado no requieren de un vector de salidas deseadas y por tanto no se realizan comparaciones entre las salidas reales y salidas esperadas. El conjunto de vectores de entrenamiento consiste únicamente en vectores de entrada. El algoritmo de entrenamiento modifica los pesos de la red de forma que produzca vectores de salida consistentes. El proceso de entrenamiento extrae las propiedades estadísticas del conjunto de vectores de entrenamiento y agrupa en clases los vectores similares. Existe una gran variedad de algoritmos de entrenamiento hoy en día. La gran mayoría de ellos han surgido de la evolución del modelo de aprendizaje no supervisado que propuso Hebb (1949). El modelo propuesto por Hebb se caracteriza por incrementar el valor del peso de la conexión si las dos neuronas unidas son activadas o disparadas. L a ley de Hebb se representa según la ecuación:

5. CONTROL MEDIANTE REDES NEURONALES ARTIFICIALES

Los principios de control basados en redes neuronales se pueden resumir en cinco estructuras:

Control Supervisado: La red aprende un conjunto de entradas y las salidas deseadas, y puede de esta forma identificar un sistema dinámico.

Control Inverso Directo: La red aprende la dinámica inversa de un sistema, de modo que aplicando la señal, la red puede calcular la acción de control a realizar.

Retropropagacion de Utilidad: Permite optimizar la función de transferencia. Requiere de un modelo del sistema a controlar, el cual puede ser otra red neuronal.

Crítico Adaptativo: Al igual que el esquema anterior, sirve para optimizar una función de transferencia, pero sin necesidad de un modelo de planta, o por lo menos, sin que sea necesario un modelo determinista. El crítico, consiste normalmente en otra red, es el encargado de evaluar el comportamiento de la red principal, para que de esta forma pueda adaptar sus pesos.

Page 12: CONTROL POR MEDIO DE REDES NEURONALES.pdf

6. SIMULACION DE LA PLANTA DE NIVEL DEL LABORATORIO CON RNA La simulación que se presenta a continuación se realiza en SIMULINK, el planteamiento del problema consiste en encontrar un mecanismo de control para la planta de nivel del laboratorio. Análisis Planta lazo Abierto: En el laboratorio se pudo realizar el modelado de la planta en lazo abierto, y se determino que su función de transferencia correspondía a la siguiente:

𝐹𝐷𝑇 =1.56

70.5 ∗ 𝑆 + 1

El resultado de la simulación en lazo abierto fue el siguiente:

Figura8. Modelo Planta nivel en lazo abierto

Figura9. Simulación Modelo Planta nivel en lazo abierto

Claramente se puede observar que el sistema es inestable y presenta un gran error.

Page 13: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Análisis Planta lazo cerrado: N el laboratorio se pudo observar que al cerrar el lazo por efector del Sample Holder la función de trasferencia cambiaba su grado, al analizar el tiempo de establecimiento y su error se pudo determinar que su función de trasferencia correspondía a:

𝐹𝐷𝑇 =𝑊𝑛

2

𝑆2 + 2𝜌𝑤𝑛 ∗ 𝑠 +𝑊𝑛2

𝐹𝐷𝑇 =0.031740985

𝑆2 + 0.31605584 ∗ 𝑆 + 0.031740985

Figura10. Modelo Planta nivel en lazo cerrado

Figura11. Simulacion planta lazo cerrado ante varios escalones

Page 14: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Figura12. Simulación planta lazo cerrado ante un escalón

Se puede observar claramente que el sistema realimentado si presenta control, sin embargo el sistema presenta un gran error, algo de oscilamiento y sobrepaso. Control por RNA´S: Para poder hacer uso de las RNA’s en simulink debemos ubicarnos es la librería “Neural Network ToolBox” y luego en “Control Systems”.

Figura13. Ubicación de la Neural Network ToolBox en la Library Browser de simulink

Page 15: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Luego de ubicarnos en control systems, nos aparecera diferentes bloques parael uso de las RNA’s.

Figura14. Ubicación de los controladores por RNA´s

En este caso se utilizo el “NARMA-L2 controller”.

Figura15. Modelo de la planta con RNA

Page 16: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Para definir los parámetros de nuestra RNA le damos click en el controlador “NARMA-L2”, se desplegara el siguiente cuadro

Figura16. Parametros de la RNA

Figura16. Simulink Plant Model

Luego de definir la arquitectura de lare, los parametros de entrenamiento y el modelo de la planta, debemos darle click en “Generate Training Data”.

Page 17: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Figura17. Visualización de las entradas y salidas de la planta de referencia de la RNA

Luego de finalizada la smulacion, es decir, luego de terminado el nuemro de pruebas de entreno, debemos darle click en “Accept Data”, nos aparecera el siguiente cuadro,indicandonos que ahora se puede dar inicio al entrenamiento de la red, para ello le damos click en “Train Network”.

Figura17. Parámetros de la RNA terminado el test1

Page 18: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Nos apareceran los siguientes cuadros, donde se nos mostrara el resultado de los entrenamientos.

Figura18. Resultados del entrenamiento

Page 19: CONTROL POR MEDIO DE REDES NEURONALES.pdf

Terminado el entrenamiento de la RNA se puede dar inicio al uso de la misma en la planta, los resultados obtenidos fueron.

Figura19. Simulación planta nivel con RNA

Claramente se puede observar que la RNA genero una gran disminución del error, las oscilaciones y una considerable reducción del tiempo de establecimiento.

7. ARTICULO IEEE: Sliding Mode Control of NonLinear Systems Using Gaussian Radial Basis Function Neural Networks, IEEE. 0-7803-7044.2001

En el artículo se presenta un control adaptativo que utiliza una red neuronal con funciones de base radial. La salida de la red neuronal es la señal de control y su aprendizaje se logra por medio de planos deslizantes, lo cual le da robustez al sistema de control adaptativo.

Figura20. Esquema del sistema completo

El diagrama de la Figura 20 muestra el esquema del sistema completo utilizando la red de base radial. A partir del error y su derivada, se calcula un plano deslizante llamado Sp,

Page 20: CONTROL POR MEDIO DE REDES NEURONALES.pdf

luego aplicando una función ᴪ se obtiene el error de la señal de control ec, y con base

en ésta se actualizan los pesos de la red de base radial, la cual hace las veces de controlador.

Figura21. Estructura de la Red

La red neuronal consta de una capa de entrada, una capa oculta y una capa de salida (Figura 21). En la primera capa se tiene como entradas el error, la derivada del error y una constante, la capa oculta está formada por neuronas con funciones de base radial y la capa de salida es una neurona con función lineal. Los pesos entre la capa de entrada y la oculta no reciben entrenamiento y su valor es de uno. El entrenamiento de los pesos de la capa oculta a la de salida se realiza utilizando un plano deslizante, como se muestra en la sección del algoritmo de aprendizaje. El error y la derivada del error se obtienen como:

Donde X es la salida de la planta y Xd es la salida deseada. La salida de cada neurona de la capa oculta, la cual esta formada por funciones de base radial es:

Donde Uj son las entradas de la red (e,𝑒 , kte) y Yi es la salida de las neurona i-ésima. Cij

son los centros de las funciones radiales y σij son los anchos de las mismas.

Page 21: CONTROL POR MEDIO DE REDES NEURONALES.pdf

La salida total de la red se define por:

Donde wi denota el peso i de entrenamiento, y τ representa la salida total de la red.

El aprendizaje se logra calculando el plano deslizante Sp y el error de la señal de control

ec como en (5) y (6)

Donde 𝜏𝑑 es la señal de control deseada y como ésta no está disponible, es necesaria la

expresión del lado derecho. Con ec se calcula el cambio en los pesos de la red neuronal

de manera similar a:

8. CONCLUSIONES

S e pudo comprender el principio básico de las RNA´s.

Se pudo determinar que su naturaleza las hace aptas para el uso en diferentes disciplinas pero sobre todo en el reconocimiento de patrones y el control.

En cuanto a la simulación se presento un método de control usando RNA´s, el cual fue fácil de implementar y presento buen comportamiento.

9. BIBLIOGRAFIA

IEEE CONTROL MAGAZINE. NEURAL NETWORKS for Self-Learning Control Systems, Derrick H. Nguyen and Bernard Widrow

REDES NEURONALES Y SUS APLICACIONES, Xabier Basogain Olbe

S. Haykin (1999). Neural Networks. A Comprehensive Foundation, Prentice-hall