UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta...

35
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN FACULTAD DE MINAS ENTRENAMIENTO DE REDES NEURONALES CON FILTROS DE KALMAN Trabajo Dirigido De Grado Presentado Por: Pablo Andrés Deossa Molina UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN FACULTAD DE MINAS ESCUELA DE INGENIERIA ELECTRICA Y MECANICA INGENIERIA DE CONTROL 2009

Transcript of UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta...

Page 1: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

UNIVERSIDAD NACIONAL DE COLOMBIA

SEDE MEDELLIN

FACULTAD DE MINAS

ENTRENAMIENTO DE REDES NEURONALES CON FILTROS DE KALMAN

Trabajo Dirigido De Grado Presentado Por:

Pablo Andrés Deossa Molina

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN

FACULTAD DE MINAS ESCUELA DE INGENIERIA ELECTRICA Y MECANICA

INGENIERIA DE CONTROL 2009

Page 2: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 2

ENTRENAMIENTO DE REDES NEURONALES CON FILTROS DE KALMAN

Por:

Pablo Andrés Deossa Molina

Que se presenta anta la Facultad de Minas

Universidad nacional de Colombia

Sede Medellín

En Cumplimiento Parcial De los Requisitos Para Obtener el Titulo De

Ingeniero De Control

Director

Jairo José Espinosa Oviedo

Ingeniero Electrónico, MSc, PhD

Junio de 2009

Page 3: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 3

CONTENIDO

1 Contextualización............................................................................................................. 7

2 Justificación...................................................................................................................... 7

3 Redes Neuronales: .......................................................................................................... 8

3.1 Introducción.............................................................................................................. 8

3.2 Beneficios................................................................................................................. 8

3.2.1 no linealidad ......................................................................................................... 8

3.2.2 mapeo entrada salida........................................................................................... 8

3.2.3 adaptabilidad ........................................................................................................ 8

3.3 Modelos de neuronas .............................................................................................. 9

3.3.1 Pesos sinápticos .................................................................................................. 9

3.3.2 Sumador ............................................................................................................... 9

3.3.3 Función de activación .......................................................................................... 9

3.3.4 Perceptron de una capa..................................................................................... 10

3.3.5 Perceptron multicapa ......................................................................................... 10

4 Aprendizaje .................................................................................................................... 11

4.1.1 Inteligencia artificial y las redes neuronales ...................................................... 11

4.2 Métodos comunes de aprendizaje......................................................................... 12

4.2.1 Aprendizaje por corrección del error.................................................................. 12

5 Filtro De Kalman ............................................................................................................ 13

5.1 Filtro de kalman lineal ............................................................................................ 13

5.1.1 estimación óptima .............................................................................................. 14

5.2 Filtro de kalman extendido..................................................................................... 15

5.3 Filtro kalman extendido modificado o simplificado ................................................ 17

5.4 Consideraciones acerca del filtro de kalman ........................................................ 18

6 Entrenamiento De Redes Neuronales Con Filtro De Kalman....................................... 19

6.1.1 Datos de entrenamiento..................................................................................... 20

6.1.2 Red neuronal ...................................................................................................... 21

6.1.3 Estimación .......................................................................................................... 21

6.1.4 Diferencia entre estimaciones............................................................................ 21

6.1.5 Error.................................................................................................................... 22

6.1.6 Pesos.................................................................................................................. 22

Page 4: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 4

7 Aplicación Entrenamiento De Una Red Neuronal Con Filtro De Kalman ..................... 23

7.1 Caso trivial ............................................................................................................. 23

7.2 Resultados: ............................................................................................................ 24

7.2.1 Prueba lineal ...................................................................................................... 24

7.2.2 Aproximación no lineal ....................................................................................... 26

7.3 Caso general .......................................................................................................... 29

7.4 Aproximación de una ecuación diferencial ............................................................ 29

7.5 Entrenamiento ........................................................................................................ 30

7.6 Validación............................................................................................................... 32

8 Conclusiones Y Trabajo Futuro ..................................................................................... 34

9 Bibliografía ..................................................................................................................... 35

Page 5: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 5

Tabla de figuras

