Redes de Funciones de Base Radial Redes Neuronales Instituto Tecnológico Autónomo de México Otoño 2002 Osvaldo Comelli Arturo Garmendia Rafael Peñaloza Isis Pulido Aram Zamora Daniela Zenteno 0 Funciones de base radial Una función de base radial es una función cuya característica principal es que su respuesta disminuye (o aumenta) monótonamente con la distancia a un punto fijo llamado centro (o centroide). Éste centro, la métrica utilizada y la forma precisa de la función son parámetros de ésta. Una función de base radial típica es la Gausiana, que en su forma generalizada es: 1 h( x) exp ( x c) T · 1 ·(x c) donde 1 es la 2 matriz de “radios” de la función, ésta es la matriz de varianzas y covarianzas relacionada a la función Normal multivariada que se utiliza en estadística. Una propiedad de estas funciones es que forman una base para el espacio de funciones, es decir, cualquier función puede ser aproximada por medio de una combinación lineal de funciones de base radial (i.e. f ( x) wi ·hi ( x) ). Entonces, para un grupo de datos dado, podemos intentar construir una combinación lineal de este tipo que aproxime la función que generó estos datos. Para lograr esta aproximación, realizaremos una regresión, con la peculiaridad de que en lugar de usar como base a los monomios de distintos grados, utilizaremos funciones de base radial. Redes de Funciones de Base Radial Redes de Funciones de Base Radial Simples: Las redes de funciones de base radial simples tienen la arquitectura de un perceptrón de tres capas donde la capa oculta tiene tantas neuronas como datos hay en nuestra muestra (conjunto de entrenamiento). Las funciones de base radial corresponderán a cad una de las neuronas de la capa escondida. Si los datos de la muestra son de la forma (xi,di) i=1,...,n , generamos n funciones de base radial (hi(x) centradas en xi) y la matriz H como sigue: h1 ( x1 ) h2 ( x1 ) hn ( x1 ) h ( x ) h ( x ) h ( x ) 2 2 n 2 H 1 2 h1 ( x n ) h2 ( x n ) hn ( x n ) 1 Los pesos de la capa de entrada a la capa oculta están determinados por los patrones de entrada por la fórmula wk , j xk ,( j ) (es decir, la j-ésima entrada del k-ésimo vector). Suponemos que la función que generó los datos es de la forma f ( x) wi ·hi ( x) así, se puede ver que los pesos (wi) que aproximan la muestra minimizando el error cuadrático medio con respecto a los datos se obtienen resolviendo el sistema de ecuaciones: H ·w d así, si podemos garantizar que H es invertible, obtendremos w H 1 ·d . Ésta w será el vector de pesos de la capa oculta a la capa de salida. Para garantizar la invertibilidad de H, utilizamos el Teorema de Micchelli que dice que si los datos de entrada en la muestra son todos distintos, entonces H será de rango completo. Así, como podemos asegurar que los datos de entrada son todos distintos (ya que si no lo fueran, eliminamos las repeticiones), H es invertible y por lo tanto ya calculamos w. Así, la red ya ha sido entrenada. Redes de Funciones de Base Radial Generalizadas: Las redes generalizadas son prácticamente idénticas a las simples, con la diferencia de que se utilizan menos neuronas en la capa oculta, así, tenemos menos funciones de base radial y menos pesos, provocando con esto un aumento en la eficiencia de la red, pero disminuyendo su precisión. El número de neuronas en la capa oculta dependerá del problema, y se irá calculando intentando minimizar el error, así, existen distintos métodos para encontrar cuántas y cuáles funciones de base radial serán suficientes para tener un error razonablemente pequeño. En este caso nos topamos con la dificultad de que la matriz H no es cuadrada, y por lo tanto tampoco invertible, sin embargo, el teorema de Micchelli sigue siendo válido en este caso, por lo tanto, podemos asegurar que la matriz AT·A es invertible (ya que el rango de AT·A es igual al rango de A y A es de rango completo) y entonces calculamos la pseudoinversa, así, 1 w H T H ·H T ·d Aprendizaje de las Redes de Funciones de Base Radial En el aprendizaje se deben determinar: los centros (diferente para cada gaussiana) la varianza (común entre las gaussianas) los pesos que van de la capa escondida a la capa de salida Existen tres enfoques para el aprendizaje de las redes: 1)Selección Fija de Centros, Pesos y Varianzas. 2)Aprendizaje Auto-organizado de los Centros 3)Aprendizaje Supervisado Los dos primeros suponen funciones gaussianas normalizadas: 2 1 hc ( x) exp 2 x c donde c es el centro, es la varianza (lo que regula la anchura). El tercer caso, para más versatilidad considera el caso general de las gaussianas (ver página 1). 2 Selección Fija de Centros, Pesos y Varianzas CENTROS Debemos considerar dos casos: 1) Si se trata de una red simple FBR: El número de neuronas escondidas es el mismo que el número de muestras que tenemos en el conjunto de entrenamiento. Los Centros se fijan en los puntos de las muestra. 2) Si se trata de una red generalizada FBR: El número de neuronas escondidas m, se escoge tal que sea menor que el número de muestras del conjunto de entrenamiento. (Mientras más pequeña sea la m menor será la calidad de la aproximación). Se toman, aleatoriamente, m puntos del conjunto de entrenamiento que corresponderán a los centros. (Esto considerando que los datos del conjunto de entrenamiento están distribuidos en una forma representativa del problema). VARIANZAS La varianza de todas las funciones de base radial se fija en: 2m max d Esto garantiza que las funciones no sean demasiado chatas ni demasiados “picudas”. Como una alternativa, se pueden utilizar varianzas específicas para cada una de las gaussianas, con mayor (una mayor anchura) en regiones hay menor densidad de datos. PESOS Se calculan por la regla ya mencionada: w = ( HT H )-1 HT d Aprendizaje Auto-organizado de los Centros La varianza y los pesos se calculan de la misma forma que en la selección fija. Se escoge un valor m para el número de neuronas escondidas. Los m centros se determinan por un algoritmo de “clusters”. Lo que hace este algoritmo es colocar los centros en donde se encuentran los datos significantes del conjunto de entrenamiento. A grandes rasgos: 1.- Se inicializan los m centros al azar. 2.- Se elige un punto del conjunto de entrenamiento con cierta probabilidad. 3.- Se determina qué centro es el que se encuentra más cercano a este punto. 4.- El ganador se acercará al punto en cuestión en una proporción (tasa de aprendizaje) a la distancia que hay entre ellos. El resto de los centros permanecen igual. 5.- Se sigue este proceso hasta que no haya cambios relevantes en los centros. Aprendizaje Supervisado El primer paso es definir la función de error: 3 Pesos 1 N 2 e j E (n) 2 j 1 wi (n 1) wi (n) 1 donde N es el tamaño del conjunto de entrenamiento, y ej es la diferencia entre lo que wi (n) produce la red con la j-esima muestra Pesos y el valor deseado. Centros El resto del aprendizaje es tratar de minimizar esta función usando el máximo descenso resumen E ( n) E (n) dado por el gradiente. A continuación de los hay que wi (n 1)se muestra wi (n) un ci (cambios n 1) cque 1 i ( n) 2 wi (de n) cierta tolerancia. ci (n) hacer en cada iteración, hasta que el error caiga debajo Centros Varianza Pesos E (n) E (n) E (n) ci (n 1) ci (n) 2 i1 (n 1) i1 (n) 3 1 wi (n 1) wi (n) 1 ci (n) i (n) wi (n) Varianza Centros Un punto importante a considerar es la elección del valor de m. Se puede empezar con un número bajo de neuronas escondidas e ir aumentando una E (na) una hasta llegar al nivel de E (n) i1técnicas (n 1) estadísticas i1 (n) 3 para ci (nprecisión 1) ci (ndeseado. ) 2 Existen otras m en base al conjunto de i1 (estimar n) ci (n) entrenamiento del que se dispone, y al problema particular. En general el tamaño de m Varianza óptimo para un tamaño N dado de conjunto de entrenamiento es proporcional a N 1/3. E (n) i1 (Comparación n 1) i1 (n) entre 3 Redes i1 (n) FBR y el Perceptrón Multicapa 1. Una RBF tien sólo una capa escondida mientras que MLP puede tener varias. 2. La capa escondida de una RBF es no lineal mientras que las capa de salida es lineal. Mientras que en un MLP como clasificador las capas escondida y de salida usualmente son no lineales; y cuando MLP se usa para síntesis funcional la capa de de salida se elige como lineal. 3. El argumento de activación de la función de activación de uan neurona escondida de una RBF es una distancia euclidiana entre el vector entrante y el centro de esa unidad. En MLP el argumento de la función de activación de cada neurona escondida es un producto interno del vector de entrada con el de pesos. 4. MLPs construyen aproximaciones globales, pero las RBF construyen aproximaciones locales. E Bibliografía: http://www.dsp.pub.ro/articles.html http://neuralnetworks.ai-depot.com "Neural Networks. A Comprehensive Foundation”. Simon Haykin. Prentice-Hall, 1999" “Introduction to Radial Basis Function Networks”. Mark J. L. Orr, 1996 4