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

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

Página | 2

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
Página | 3

...........................................................1 Caso trivial ....................................................................... 35 Página | 4 ..............2.................................................................................... 26 7................................. 24 7............................................... 29 7..................................................2 Resultados: .......... 30 7.......................4 Aproximación de una ecuación diferencial .............7 Aplicación Entrenamiento De Una Red Neuronal Con Filtro De Kalman ...............................................5 Entrenamiento................................1 Prueba lineal ................................................................................................. 23 7.....................................................................................................................................................6 Validación................................. 32 8 Conclusiones Y Trabajo Futuro ..2................... 34 9 Bibliografía .................................................... 29 7...............................................................3 Caso general ........................... 23 7...............................................................2 Aproximación no lineal ...................... 24 7...........

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

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

el cual extiende el alcance a sistemas no lineales y posee bajo las condiciones adecuadas. Si bien los pesos de la red son nuestras variables a estimar y la salida de la red es la medición. Así el método de aprendizaje es el cómo calcular estos pesos. en este trabajo se desea hacer el entrenamiento basado en el filtro de kalman extendido. 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. En la literatura es amplio el campo de métodos para realizar este entrenamiento. ya que solo requiere de la información de estado anterior para sus estimaciones. la características de estimador optimo. podemos entonces hacer un entrenamiento óptimo basado en la salida de la red respecto a una referencia de entrenamiento.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. Página | 7 . 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. El aprendizaje se ve reflejado sobre los valores de los pesos sinápticos de la red.

Sin embargo. esto se debe a que si tenemos un sistema que cambie rápidamente debido a perturbaciones externas. Usualmente es implementada basada en componentes electrónicos o simulada en software en una computadora digital.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. pasa a ser una maquina que está diseñada para modelar una tarea particular del cerebro. aun después del aprendizaje de la tarea. El cerebro es una computadora de procesamiento paralelo. la neurona sigue en desarrollo. que es propenso por naturaleza para almacenar conocimiento experimental y hacerlo disponible para el uso. Su plasticidad le permite adaptar el sistema nervioso al entorno y memorizar o mecanizar la función.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. Una neurona en desarrollo presenta plasticidad.1 Introducción Las redes neuronales surgen del hecho que el procesamiento del cerebro humano difiere enormemente de la computación clásica digital. . 3.2. no se debe confundir este termino con robustez.3 ADAPTABILIDAD Una red ya entrenada tiene la capacidad de volverse a adaptar a nuevas condiciones. 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 Redes Neuronales: 3. conocidos como pesos sinápticos son usados para guardar el conocimiento adquirido. 3. El componente básico de este sistema.2. 3. Para un buen rendimiento una red neuronal es una interconexión masiva de célula de computo llamadas neuronas o “unidades de procesamiento”. así.2. “Una red neuronal es un procesador paralelo masivo distribuido compuesto por unidades simples de procesamiento. la red esta variando rápidamente. es la unidad básica de procesamiento. 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.2 Beneficios 3. la neurona. 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. En la forma más general una red neuronal. de alta complejidad y no lineal.

1 PESOS SINÁPTICOS Un conjunto de sinapsis o conexiones. paso o escalón. Figura3-1 Modelo Básico De Perceptron En esta representación se identifica tres componentes básicos de la neurona artificial.3 Modelos de neuronas Como se menciono antes.3.3. encargada de sumar las señales ponderadas por el efecto de los pesos sinápticos 3.3 FUNCIÓN DE ACTIVACIÓN La función de activación limita la amplitud de la salida de la neurona. sigmoidea La forma matemática de este sistema es: Ecuación 3-1 Modelo Matemático De Una Neurona Página | 9 .3. 3. Un diagrama de bloques ilustra el modelo de una neurona artificial.2 SUMADOR Es una función linear. la neurona es la unidad fundamental para la operación de una red neuronal. es multiplicada por el peso sináptico . donde cada uno está caracterizado por un peso. existen variedad de funciones como: Lineal. De manera que la señal en la entrada de la sinapsis j de la neurona k. 3.3. 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”.