Figura3-1 Modelo Basico De Perceptron .................................................................................................................. 9 Figura 3-2 Perceptron De Una Capa........................................................................................................................ 10 Figura3-3 Perceptron Multicapa ............................................................................................................................. 10 Figura4-1 Modelo simplificado de aprendizaje ...................................................................................................... 11 Figura 4-2 Red Neuronal Con Retroalimentacion (Haykin) ................................................................................... 12 Figura 5-1 Sistema Dinamico Lineal ........................................................................................................................ 13 Figura 6-1 Diagrama De Operacion De La Red ....................................................................................................... 19 Figura 6-2 Distribucion De Datos Aleatorios Para Entrenamiento ....................................................................... 20 Figura 6-3 Espacio De Solucion De Los Datos De Entrenamiento ......................................................................... 20 Figura7-1 Datos De Entrenamiento Para Caso Lineal ............................................................................................ 24 Figura7-2 Entrenamiento De La Red ....................................................................................................................... 24 Figura7-3 Error De Convergencia ............................................................................................................................ 25 Figura7-4 Salida de la red entrenada por EKF ........................................................................................................ 26 Figura7-5 Datos De Entrenamiento Para Caso No Lineal ...................................................................................... 27 Figura7-6 Entrenamiento De La Red ....................................................................................................................... 27 Figura7-7 Error De Convergencia ............................................................................................................................ 28 Figura7-8 Salida De La Red Entrenada Por Ekf ....................................................................................................... 28 Figura7-9 Sistema Masa Resorte ............................................................................................................................. 29 Figura 7-10 Espacio De Soluciones Para El Sistema Masa Resorte ....................................................................... 30 Figura 7-11 Función De Entrenamiento Para El Sistema Masa Resorte ............................................................... 31 Figura 7-12 Detalle De La Funcion Objetivo Del Sistema Masa Resorte .............................................................. 31 Figura 7-13 Salida De La Red Neuronal Y Datos De Prueba................................................................................... 32 Figura 7-14 Detalle De La Salida De La Red Y Los Datos De Prueba ..................................................................... 32 Figura 7-15 Comportamiento Del Error De Entrenamiento .................................................................................. 33 Figura 7-16 Grafica De Prueba De Generalidad ..................................................................................................... 33

Page 6: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 6

Tabla de ecuaciones

Ecuación 3-1 Modelo Matematico De Una Neurona ............................................................................................... 9 Ecuación 4-1 Error Del Metodo ............................................................................................................................... 12 Ecuación 4-2 Regla Delta ......................................................................................................................................... 12 Ecuación 4-3 Ecuacion Para Calcular El Valor Sinaptico ........................................................................................ 12 Ecuación 5-1 Sistema Dinamico Lineal.................................................................................................................... 13 Ecuación 5-2 Ecuacion De Salida Del Proceso Lineal ............................................................................................. 14 Ecuación 5-3 Funcion De Costo Para Estimacion Optima...................................................................................... 14 Ecuación 5-4 Propagación Del Estado Estimado .................................................................................................... 15 Ecuación 5-5 Propagacion De La Covarianza Del Error .......................................................................................... 15 Ecuación 5-6 Matriz De La Ganacia De Kalman ...................................................................................................... 15 Ecuación 5-7 Actualizacion Del Estado Estimado................................................................................................... 15 Ecuación 5-8 Actualizacion De La Covarianza Del Error ........................................................................................ 15 Ecuación 5-9 Sistema Dinamico No Lineal En Espacio De Estado ......................................................................... 16 Ecuación 5-10 Matriz De Ganancia De Kalman Para Ekf Modificado ................................................................... 17 Ecuación 5-11 Vevtor De Estados Para Ekf Modificado......................................................................................... 17 Ecuación 5-12 Matriz De Covariancia Del Error Para Ekf Modificado .................................................................. 17 Ecuación 6-1 Calculo De La Matriz P Con La Ecuaccion De Riccati ....................................................................... 21 Ecuación 6-2 Ecuacion Alternativa Para Calcula La Matriz P................................................................................. 21

Page 7: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 7

1 Contextualización

La propiedad más importante de una red neuronal es su habilidad para “aprender” desde su entorno y mejorar su desempeño a lo largo del proceso. El aprendizaje se ve reflejado sobre los valores de los pesos sinápticos de la red. Así el método de aprendizaje es el cómo calcular estos pesos.

En la literatura es amplio el campo de métodos para realizar este entrenamiento, en este trabajo se desea hacer el entrenamiento basado en el filtro de kalman extendido, el cual extiende el alcance a sistemas no lineales y posee bajo las condiciones adecuadas, la características de estimador optimo. Si bien los pesos de la red son nuestras variables a estimar y la salida de la red es la medición, podemos entonces hacer un entrenamiento óptimo basado en la salida de la red respecto a una referencia de entrenamiento.

2 Justificación

El filtro de kalman es una herramienta muy poderosa y optima que posee una característica natural para trabajar con ruidos tanto en la panta como ruido de medición. Adicionalmente su costo computacional (al ser visto solo como una herramienta matemática) es relativamente bajo, ya que solo requiere de la información de estado anterior para sus estimaciones. El objetivo de este trabajo es realizar la implementación del algoritmo y enfocarlo al entrenamiento de redes neuronales y analizar los problemas y ventajas de esta herramienta empleada como método de aprendizaje.

Page 8: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

3 Redes Neuronales:

3.1 Introducción Las redes neuronales surgen del hecho que el procesamiento del cerebro humano difiere enormemente de la computación clásica digital. El cerebro es una computadora de procesamiento paralelo, de alta complejidad y no lineal. El componente básico de este sistema, la neurona, es la unidad básica de procesamiento. Una neurona en desarrollo presenta plasticidad. Su plasticidad le permite adaptar el sistema nervioso al entorno y memorizar o mecanizar la función. Sin embargo, aun después del aprendizaje de la tarea, la neurona sigue en desarrollo.

En la forma más general una red neuronal, pasa a ser una maquina que está diseñada para modelar una tarea particular del cerebro. Usualmente es implementada basada en componentes electrónicos o simulada en software en una computadora digital. Para un buen rendimiento una red neuronal es una interconexión masiva de célula de computo llamadas neuronas o “unidades de procesamiento”.

“Una red neuronal es un procesador paralelo masivo distribuido compuesto por unidades simples de procesamiento, que es propenso por naturaleza para almacenar conocimiento experimental y hacerlo disponible para el uso. Se asemeja al cerebro en dos aspectos:

El conocimiento es adquirido por la red desde el entorno a través de un proceso de aprendizaje

Los pesos de las conexiones entre las neuronas, conocidos como pesos sinápticos son usados para guardar el conocimiento adquirido.

3.2 Beneficios

3.2.1 NO LINEALIDAD Las redes neuronales puede ser lineales y no lineales, una red construida a base de la interconexión de neuronas no lineales será una red no lineal.

3.2.2 MAPEO ENTRADA SALIDA Un paradigma popular de aprendizaje es conocido como “aprendizaje supervisado” e implica la modificación de los pesos de la red neuronal en base a ejemplos de entrenamiento. Donde cada ejemplo tipifica una respuesta deseada y el entrenamiento minimiza la diferencia entre la salida de la red y los datos de entrenamiento.

3.2.3 ADAPTABILIDAD Una red ya entrenada tiene la capacidad de volverse a adaptar a nuevas condiciones, no se debe confundir este termino con robustez, esto se debe a que si tenemos un sistema que cambie rápidamente debido a perturbaciones externas, la red esta variando rápidamente, así, se debe buscar que las constates de tiempo de los datos sean lo suficientemente largos para poder diferenciar las perturbaciones de comportamiento natural de la red.

Page 9: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 9

3.3 Modelos de neuronas Como se menciono antes, la neurona es la unidad fundamental para la operación de una red neuronal. Un diagrama de bloques ilustra el modelo de una neurona artificial.

Figura3-1 Modelo Básico De Perceptron

En esta representación se identifica tres componentes básicos de la neurona artificial.

3.3.1 PESOS SINÁPTICOS Un conjunto de sinapsis o conexiones, donde cada uno está caracterizado por un peso. De manera que la señal en la entrada de la sinapsis j de la neurona k, es multiplicada por el peso sináptico , en esta notación el primer subíndice representa la neurona y el segundo subíndice a la entrada a la cual el peso se refiere y cada punto de suma tiene un peso llamado polarización o “bias”.

3.3.2 SUMADOR Es una función linear, encargada de sumar las señales ponderadas por el efecto de los pesos sinápticos

3.3.3 FUNCIÓN DE ACTIVACIÓN La función de activación limita la amplitud de la salida de la neurona, existen variedad de funciones como: Lineal, paso o escalón, sigmoidea La forma matemática de este sistema es:

Ecuación 3-1 Modelo Matemático De Una Neurona

Page 10: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 10

3.3.4 PERCEPTRON DE UNA CAPA Se denomina de una capa, cuando solo existe un nodo computacional o neurona antes de la salida. Esto sin contar la capa de entrada de la red

Figura 3-2 Perceptron De Una Capa

3.3.5 PERCEPTRON MULTICAPA Esta arquitectura presenta capas ocultas y sus elementos computacionales son conocidos como neuronas ocultas, la función de las capas ocultas es intervenir entre la entrada y salida de la red, por cada capa oculta añadida, la red es capaz de manejar información de ordenes mayores. Normalmente la salida de una capa oculta será la entrada de la siguiente

Figura3-3 Perceptron Multicapa

Page 11: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 11

4 Aprendizaje 4.1.1 INTELIGENCIA ARTIFICIAL Y LAS REDES NEURONALES El objetivo de la inteligencia artificial (IA) es desarrollar algoritmos que estén en capacidad de hacer tareas en las cuales los humanos son mejores actualmente. Los sistemas de IA deben poseer tres características, las cuales las RN cumplen a cabalidad (Haykin):

1. Almacenar el conocimiento 2. Aplicar el conocimiento 3. Adquirir nuevo conocimiento

Para introducir el tema del aprendizaje se muestra un modelo simplificado del proceso de aprendizaje:

Ambiente: Es el entorno donde la RN se va a desenvolver, normalmente son los datos para el aprendizaje

Aprendizaje: Es el método que se usa para que la red capture las características particulares del ambiente

