utp ia_2014-2_s10_redes de funciones de base radial
TRANSCRIPT
Inteligencia Artificial
(W0I9)
Sesión: 10
MSc. Ing. José C. Benítez P.
Redes de Funciones de Base Radial
2
Sesión 10. Redes de Funciones de Base Radial
� Introducción a las RFBR
� Modelo de neurona.
� Fundamentos de las RFBR.
� Arquitectura de las RFBR.
� Funciones de activación de la RFBR.
� Entrenamiento de las RFBR.
� Diseño de una RFBR.
� Aplicaciones de las RFBR.
� RFBR vs MLP
� RFBR en MatLab
3
Introducción a las RFBR
• Desarrolladas por Broomhead y Lowe (1988) y J. Moody y
C. Darken (1989)
• Las redes de función de base radial (RBFN) han sido
tradicionalmente asociados con funciones radiales en una
red de capa simple.
• Para este tipo de redes se crearon procedimientos para
entrenamiento de redes de función de base radial, los
cuales son mucho más rápidos que los métodos usados
para entrenar un perceptron multicapa.
• Emplea más neuronas que la Backpropagation.
• Trabajan mejor con un número mayor de vectores de
entrenamiento.
4
Introducción a las RFBR
• Rápido entrenamiento.
• Aprendizaje híbrido:
• No supervisado (capa de entrada).
• Supervisado (capa de salida)
5
Introducción a las RFBR
• Para la estructura de una red de base radial se requiere de
un procedimiento de entrenamiento de dos etapas:
En la primera etapa:
� Los parámetros dominantes de las funciones base son
determinados de una manera rápida por métodos no
supervisados, es decir, métodos que únicamente usan
datos de entrada y no datos objetivos.
En la segunda etapa:
� Se encuentra implicada la determinación de los pesos de la
capa de salida, con la solución de un problema lineal, la
cual también es de rápido cálculo.
6
Introducción a las RFBR
• Cada nodo de la capa de salida calcula una suma de pesos
de las salidas de los nodos de la capa oculta.
• En este tipo de redes es muy probable que se requiera una
estructura con un mayor número de neuronas, que por
ejemplo, la de backpropagation, pero tendremos una
mayor velocidad en el entrenamiento.
• Se utiliza para resolver problemas de Interpolación: Unir
puntos para lograr una función continua; y para problemas
de aproximación.
• El numero de nodos en la capa de entrada es igual al
numero de variables independientes, y el número de
nodos en la capa de salida es igual al número de variables
dependientes.
7
Introducción a las RFBR
• Tienden a tener buenas propiedades de interpolación.
• Pero no buenas propiedades de extrapolación.
• Para extrapolación un perceptrón multicapas resulta mejor.
8
Modelo de neurona
• Los modelos de redes tratados anteriormente están
basados en unidades (neuronas) que producen a la salida
una función lineal del producto escalar del vector de
entrada y el vector de pesos.
a = F( WP +b)
• Ahora consideraremos una clase dentro de los modelos
de las redes neuronales, en el cual la activación de las
unidades ocultas, esta determinada por la distancia entre
el vector de entrada y el vector de pesos
A = f(dist(W,P)*b)
9
Modelo de neurona
• Una neurona de base radial
recibe como entrada neta el
vector de distancia entre su
vector de pesos w y el vector
de entradas p multiplicado
por el bias b.
• La siguiente figura muestra
gráficamente una función de
base radial.
11
Modelo de neurona
Dentro de la arquitectura de la neurona se puede
notar que difiere con las estructuras anteriores
(antes era la suma de las entradas ponderadas).
12
Fundamentos de las RFBR
• En el sistema nervioso de los organismos biológicos se
encuentra la evidencia de neuronas cuyas características de
respuesta son locales o enfocadas para alguna región en el
espacio de entrada.
• Un ejemplo es la sensibilidad de orientación de las células
de la corteza visual, cuya respuesta es sensible a regiones
locales en la retina.
• Esto quiere decir que la activación de las unidades (la
respuesta de las células como son las neuronas o las
terminaciones nerviosas), o grupos de neuronas están
específicamente en una región y cumplen una función
especifica para una región.
14
Arquitectura de las RFBR
• Las RFBR, tiene una estructura feedforward de 3 capas, la
capa de entrada, la oculta y la capa de salida.
• Los nodos de la capa de entrada simplemente propagan
los valores a los nodos de la capa oculta.
• La salida de los nodos de la capa de entrada están
completamente conectados (fully conect) con los nodos
de la capa oculta.
• Una capa oculta de S1 neuronas, con funciones de
transferencia de campana de Gauss.
• La función de activación es una función de base radial.
• Una capa de salida de S2 neuronas, con funciones de
transferencia lineales.
17
Arquitectura de las RFBR
• Las conexiones entre la capa de entrada y la capa oculta
especifican el conjunto de funciones centro, los cuales son
denotados por Cij.
• Las funciones centro Cij pueden ser fijas antes del
entrenamiento de la red neuronal o leídos durante el
entrenamiento de la red.
• Cada nodo de la capa oculta calcula una distancia medida
entre el vector de entrada X y el vector centro C.
• Esta distancia es denotada por: || X – Cj || ( la distancia
medida normalmente se toma como la norma
Euclideana).
18
Arquitectura de las RFBR
• La Norma Euclideana
• Y luego se ejecuta una función no lineal:
φj = φ ( || X – Cj || )
donde φ es la función de base radial y φj denota la salida
del j-ésimo nodo de la capa oculta.
21
)( xxxT=
22
2
2
1 nxxxx +++= K
19
Arquitectura de las RFBR
Función de base radial
� La función toma un valor de 1 cuando la
entrada es cero.
� Así una neurona de base radial actúa
como un detector el cual tiene una salida
igual a 1 siempre que la entrada p es
idéntica al vector de pesos w (la entrada
es cero por que w=p => 1-1 = 0 ).
� La función de transferencia puede ser
utilizada cuando una neurona cuenta con
pesos y un bías.
20
Arquitectura de las RFBR
Función de base radial
La función de base radial comúnmente utilizada en las
RFBR es la función Gausiana:
Donde:
• xi y ci son los componentes de n dimensión del vector
de entrada x y el vector centro c, respectivamente.
• σ es el factor suavizante o el ancho del campo
receptivo (spread).
23
Diseño de una RFBR
Se eligen los centros de la funciones de base radial:
Ci donde i= 1, 2, ...,m1. m1 es el número de RBFs
Calcular de la salida de la función de base radial.
Donde:
Ci son los centros de las RBFs
σ es el ancho de campo receptivo
2
2
21)( σ
ij CP
i enf
−−
=
24
Diseño de una RFBR
Los parámetros de la segunda capa (lineal) se obtienen
mediante:
Donde:
G es la Matriz de Green dada por:
TGW =
[ ]TNtttT ,,,21K=
[ ]TNwwwW ,,,21K=
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
=
121
122212
112111
,,,
,,,
,,,
mNNN
m
m
CpGCpGCpG
CpGCpGCpG
CpGCpGCpG
G
L
L
L
MMM
25
Diseño de una RFBR
Los pesos en la segunda capa serán:
Donde: es la matriz pseudo inversa dada por:
La solución para W es:
TGW+=
+G
( ) TTGGGG
1−+ =
( ) TGGGWTT 1−
=
29
Diseño de una RFBR
Ejemplo:
Usando una red de base radial RBFN resuelva el problema de
la XOR. Los parámetros de la red son:
10
10
0
0
11
00
1
1
4433
2211
=
==
=
=
==
=
tPtP
tPtP
=
=
0
0
1
121 CC
122 =σ
30
Aplicaciones de las RFBR
• Las redes RBF son frecuentemente utilizadas para
resolver problemas de clasificación, aunque
generalmente son para problemas de Mapeo y
poseen capacidades de “aproximación universal”.
• También se utiliza en:
� Reconocimiento de rostro
� Sensores de olor
� Clasificación de imágenes en color
� Predicción
� Aplicación en series de tiempo
31
RFBR vs MLP
• Las RBFN y Perceptron multicapa (MLP) son ejemplos de
redes multicapa no lineales Feedforward.
• Ambas son aproximadores universales.
• Una red RBFN es capaz de resolver un mismo problema que
un MLP y viceversa.
• Una RBFN en su forma básica tiene una sola capa oculta
mientras que un MLP puede tener una o mas capas ocultas.
• La capa oculta de una RBFN es no lineal , mientras que la
capa de salida es lineal. Sin embargo la capa oculta y la capa
de salida de un MLP son usualmente no lineales cuando se
usa como clasificador de patrones. Cuando MLP se usa para
regresión lineal la capa de salida es preferida lineal.
32
RFBR vs MLP
• Los argumentos de la función de activación en cada
unidad oculta de una RBFN calcula la Norma Euclidiana
(distancia) entre el vector de entrada y el centro de esa
unidad. Mientras que para el MLP calcula el producto
punto del vector y el vector de pesos de cada unidad.
• El MLP construye aproximaciones globales a un mapeo
no lineal de entrada salida. Mientras que las RBFN usan
funciones Gaussianas las cuales constituyen
aproximaciones locales a un mapeo no lineal entrada
salida.
35
RFBR en MatLab
Función de Base Radial:
A= RADBAS(n) = exp(-n)2
SOLVERBE crea una red de base radial la cual realiza un
exacto mapeo de la entrada a la salidas con tantas
neuronas en la capa oculta como vectores de entrada P.
[W1,B1,W2,B2] = SOLVERBE(P,T,Z)
P - matriz RxQ de Q vectores de entrada.
T - matriz SxQ de Q vectores objetivo.
Z - ancho del campo receptivo (Spread) de las funciones
de base radial (default = 1).
36
RFBR en MatLab
[W1,B1,W2,B2] = SOLVERBE(P,T,Z)
Devuelve:
W1 - matriz de pesos S1xR para la capa de base radial.
B1 - vector de umbral S1x1 para la capa de base radial.
W2 - matriz de pesos S2xS1 para la capa linear.
B2 - vector de umbral S2x1 para la capa linear.
37
RFBR en MatLab
SOLVERBcrea una red de base radial de una neurona a la vez; las
neuronas son adicionadas a la red hasta que encuentra
el error mínimo cuadrático o caen en nuestro margen
de error o cuando se ha creado un numero máximo de
neuronas.
[W1,B1,W2,B2,TE,TR] = SOLVERB(P,T,DP)
P - matriz RxQ de Q vectores de entrada.
T - matriz SxQ de Q vectores objetivo.
DP - Parámetros de diseño (opcional).
38
RFBR en MatLab
[W1,B1,W2,B2,TE,TR] = SOLVERB(P,T,DP)
Devuelve:
W1 - matriz de pesos S1xR para la capa de base radial.
B1 - vector de umbral S1x1 para la capa de base radial.
W2 - matriz de pesos S2xS1 para la capa linear.
B2 - S2x1 vector de umbral para la capa lineal.
NR - El numero de neuronas de base radial usadas.
TR - récord de entrenamiento : [fila de errores]
39
RFBR en MatLab
%EJEMPLO: Aproximación de Funcionesclear;
echo on;
clc;
NNTWARN OFF;
% Diseña una RBFN para aproximar una función coseno
t=0:0.3:6;
y= cos(t);
%conjunto de puntos de una funcion coseno
[w1,b1,w2,b2]=solverb(t,y)
echo off
40
RFBR en MatLab
%EJEMPLO: Solución de la OR-EXCLUSIVA
clear;
echo on;
clc;
NNTWARN OFF;
% RBFN soluciona OR-Exclusiva
P = [0 0 1 1 ;
0 1 0 1];
T = [0 1 1 0 ];
disp_freq= 1;
max_neuron= 1000;
err_goal= 0.02;
spread= 1.0;
41
RFBR en MatLab
dp=[ disp_freq max_neuron err_goal spread ]
[W1,b1,W2,b2,nr,dr]=solverb(P,T,dp)
[a1,a2]=simurb(P,W1,b1,W2,b2)
pause % pulse una tecla para graficar.
plotpv(P,T);
plotpc(W2,b2);
echo off
Preguntas
El resumen con mapas conceptuales solicitado de la Sesión al
menos debe responder las siguientes preguntas:
1. ¿Qué es una RFBR?.
2. ¿Cuáles son las características de las RFBR?.
3. ¿Cuál es la arquitectura de las RFBR?.
4. ¿Cuáles son las funciones de activación de las RFBR?.
5. Explicar el funcionamiento de las RFBR.
6. Describir el algoritmo de entrenamiento de las RFBR.
7. Describir las limitaciones de las RFBR.
8. Comparar las RFBR y MLP.
9. Listar ocho aplicaciones de las RFBR.
42
Resumen
Las Tareas que no cumplan las
indicaciones no serán considerados
por el profesor.43
� Realizar un resumen mediante mapas conceptuales (CMapTools)
de esta diapositiva.
� Serán mejor consideradas los resúmenes que tengan información
extra a esta diapositiva.
� Las fuentes adicionales utilizadas en el resumen se presentarán
en su carpeta personal del Dropbox y deben conservar el nombre
original y agregar al final _S10.
� Las fuentes y los archivos *.cmap deben colocarse dentro de su
carpeta personal del Dropbox, dentro de una carpeta de nombre:
IA_PaternoM_S10
Preguntas
44
El resumen con mapas conceptuales solicitado de la Sesión al
menos debe responder las siguientes preguntas:
1. ¿Qué es un SOFM?.
2. ¿Cuáles son las características de un SOFM?.
3. ¿Cuál es el objetivo de un SOFM?.
4. Describir las fases de operación de un SOFM.
5. Explicar el funcionamiento de los SOFM.
6. Describir el algoritmo de entrenamiento de un SOFM.
7. Describir las limitaciones de los SOFM.
8. Listar cinco aplicaciones de las SOFM.