por cada capa oculta añadida.3. cuando solo existe un nodo computacional o neurona antes de la salida.4 PERCEPTRON DE UNA CAPA Se denomina de una capa.3. la red es capaz de manejar información de ordenes mayores. Esto sin contar la capa de entrada de la red Figura 3-2 Perceptron De Una Capa 3. la función de las capas ocultas es intervenir entre la entrada y salida de la red.5 PERCEPTRON MULTICAPA Esta arquitectura presenta capas ocultas y sus elementos computacionales son conocidos como neuronas ocultas. Normalmente la salida de una capa oculta será la entrada de la siguiente Figura3-3 Perceptron Multicapa Página | 10 .3.

Adquirir nuevo conocimiento Para introducir el tema del aprendizaje se muestra un modelo simplificado del proceso de aprendizaje: •Datos de entrenamiento Aprendizaje •Entrenamieto •Pesos Ejecucion •Salida de la red Ambiente Base de conociminetos FIGURA4-1 MODELO SIMPLIFICADO DE APRENDIZAJE Ambiente: Es el entorno donde la RN se va a desenvolver. la experiencia y conocimiento de la red es almacenado en esta parte.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. para un RN serian los pesos de las neuronas Ejecución: Permite hacer el mapeo de otros datos. Almacenar el conocimiento 2. Los sistemas de IA deben poseer tres características. es el uso de la RN para el fin con el que fue entrenada Página | 11 . las cuales las RN cumplen a cabalidad (Haykin): 1. 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.1.4 Aprendizaje 4. Aplicar el conocimiento 3.

pero como se puede observar no hay forma de garantizar que la estimación es la mejor 4. la salida de la neurona k es llamada esta representa la única salida de la red.2 Métodos comunes de aprendizaje Existen una gran cantidad de métodos de aprendizaje o entrenamiento para las redes neuronales.4.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. 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. 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.2. 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 Página | 12 .

este ruido es gausiano con media cero Se define la matriz de covarianza del ruido como: Página | 13 .5 Filtro De Kalman 5. 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.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. Si se considera un sistema lineal dinámico. 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. El estimador resultante es estadísticamente óptimo con respecto a cualquier función cuadrática de estimación del error (Andrews). k denota el instante de muestreo.

La dependencia de la función de estimación no es estacionario. La función de costo es no negativa 2. que está definida por: Ecuación 5-3 Función De Costo Para Estimación Optima Donde es el operador esperado. con los siguientes requisitos: 1.1 ESTIMADOR DE ESPERANZA CONDICIONAL Si los procesos estocásticos y son gaussianos.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.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 de . La función de costo es una función no decreciente del error de estimación. 5. dadas las mediciones es un ruido aditivo. Los requisitos se satisfacen por la esperanza del error al cuadrado. Si es estimado posterior Para una estimación óptima se necesita una función de costo. entonces el estimado óptimo que minimiza el error medio cuadrático es el estimador de esperanza condicional: Página | 14 . 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. Los teoremas para deducir un valor optimo estimado para son: resalta que el proceso 5.1.1.1.

. son variables aleatorias normales el FK es un estimador óptimo 5. 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.2 Filtro de kalman extendido El filtro presentado en la sección anterior. 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. 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) Página | 15 .Principio de ortogonalidad y con media cero. Si . Pero este hecho no es común. supone un sistema dinámico lineal. normalmente los sistemas son no lineales. . tal que: Continuando con la ecuación de salida.

con matrices de covarianza . es la función matricial no lineal de transición que muy posiblemente varié en el tiempo. respectivamente. 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: Página | 16 . una vez conocido el modelo lineal.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. 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.

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.3 Filtro kalman extendido modificado o simplificado El algoritmo usado en este trabajo es el que se presenta a continuación. es la matriz de covariancia del ruido de medición.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. Página | 17 . es la matriz de ganancia de Kalman. es el vector de salidas estimadas. 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 la matriz de covariancia del ruido del proceso. en este caso particular. es el vector de salidas.

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). 5. Esto hace una caracterización completa de los estados conocidos del sistema. debido a que propaga la distribución entera de probabilidad de las variables que estima. Así que las distribuciones de probabilidad de este “conocimiento” del mundo real son acumulativas. Es un programa de computadora: La implementación digital usa la representación finita de un problema de estimación. El concepto es simple. Sin embargo el filtro asume las variables como números reales con precisión infinita. incluyendo los estados anteriores. entre los más comunes se genera la distinción entre problemas finitos y problemas de tamaños “manejables”. Sin embargo es una gran herramienta.es la matriz que contiene las derivadas parciales de la salida respecto a cada uno de los parámetros . como el mostrado en esta tesis. En un contexto limitado. es una herramienta matemática. Dado esto se puede encontrar algunos problemas. Es una caracterización estadística de un problema de estimación: El filtro de kalman. representan un aprendizaje. pero efectivo en algunos casos. Página | 18 . No es una herramienta física. se considera mucho más que un estimador.4 Consideraciones acerca del filtro de kalman Es solo una herramienta: El filtro de por si no resuelve ningún problema por sí mismo.