Base de conocimientos: es el resultado del entrenamiento, la experiencia y conocimiento de la red es almacenado en esta parte, para un RN serian los pesos de las neuronas

Ejecución: Permite hacer el mapeo de otros datos, es el uso de la RN para el fin con el que fue entrenada

•Datos de entrenamiento

Ambiente

•Entrenamieto

Aprendizaje•Pesos

Base de conociminetos

•Salida de la red

Ejecucion

FIGURA4-1 MODELO SIMPLIFICADO DE APRENDIZAJE

Page 12: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 12

4.2 Métodos comunes de aprendizaje Existen una gran cantidad de métodos de aprendizaje o entrenamiento para las redes neuronales. No es el objetivo hacer mención de todos, a modo de ejemplo se muestra el aprendizaje por corrección del error el cual se aproxima un poco al filtro del kalman al estar basado en el error entre la salida de la red y la respuesta deseada, pero como se puede observar no hay forma de garantizar que la estimación es la mejor

4.2.1 APRENDIZAJE POR CORRECCIÓN DEL ERROR Si se considera una neurona simple de la siguiente manera:

Figura 4-2 Red Neuronal Con Retroalimentacion (HAYKIN)

La neurona k es referenciada por el vector que es producido por una o mas nerunas de la capa oculta que a su vez es referenciada por un vector de entradas, la salida de la neurona k es llamada esta representa la única salida de la red. Y es comparada con la respuesta deseada denominada y se produce una señal de error asi:

Ecuación 4-1 Error Del Método

Este error es usado como señal de control y se implementa en una función de costo la cual se debe minimizar definida por:

Para minimizar la función se usa el método “regla delta” o “Regla de Widrow-Hoof” 1 donde se tiene un vector correspondiente al peso de la neurona excitado por asi:

Ecuación 4-2 Regla Delta

Donde denota la tasa de aprendizaje de la red y siempre es mayor que cero. Una vez calculado el valor de del delta se procede a calcular el valor del peso sináptico:

Ecuación 4-3 Ecuación Para Calcular El Valor Sináptico

1 En honor a Widrow y Hoff , 1960

Page 13: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 13

5 Filtro De Kalman

5.1 Filtro de kalman lineal Teóricamente el filtro de kalman es un estimador usado para solucionar el “problema linear cuadrático”, que consiste en estimar en estado instantáneo de un sistema lineal dinámico por medio de medidas relacionadas con el estado adicionado con ruido blanco. El estimador resultante es estadísticamente óptimo con respecto a cualquier función cuadrática de estimación del error (Andrews).

Si se considera un sistema lineal dinámico, en tiempo discreto

Figura 5-1 Sistema Dinámico Lineal

El vector de estados denominado es el conjunto de datos mínimo suficientes para describir el comportamiento dinámico del sistema, k denota el instante de muestreo. Normalmente es desconocido y para estimarlo se usa un conjunto de datos medidos por

Ecuación 5-1 Sistema Dinámico Lineal

Donde:

Es la matriz de transición de estados de la iteración k a la iteración k+1

Es el vector de estados de la iteración k

Representa el vector de ruido del proceso, este ruido es gausiano con media cero

Se define la matriz de covarianza del ruido como:

Page 14: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 14

Ecuación 5-2 Ecuación De Salida Del Proceso Lineal

Donde:

Es la matriz de medición

Representa el vector de ruido de medición, este ruido también es gausiano con media cero

Se define la matriz de covarianza del ruido como:

Se considera que el ruido de medición no está correlacionado con el ruido del proceso.

5.1.1 ESTIMACIÓN ÓPTIMA Para verificar que la estimación es óptima se parte de la ecuación

Donde es una señal desconocida y es un ruido aditivo. Si es estimado posterior de , dadas las mediciones

Para una estimación óptima se necesita una función de costo, con los siguientes requisitos:

1. La función de costo es no negativa 2. La función de costo es una función no decreciente del error de estimación.

Los requisitos se satisfacen por la esperanza del error al cuadrado, que está definida por:

Ecuación 5-3 Función De Costo Para Estimación Optima

Donde es el operador esperado. La dependencia de la función resalta que el proceso de estimación no es estacionario.

Los teoremas para deducir un valor optimo estimado para son:

5.1.1.1 ESTIMADOR DE ESPERANZA CONDICIONAL Si los procesos estocásticos y son gaussianos, entonces el estimado óptimo que minimiza el error medio cuadrático es el estimador de esperanza condicional:

Page 15: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 15

Principio de ortogonalidad y con media cero, tal que:

Continuando con la ecuación de salida, el vector de estados puede ser estimado a partir de las ecuaciones (3-1) y (3-2) con el filtro de kalman por las siguientes ecuaciones.

Ecuación 5-4 Propagación Del Estado Estimado

Ecuación 5-5 Propagación De La Covarianza Del Error

