Sie sind auf Seite 1von 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
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
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

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

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

Página | 6
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.

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

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

Página | 10
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:

Aprendizaje Ejecucion
•Datos de •Pesos
entrenamiento •Entrenamieto •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, 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

Página | 11
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
Página | 12
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:

Página | 13
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:

Página | 14
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)

Página | 15
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:

Página | 16
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,

Página | 17
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.

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

Página | 19
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:

1400

1200

1000

800

600

400

200

0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
4
x 10

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

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


4
x 10
2

1.5

0.5

-0.5

-1

-1.5

-2
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
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

Página | 21
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.

Página | 22
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.

Página | 23
7.2 Resultados:
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
Y el error de convergencia de la red es:
Error de convergencia
3.5

2.5

1.5

0.5

-0.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.

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

Página | 25
El resultado de la red ya entrenada, 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, 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:

Página | 26
Datos de entrenamiento
1
Entrenamiento
0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-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, es posible ver como se hace la aproximación de la función:

Resultados de entrenamiento
1

0.5

-0.5

-1

-1.5
0 100 200 300 400 500 600

Figura7-6 Entrenamiento De La Red

Página | 27
El error de convergencia, el cual se queda oscilando con forma de la señal alrededor de
cero:
Error de convergencia
3

2.5

1.5

0.5

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

Figura7-7 Error De Convergencia

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


Salidas Del Sistema
1
Datos esperados
0.8 Estimacion

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
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,
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.

Página | 28
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:

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

40

30

20

10

-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
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

-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

-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
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.

Salida de la red y datos originales


20
Red
Datos
15

10

-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

-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
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.

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.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.

Datos validacion de generalidad

Red
10 Datos

-5

-10

2160 2170 2180 2190 2200 2210 2220

Figura 7-16 Grafica De Prueba De Generalidad

Página | 33
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.

Página | 34
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).

Página | 35

Das könnte Ihnen auch gefallen