El algoritmo construido para esta tesis opera bajo la siguiente idea: Figura 6-1 Diagrama De Operación De La Red Página | 19 . provee una solución al problema lineal de filtrado optimo.6 Entrenamiento De Redes Neuronales Con Filtro De Kalman El filtro de kalman. formulado como un sistema dinámico lineal en ecuaciones de estado. La solución es recursiva. Esto hace que no sea necesario almacenar todos los datos. Este se aplica en ambientes estacionario como no estacionarios. 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. de forma que cada actualización de un estado es calculada a partir del estado anterior y el nuevo dato de entrada.

La distribución de 5000 datos con varianza de 5000 y media cero tiene la siguiente forma: 1400 1200 1000 800 600 400 200 0 -2 -1.1 DATOS DE ENTRENAMIENTO Los datos de entrenamiento deben ser en lo posible basados en números aleatorios.6.5 x 10 2 4 Figura 6-2 Distribución De Datos Aleatorios Para Entrenamiento Y el espacio de solución generado por esta distribución es: 2 1.5 0 0.5 -1 -0.5 1 1.5 -2 x 10 4 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Figura 6-3 Espacio De Solución De Los Datos De Entrenamiento Página | 20 . Este espacio de solución debe garantizar que la solución o función a estimar posteriormente por la red este contenida en este.5 1 0.5 -1 -1. al aplicar estos ruidos como entradas. se está ingresando una amplia gama de frecuencias y amplitudes.1.5 0 -0. lo que para la red implica una mayor cantidad de soluciones para aprender.

Leung y H. ver (Mohammed. claro está. El otro método es propuesto en la referencia (Sum. donde el mínimo ideal es ubicar el mínimo global. debido a esto se consulta alternativas para el cálculo de esta: 1. En realidad lo que se hace es buscar los mínimos de la función. los valores iniciales de los pesos son condiciones aleatorias. la ganancia de Kalman. Esta matriz puede presentar problemas de singularidad cuando tiende a ser de dimensiones muy grandes. multiplicada por la ganancia de kalman es sumada a los pesos de la estimación anterior. que minimice la diferencia entre la salida de la red y los datos de entrenamiento. 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. el estado anterior de la matriz P y la matriz de covarianza de ruido del proceso.4 DIFERENCIA ENTRE ESTIMACIONES La diferencia punto a punto entre los datos de entrenamiento y la salida de la red.3 ESTIMACIÓN La estimación del EKF penaliza los pesos de manera mayor los pesos relacionados con las derivadas que tengan mayor cambio. esta matriz la cual depende de H que son de las derivadas de la red respecto a los pesos. and George) Ecuación 6-1 Calculo De La Matriz P Con La Ecuación De Riccati 2.6. 6. Calculo de la matriz P con la ecuación de Riccati: Este desarrollo está basado en la implementación de mínimos cuadrados recursivos. 6.2 RED NEURONAL Las redes usadas en este trabajo son la arquitectura “feed forward”.1. La Ecuación 5-8 Actualización De La Covarianza Del Error calcula la matriz denominada como P. se asume que la estimación de ese peso es muy acertada y se procura no cambiarlo. Análogamente cuando la derivada es de valor pequeño. el EKF calcula los gradientes de la red neuronal respecto a los pesos. así cuando la diferencia de las salida tiende a cero. el peso con mayor gradiente. Young) donde se abarca el entrenamiento de redes con el EKF. esto implica que no se garantiza nuca que los pesos iniciales estén cerca de la solución de estimación. la actualización de los pesos se Página | 21 . Munter A.1.1. es el que se penaliza de una manera mayor. y tiende a corregir en la dirección de mayor cambio. Ecuación 6-2 Ecuación Alternativa Para Calcula La Matriz P En la estimación de los pesos.