Ecuación 5-6 Matriz De La Ganancia De Kalman

Ecuación 5-7 Actualización Del Estado Estimado

Ecuación 5-8 Actualización De La Covarianza Del Error

La inicialización cuando k=0

El filtro de Kalman es el mejor estimador lineal si , , tiene características estadísticas arbitrarias. Si , , son variables aleatorias normales el FK es un estimador óptimo

5.2 Filtro de kalman extendido El filtro presentado en la sección anterior, supone un sistema dinámico lineal. Pero este hecho no es común, normalmente los sistemas son no lineales. En este desarrollo se hace una extensión del filtro con un proceso de linealizaciòn y se conoce como FILTRO EXTENDIDO DE KALMAN (FKE) (Haykin)

Page 16: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 16

Se considera un sistema dinámico no lineal descrito por:

Ecuación 5-9 Sistema Dinámico No Lineal En Espacio De Estado

Como antes son ruidos independientes gausianos, con matrices de covarianza , respectivamente. es la función matricial no lineal de

transición que muy posiblemente varié en el tiempo. Y denota la función

matricial de medición no lineal que también puede variar en el tiempo.

La idea básica del filtro es linealizar el modelo de espacio de estado no lineal en cada instante de tiempo alrededor del último estado conocido, una vez conocido el modelo lineal, se aplican las ecuaciones del filtro de kalman

Para ver con detalle el proceso de linealizaciòn ver (Sanchez Camperos y Alanìs Garcia) paginas 150 – 152

Resumen para el cálculo de EKF:

Sistema no lineal:

Se define:

Para :

Para

Propagación del estado estimado:

Page 17: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 17

Propagación de la covarianza del error

Matriz de la ganancia de Kalman

Actualización del estado estimado

Actualización de la covarianza del error

5.3 Filtro kalman extendido modificado o simplificado El algoritmo usado en este trabajo es el que se presenta a continuación. Este algoritmo presenta una implementación más fácil los reemplazos son:

Con esta simplificación se obtiene:

Ecuación 5-10 Matriz De Ganancia De Kalman Para Ekf Modificado

Ecuación 5-11 Vector De Estados Para Ekf Modificado

Ecuación 5-12 Matriz De Covariancia Del Error Para Ekf Modificado

Donde:

Es el número de estados del sistema, en este caso particular, el número de pesos sinápticos de la red neuronal

Es el número de salidas del sistema

es la matriz de covarianza del error de predicción, es el vector de estados, es el vector de salidas, es el vector de salidas estimadas,

es la matriz de ganancia de Kalman, es la matriz de covariancia del ruido del proceso, es la matriz de covariancia del ruido de medición,

Page 18: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 18

es la matriz que contiene las derivadas parciales de la salida respecto a cada uno de los parámetros .

5.4 Consideraciones acerca del filtro de kalman Es solo una herramienta:

El filtro de por si no resuelve ningún problema por sí mismo. Sin embargo es una gran herramienta. No es una herramienta física, es una herramienta matemática.

Es un programa de computadora:

La implementación digital usa la representación finita de un problema de estimación. Sin embargo el filtro asume las variables como números reales con precisión infinita. Dado esto se puede encontrar algunos problemas, entre los más comunes se genera la distinción entre problemas finitos y problemas de tamaños “manejables”.

Es una caracterización estadística de un problema de estimación:

El filtro de kalman, se considera mucho más que un estimador, debido a que propaga la distribución entera de probabilidad de las variables que estima. Esto hace una caracterización completa de los estados conocidos del sistema, incluyendo los estados anteriores.

En un contexto limitado, es un método de aprendizaje:

El modelo de estimación es capaz de distinguir entre un fenómeno (lo que es observable) y noúmeno (lo que en realidad pasa). Así que las distribuciones de probabilidad de este “conocimiento” del mundo real son acumulativas, representan un aprendizaje. El concepto es simple, pero efectivo en algunos casos, como el mostrado en esta tesis.

Page 19: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 19

6 Entrenamiento De Redes Neuronales Con Filtro De Kalman El filtro de kalman, formulado como un sistema dinámico lineal en ecuaciones de estado, provee una solución al problema lineal de filtrado optimo. Este se aplica en ambientes estacionario como no estacionarios. La solución es recursiva, de forma que cada actualización de un estado es calculada a partir del estado anterior y el nuevo dato de entrada. Esto hace que no sea necesario almacenar todos los datos.

El uso de un algoritmo basado en el filtro de kalman extendido reside en que el algoritmo de gradiente descendente y mínimos cuadrados recursivos y el de retro propagación son solo casos específicos del filtro de kalman (Sanchez Camperos y Alanìs Garcia)

Para la aplicación del filtro como método de entrenamiento, los estados del filtro pasan a ser los pesos sinápticos de la red. Y la salida de la red neuronal es la medición que usa el filtro.

El algoritmo construido para esta tesis opera bajo la siguiente idea:

Figura 6-1 Diagrama De Operación De La Red

Page 20: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 20

6.1.1 DATOS DE ENTRENAMIENTO

Los datos de entrenamiento deben ser en lo posible basados en números aleatorios, al aplicar estos ruidos como entradas, se está ingresando una amplia gama de frecuencias y amplitudes, lo que para la red implica una mayor cantidad de soluciones para aprender.

Este espacio de solución debe garantizar que la solución o función a estimar posteriormente por la red este contenida en este.

La distribución de 5000 datos con varianza de 5000 y media cero tiene la siguiente forma:

Figura 6-2 Distribución De Datos Aleatorios Para Entrenamiento

Y el espacio de solución generado por esta distribución es:

Figura 6-3 Espacio De Solución De Los Datos De Entrenamiento

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

x 104

0

200

400

600

800

1000

1200

1400

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000-2

-1.5

-1

-0.5

0

0.5

1

1.5

2x 10

4

Page 21: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 21

6.1.2 RED NEURONAL Las redes usadas en este trabajo son la arquitectura “feed forward”, los valores iniciales de los pesos son condiciones aleatorias, esto implica que no se garantiza nuca que los pesos iniciales estén cerca de la solución de estimación.

6.1.3 ESTIMACIÓN La estimación del EKF penaliza los pesos de manera mayor los pesos relacionados con las derivadas que tengan mayor cambio, no hay un método específico para estimar los valores de las covarianzas de los ruidos del sistema y del ruido de medición.

La Ecuación 5-8 Actualización De La Covarianza Del Error calcula la matriz denominada como P, esta matriz la cual depende de H que son de las derivadas de la red respecto a los pesos, la ganancia de Kalman, el estado anterior de la matriz P y la matriz de covarianza de ruido del proceso.

Esta matriz puede presentar problemas de singularidad cuando tiende a ser de dimensiones muy grandes, debido a esto se consulta alternativas para el cálculo de esta:

1. Calculo de la matriz P con la ecuación de Riccati:

Este desarrollo está basado en la implementación de mínimos cuadrados recursivos, ver (Mohammed, Munter A. and George)

Ecuación 6-1 Calculo De La Matriz P Con La Ecuación De Riccati

2. El otro método es propuesto en la referencia (Sum, Leung y H. Young) donde se abarca el entrenamiento de redes con el EKF.

Ecuación 6-2 Ecuación Alternativa Para Calcula La Matriz P

En la estimación de los pesos, el EKF calcula los gradientes de la red neuronal respecto a los pesos, y tiende a corregir en la dirección de mayor cambio, claro está, el peso con mayor gradiente, es el que se penaliza de una manera mayor. Análogamente cuando la derivada es de valor pequeño, se asume que la estimación de ese peso es muy acertada y se procura no cambiarlo. En realidad lo que se hace es buscar los mínimos de la función, donde el mínimo ideal es ubicar el mínimo global, que minimice la diferencia entre la salida de la red y los datos de entrenamiento.

6.1.4 DIFERENCIA ENTRE ESTIMACIONES La diferencia punto a punto entre los datos de entrenamiento y la salida de la red, multiplicada por la ganancia de kalman es sumada a los pesos de la estimación anterior, así cuando la diferencia de las salida tiende a cero, la actualización de los pesos se

Page 22: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 22

detiene. Los pesos estimados son utilizados en la siguiente iteración para recalcular los valores antes mencionados

6.1.5 ERROR En el algoritmo se programa dos tipos de errores, el primero el error punto a punto utilizado en la diferencia entre estimaciones, y un error cuadrático que mide la diferencia entre todos los puntos de la salida entregada por la red y la función objetivo, este ultimo error es solo usado como un indicador para ver la aproximación de la red, y en realidad no influye en el desarrollo de la estimación de los pesos, pero también se uso como criterio de parada para la estimación

6.1.6 PESOS El resultado del entrenamiento total de la red se ve reflejado en los pesos estimados, hay dos factores de parada para el algoritmo, el número de iteraciones o el error antes mencionado. Durante el proceso de estimación, en algún momento durante el entrenamiento, este error alcanza un valor mínimo, para propósitos de análisis, los pesos con los cuales la red tuvo menor error son almacenados y serán contrastados con la estimación arrojada por los pesos finales del entrenamiento.

Page 23: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 23

7 Aplicación Entrenamiento De Una Red Neuronal Con Filtro De Kalman

7.1 Caso trivial Para probar la funcionalidad del método, se comienza por realizar el entrenamiento en una red básica, una sola neurona con función de activación lineal de la siguiente forma:

Donde U es la entrada, w es el valor del peso sináptico y B el valor del bias de la neurona.

A pesara de ser un caso trivial, se hará el procedimiento completo con el filtro extendido de kalman, es decir se linealiza la función en cada punto. De esta manera obtendremos:

Que el jacobiano de la red Y, respecto a los pesos w es:

Con

Para los resultados haremos dos pruebas a esta red.

Se entrenara la red con 100 datos correspondientes a una recta con pendiente 1 y cruce por el origen, y se probara la red entrenada con otros 50 datos diferentes, pero de las mismas características.

Adicionalmente, aprovechando las propiedades del EFK, se tratara de aproximar una función seno. Para esta parte, se entrena con mil datos y la red es probada con 500.

Page 24: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 24

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200Datos de entrenamiento

Entrenamiento

7.2 Resultados:

7.2.1 PRUEBA LINEAL Entrenando con los siguientes 200 datos:

Figura7-1 Datos De Entrenamiento Para Caso Lineal

La evolución de la red por cada entrenamiento puede ser vista acá:

Figura7-2 Entrenamiento De La Red

0 10 20 30 40 50 60100

120

140

160

180

200

220

240

260

280

300Resultados de entrenamiento

Page 25: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 25

Y el error de convergencia de la red es:

Figura7-3 Error De Convergencia

Y por ultimo después del entrenamiento se obtiene los siguientes valores para los pesos de la red entrenada por EKF.

Los cuales son resultados esperables. Ya que lo que se busca es aproximar un recta de cruce por el origen con pendiente de 1.

0 20 40 60 80 100 120 140 160 180 200-0.5

0

0.5

1

1.5

2

2.5

3

3.5Error de convergencia

Page 26: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 26

El resultado de la red ya entrenada, probada con 50 datos interpolados diferentes a los de entrenamiento es:

Figura7-4 Salida de la red entrenada por EKF

Es claro que la aproximación es muy buena y de comprobación trivial, ay que la ecuación de la recta esperada viene dada por , si se reemplaza los coeficientes arrojados por la red la ecuación que se obtiene es

7.2.2 APROXIMACIÓN NO LINEAL Como se mencionó anteriormente, se entrena la red con mil datos pero a modo de prueba los datos no serán lineales, se introduce un conjunto de datos de forma periódica senoidal:

0 10 20 30 40 50 60200

210

220

230

240

250

260Salidas Del Sistema

Datos esperados

Estimacion

Page 27: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 27

Figura7-5 Datos De Entrenamiento Para Caso No Lineal

En el entrenamiento de la red, es posible ver como se hace la aproximación de la función:

Figura7-6 Entrenamiento De La Red

0 100 200 300 400 500 600 700 800 900 1000-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Datos de entrenamiento

Entrenamiento

0 100 200 300 400 500 600-1.5

-1

-0.5

0

0.5

1Resultados de entrenamiento

Page 28: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 28

El error de convergencia, el cual se queda oscilando con forma de la señal alrededor de cero:

Figura7-7 Error De Convergencia

El resultado de la red entrenada, probado con otros 500 datos diferentes:

Figura7-8 Salida De La Red Entrenada Por Ekf

Se debe recordar que es un caso de una sola neurona con función de activación lineal, pero debido a la linealización del algoritmo en cada punto hace posible la estimación. Para este caso la aproximación también es buena. Enfatizando que los datos de prueba son iguales a los de entrenamiento, esta prueba es un poco más exigente para la neurona, pero no confirma la generalidad de la red.

0 100 200 300 400 500 600 700 800 900 1000-0.5

0

0.5

1

1.5

2

2.5

3Error de convergencia

0 100 200 300 400 500 600-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Salidas Del Sistema

Datos esperados

Estimacion

Page 29: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 29

7.3 Caso general Con el fin de hacer una red neuronal genérica, se hace la implementación del filtro para esta condición. Con esto se busca tener una herramienta capaz de resolver una gama más amplia de problemas y hacerla en realidad viable para cualquier aplicación.

Para el caso de entrenamiento, se usa como datos de entrenamiento dos señales aleatorias no correlacionadas, con una amplitud al menos igual a la amplitud de la función objetivo, el objetivo es abarcar la mayor cantidad de puntos en el espacio de estados de la solución.

7.4 Aproximación de una ecuación diferencial Se realiza el entrenamiento para aproximar la solución de una ecuación diferencial de segundo orden para un sistema masa-resorte

Figura7-9 Sistema Masa Resorte

Se representa una masa m en una superficie sin fricción, colgando de un resorte para este modelo se conoce la bien conocida ecuación donde F es la fuerza, k la constate de elasticidad del resorte y x la deformación, esta ley es conocida como la ley de Hooke.

A partir de la segunda ley de newton se procede a hacer una sumatoria de fuerzas y con esto obtenemos la ecuación diferencial cuya solución será usada en el presente entrenamiento.

La solución de esta ecuación diferencial es:

(G. Zill)

Donde:

Page 30: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 30