Los pesos estimados son utilizados en la siguiente iteración para recalcular los valores antes mencionados 6.6 PESOS El resultado del entrenamiento total de la red se ve reflejado en los pesos estimados.5 ERROR En el algoritmo se programa dos tipos de errores. este error alcanza un valor mínimo.detiene. 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. para propósitos de análisis. Durante el proceso de estimación. Página | 22 . 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. el número de iteraciones o el error antes mencionado.1. el primero el error punto a punto utilizado en la diferencia entre estimaciones. en algún momento durante el entrenamiento. y en realidad no influye en el desarrollo de la estimación de los pesos.1. pero también se uso como criterio de parada para la estimación 6. hay dos factores de parada para el algoritmo. este ultimo error es solo usado como un indicador para ver la aproximación de la red.

Adicionalmente. se tratara de aproximar una función seno. aprovechando las propiedades del EFK. es decir se linealiza la función en cada punto. respecto a los pesos w es: Con Para los resultados haremos dos pruebas a esta red. se comienza por realizar el entrenamiento en una red básica.7 Aplicación Entrenamiento De Una Red Neuronal Con Filtro De Kalman 7. pero de las mismas características.1 Caso trivial Para probar la funcionalidad del método. Para esta parte. y se probara la red entrenada con otros 50 datos diferentes. Se entrenara la red con 100 datos correspondientes a una recta con pendiente 1 y cruce por el origen. A pesara de ser un caso trivial. se hará el procedimiento completo con el filtro extendido de kalman. De esta manera obtendremos: Que el jacobiano de la red Y. se entrena con mil datos y la red es probada con 500. una sola neurona con función de activación lineal de la siguiente forma: Donde U es la entrada. Página | 23 . w es el valor del peso sináptico y B el valor del bias de la neurona.

7.2.1 PRUEBA LINEAL Entrenando con los siguientes 200 datos: Datos de entrenamiento 200 Entrenamiento 180 160 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 140 160 180 200 Figura7-1 Datos De Entrenamiento Para Caso Lineal La evolución de la red por cada entrenamiento puede ser vista acá: Resultados de entrenamiento 300 280 260 240 220 200 180 160 140 120 100 0 10 20 30 40 50 60 Figura7-2 Entrenamiento De La Red Página | 24 .2 Resultados: 7.

5 2 1.5 3 2. Los cuales son resultados esperables.5 0 -0. Ya que lo que se busca es aproximar un recta de cruce por el origen con pendiente de 1.5 0 20 40 60 80 100 120 140 160 180 200 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. Página | 25 .Y el error de convergencia de la red es: Error de convergencia 3.5 1 0.

se introduce un conjunto de datos de forma periódica senoidal: Página | 26 .El resultado de la red ya entrenada.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. si se reemplaza los coeficientes arrojados por la red la ecuación que se obtiene es 7. probada con 50 datos interpolados diferentes a los de entrenamiento es: Salidas Del Sistema 260 Datos esperados Estimacion 250 240 230 220 210 200 0 10 20 30 40 50 60 Figura7-4 Salida de la red entrenada por EKF Es claro que la aproximación es muy buena y de comprobación trivial.2. ay que la ecuación de la recta esperada viene dada por .

4 0.5 -1 -1.8 0.Datos de entrenamiento 1 Entrenamiento 0.2 -0.5 0 -0.8 -1 0 100 200 300 400 500 600 700 800 900 1000 Figura7-5 Datos De Entrenamiento Para Caso No Lineal En el entrenamiento de la red.6 -0.5 0 100 200 300 400 500 600 Figura7-6 Entrenamiento De La Red Página | 27 .6 0. es posible ver como se hace la aproximación de la función: Resultados de entrenamiento 1 0.2 0 -0.4 -0.

4 -0.6 -0.8 0.2 -0. pero debido a la linealización del algoritmo en cada punto hace posible la estimación.8 -1 Datos esperados Estimacion 0 100 200 300 400 500 600 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. Página | 28 .5 1 0. el cual se queda oscilando con forma de la señal alrededor de cero: Error de convergencia 3 2.El error de convergencia.2 0 -0. probado con otros 500 datos diferentes: Salidas Del Sistema 1 0. Enfatizando que los datos de prueba son iguales a los de entrenamiento.4 0.6 0.5 0 -0. Para este caso la aproximación también es buena.5 0 100 200 300 400 500 600 700 800 900 1000 Figura7-7 Error De Convergencia El resultado de la red entrenada. esta prueba es un poco más exigente para la neurona. pero no confirma la generalidad de la red.5 2 1.

Zill) Donde: Página | 29 . con una amplitud al menos igual a la amplitud de la función objetivo.3 Caso general Con el fin de hacer una red neuronal genérica.7. el objetivo es abarcar la mayor cantidad de puntos en el espacio de estados de la solución. se hace la implementación del filtro para esta condición.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. k la constate de elasticidad del resorte y x la deformación. 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. se usa como datos de entrenamiento dos señales aleatorias no correlacionadas. colgando de un resorte para este modelo se conoce la bien conocida ecuación donde F es la fuerza. Para el caso de entrenamiento. esta ley es conocida como la ley de Hooke. 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. 7.

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. Para este caso se tiene las siguientes características en la red y su entrenamiento: Elemento Entradas Neuronas en capa oculta Salidas Datos para entrenamiento Datos para prueba Cantidad 2 15 1 8500 1500 40 30 20 10 0 -10 -20 -30 -40 -50 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Figura 7-10 Espacio De Soluciones Para El Sistema Masa Resorte Página | 30 .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.7. de las mismas características de la red.

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: 40 Funcion Entrenamiento 30 20 10 0 -10 -20 -30 -40 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Figura 7-11 Función De Entrenamiento Para El Sistema Masa Resorte 40 Funcion Entrenamiento 30 20 10 0 -10 -20 -30 -40 1600 1650 1700 1750 1800 Figura 7-12 Detalle De La Función Objetivo Del Sistema Masa Resorte Página | 31 .

Salida de la red y datos originales 20 Red Datos 15 10 5 0 -5 -10 -15 -20 -25 0 200 400 600 800 1000 1200 1400 1600 Figura 7-13 Salida De La Red Neuronal Y Datos De Prueba Salida de la red y datos originales Red Datos 10 5 0 -5 -10 -15 500 550 600 650 700 Figura 7-14 Detalle De La Salida De La Red Y Los Datos De Prueba Página | 32 . Pero fueron separados para esta etapa.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.

Error durante el entrenamiento 12000 10000 8000 6000 4000 2000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Figura 7-15 Comportamiento Del Error De Entrenamiento 7. alejándose de los valores óptimos. después de estos parámetros óptimos.El comportamiento del error es una función que tiende a decrecer mientras el filtro estima los parámetros óptimos. Datos validacion de generalidad Red Datos 10 5 0 -5 -10 2160 2170 2180 2190 2200 2210 2220 Figura 7-16 Grafica De Prueba De Generalidad Página | 33 .7 Prueba de Generalidad de la red Una vez entrenada la red y seleccionados los pesos óptimos. la función crece. 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.

Como trabajo futuro se sugiere probar con otros tipos de arquitecturas de redes neuronales.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. Página | 34 . como redes neuronales recurrentes y adicionando modelos de estimación estocásticos. El esquema lo hace apto para el entrenamiento de redes neuronales en las cuales las señales poseen ruidos o perturbaciones. 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. 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.

Dennis. Prentice Hall.» IEEE TRANSACTIONS ON NEURAL NETWORKS (1991). y otros.9 Bibliografía Andrews. Pearson. Dahled Munter A. «On the kalman filtering method in Neural-Network traning and pruning. A comprehensive Foundation. India. New York: Wiley. Alma Yolanda. Redes Neuronales. Guadalajara: Pearson. Simon. Dahleh. Edgar Nelson y Alanìs Garcia. Zill. 2007. 2006. 1999. and Verghse George. Ecuaciones diferenciales con problemas de valores en la frontera. John. Conceptos fundamentales y aplicaciones a control automatico. G. Lectures on dynamic Systems and Control. Neural Networks. Sanchez Camperos. Kalman Filtering Theory And Practice Using Matlab. Página | 35 . Sum. Grewal. Massachusetts: Massachusetts Institute of Technology. 2006|. Mexico: Thomson. Mohammed. 2001. Haykin.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.