7.5 Entrenamiento Para el entrenamiento se usan 2 conjuntos de datos con distribución normal media cero y varianza 10. Donde cada uno representa c1, y c2 respectivamente con una longitud de 8500 datos cada uno. El objetivo, es primero probar la red aproximando un conjunto de datos de validación, de las mismas características de la red.

Para este caso se tiene las siguientes características en la red y su entrenamiento:

Elemento Cantidad Entradas 2 Neuronas en capa oculta 15 Salidas 1 Datos para entrenamiento 8500 Datos para prueba 1500

Figura 7-10 Espacio De Soluciones Para El Sistema Masa Resorte

0 1000 2000 3000 4000 5000 6000 7000 8000 9000-50

-40

-30

-20

-10

0

10

20

30

40

Page 31: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 31

La combinación de estas 2 señales con la ecuación de la solución del sistema será la función objetivo con la forma:

Figura 7-11 Función De Entrenamiento Para El Sistema Masa Resorte

Figura 7-12 Detalle De La Función Objetivo Del Sistema Masa Resorte

0 1000 2000 3000 4000 5000 6000 7000 8000 9000-40

-30

-20

-10

0

10

20

30

40

Funcion Entrenamiento

1600 1650 1700 1750 1800-40

-30

-20

-10

0

10

20

30

40

Funcion Entrenamiento

Page 32: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 32

7.6 Validación Para la validación se toman datos aleatorios correspondientes al 15% de la cantidad de entrenamiento, esos datos fueron generados en el mismo momento que los datos de entrenamiento. Pero fueron separados para esta etapa.

Figura 7-13 Salida De La Red Neuronal Y Datos De Prueba

Figura 7-14 Detalle De La Salida De La Red Y Los Datos De Prueba

0 200 400 600 800 1000 1200 1400 1600-25

-20

-15

-10

-5

0

5

10

15

20Salida de la red y datos originales

Red

Datos

500 550 600 650 700

-15

-10

-5

0

5

10

Salida de la red y datos originales

Red

Datos

Page 33: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 33

El comportamiento del error es una función que tiende a decrecer mientras el filtro estima los parámetros óptimos, después de estos parámetros óptimos, la función crece, alejándose de los valores óptimos.

Figura 7-15 Comportamiento Del Error De Entrenamiento

7.7 Prueba de Generalidad de la red Una vez entrenada la red y seleccionados los pesos óptimos, la red debe estar en capacidad de aproximar datos de otra naturaleza, de esta manera se prueba con un set de datos de una amplitud menor.

Figura 7-16 Grafica De Prueba De Generalidad

0 1000 2000 3000 4000 5000 6000 7000 8000 90000

2000

4000

6000

8000

10000

12000Error durante el entrenamiento

2160 2170 2180 2190 2200 2210 2220

-10

-5

0

5

10

Datos validacion de generalidad

Red

Datos

Page 34: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 34

8 Conclusiones Y Trabajo Futuro

El método de entrenamiento usando el filtro de Kalman extendido posee un bajo costo computacional aunque no hay un método específico para determinar un criterio de parada que garantice la parada del algoritmo antes de revisar todos los datos con un resultado óptimo.

Se verificó la escalabilidad y generalidad del método de entrenamiento haciendo la estimación de una cantidad diferente de datos a los de entrenamiento y cambiando las magnitudes de las señales de entrada de la red.

El filtro de Kalman extendido es una herramienta capaz de recolectar la información del error de entrenamiento y convertirla en una valor de corrección de los pesos de una red neuronal. El esquema lo hace apto para el entrenamiento de redes neuronales en las cuales las señales poseen ruidos o perturbaciones.

Como trabajo futuro se sugiere probar con otros tipos de arquitecturas de redes neuronales, como redes neuronales recurrentes y adicionando modelos de estimación estocásticos.

Page 35: UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN · Pablo Andrés Deossa Molina Que se presenta anta la Facultad de Minas Universidad nacional de Colombia Sede Medellín En Cumplimiento

Página | 35

9 Bibliografía Andrews, Grewal. Kalman Filtering Theory And Practice Using Matlab. New York: Wiley, 2001.

G. Zill, Dennis. Ecuaciones diferenciales con problemas de valores en la frontera. Mexico: Thomson, 2006|.

Haykin, Simon. Neural Networks. A comprehensive Foundation. Pearson, India, 1999.

Mohammed, Dahleh, Dahled Munter A. and Verghse George. Lectures on dynamic Systems and Control. Massachusetts: Massachusetts Institute of Technology, 2007.

Sanchez Camperos, Edgar Nelson y Alanìs Garcia, Alma Yolanda. Redes Neuronales. Conceptos fundamentales y aplicaciones a control automatico. Guadalajara: Pearson, Prentice Hall, 2006.

Sum, John, y otros. «On the kalman filtering method in Neural-Network traning and pruning.» IEEE TRANSACTIONS ON NEURAL NETWORKS (1991).