Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Deficiencias Algoritmos
Deficiencias Algoritmos
Introduccin
Minsky y Papert (1969) demostraron que el perceptron simple (y Adaline) no pueden resolver problemas no lineales (como XOR). La combinacin de varios perceptrones podra resolver ciertos problemas no lineales pero no saban como adaptar los pesos de las capas ocultas Rumelhart y otros autores (1986) presentaron la Regla Delta Generalizada para adaptar los pesos propagando los errores hacia atrs (retropropagacin), para mltiples capas y funciones de activacin no lineales (Applet: http://neuron.eng.wayne.edu/software.html)
Introduccin
Se demuestra que el Perceptron Multicapa (MLP) es un APROXIMADOR UNIVERSAL Un MLP puede aproximar relaciones no lineales entre datos de entrada y de salida Es una de las arquitecturas ms utilizadas en la resolucin de problemas reales:
por ser aproximador universal por su fcil uso y aplicabilidad
Arquitectura
Capa de entrada: slo se encargan de recibir las seales de entrada y propagarlas a la siguiente capa Capa de salida: proporciona al exterior la respuesta de la red para cada patrn de entrada Capas ocultas: Realizan un procesamiento no lineal de los datos recibidos Son redes "feedforward": alimentadas hacia adelante Generalmente cada neurona est conectada a todas las neuronas de la siguiente capa (conectividad total)
Arquitectura
w111 wcij
Esta relacin se obtiene propagando hacia adelante los valores de las variables de entrada
Cada neurona de la red procesa la informacin recibida por sus entradas y produce una respuesta o activacin que se propaga, a travs de las conexiones correspondientes, hacia las neuronas de la siguiente capa.
u1c c u2 c c U = (ui ) = M c un c
aic
Activacin de la neurona i:
ac
i
i
c ij
u c +1
j
capa c+1 7
a cj +1
capa c
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007
donde
donde
Funcin de activacin
Las funciones ms utilizadas son
Funcin Sigmoidal - Tangente Hiperblica
10
Funcin de activacin
Ambas son crecientes con dos niveles de saturacin Normalmente f es comn a todas las neuronas La elige el diseador segn el valor de activacin que se desee [-1,1] o [0,1] Ambas funciones estn relacionadas:
f 2 ( x ) = 2 f1 ( x ) 1
El perceptron multicapa define, a travs de sus conexiones y neuronas, una funcin continua no lineal del espacio en el espacio
11
Diseo de la arquitectura
Hay que decidir: Funcin de activacin
Nos basamos en el recorrido deseado. No suele influir en la capacidad de la red para resolver un problema
12
13
Introduccn
Objetivo: Ajustar los pesos de la red para minimizar el error global
Salida deseada Salida
1 E= N
e( n )
n =1
1 nC e ( n ) = ( s i ( n ) y i ( n )) 2 2 i =1
Error para el patrn n
Problema de minimizacin no lineal Funciones de activacin no lineales hacen que la respuesta de la red sea no lineal respecto a los pesos Adaptacin de los parmetros siguiendo una direccin de bsqueda Direccin negativa del gradiente de la funcin de error E Hay otros mtodos de realizar la bsqueda: aleatoria, tcnicas evolutivas, etc
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007
14
Introduccn
El ajuste de los pesos se hace casi siempre por patrones (mtodos de gradiente estocstico): Sucesiva minimizacin de los errores para cada patrn e(n), en lugar de minimizar el error global Cada peso w se modifica para cada patrn de entrada n de acuerdo con la ley de aprendizaje:
w =
e(n) w e(n) w
w(n) = w(n 1)
15
e(n) 1 wC ji
[1]
Por tanto,
16
[2]
1 C 1 yi = aiC = f ( wC + uiC ) ji a j
nC 1 e(n) 1 C 1 1 = ( s ( n ) y ( n )) f ( wC + uiC )a C i i ji a j j 1 wC j =1 ji
[3]
17
18
e(n) C 2 wkj
19
i
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007
20
[5]
[6]
21
Sustituyendo [6] en [5] y de acuerdo con la definicin de asociado a la neurona j de la capa C-1:
e(n) 1 C 2 = C j ak C 2 wkj
22
Para modificar el peso wkj basta considerar la activacin de la neurona origen k y el trmino asociado a la neurona destino j
23
1 1 1 C 2 C 2 C = f ( wkj ak + u C ) iC wC j j ji i =1
24
Se generaliza para los pesos de cualquier capa c a la capa c+1 (c=1,2,.... C-2)
c c +1 c wkj (n) = wkj (n 1) + c j ( n ) ak ( n )
+1 u cj +1 (n) = u cj +1 (n 1) + c j ( n)
Basta tener en cuenta la activacin de la que parte la conexin y el trmino de la neurona a la que llega la conexin.
k
Redes de Neuronas. Perceptron Multicapa
ack wckj
c+1j
j
25
El trmino de una neurona j se calcula utilizando la derivada de su funcin de activacin y la suma de los trminos de las neuronas de la siguiente capa
c c +1 +1 c = f ( wkj ak + u cj +1 ) ic + 2 wc j ji k =1 i =1
nc
nc + 2
26
f1 ( x) =
1 1 + ex
f '1 ( x) =
1 (e x ) (1 + e x ) 2
f1' ( x) =
1 1 1+ e x 1 1 1+ e x 1 e x ( )= ( ) = x x x x 1 + e 1+ e 1+ e 1+ e 1+ ex 1+ ex 1+ ex
resulta:
iC = ( si yi ) yi (1 yi )
Jos M Valls 2007
Ultima capa
27
por tanto:
Resto de capas
c +1 j
=a
c +1 j
(1 a
c +1 j
) ic + 2 wcji+1
i =1
nc + 2
28
As, cada neurona oculta recibe un cierto error ( ) de cada neurona de salida, siendo la suma el valor de la neurona oculta.
29
iC = ( si yi ) yi (1 yi )
Para el resto de capas:
c c +1 c wkj ( n) = wkj ( n 1) + c j ( n) ak ( n)
+1 u cj +1 (n) = u cj +1 (n 1) + c j (n)
donde :
+1 +1 c + 2 c +1 c = a cj +1 (1 a c w ji j j ) i i =1
Redes de Neuronas. Perceptron Multicapa Jos M Valls 2007
nc + 2
30
w(n) = w(n 1)
+ w(n 1)
31
3.
32
1.
Se repiten los pasos 2, 3 y 4 para todos los patrones de entrenamiento, completando as un ciclo de aprendizaje Se evala el error total E (diapositiva 2) cometido por la red. Es el error de entrenamiento. (puede medirse el error medio o el error acumulado para todos los patrones) Se repiten los pasos 2, 3, 4, 5 y 6 hasta alcanzar un mnimo del error de entrenamiento, para lo cual se realizan m ciclos de aprendizaje. Puede utilizarse otro criterio de parada (pequea variacin del error de entrenamiento, aumento del error del conjunto de test, etc)
2.
3.
33
Idea intuitiva: Partiendo de un punto aleatorio W(0) del espacio de pesos, el proceso de aprendizaje desplaza el vector de pesos W(n-1) siguiendo la direccin negativa del gradiente del error en dicho punto, alcanzando un nuevo punto W(n) que estar ms prximo del mnimo del error que el anterior
34
Capacidad de generalizacin
No slo es importante saber si la red se adapta a los patrones de entrenamiento sino que hay que conocer cmo se comportar ante patrones no utilizados en el entrenamiento Hay que evaluar la capacidad de generalizacin
35
Capacidad de generalizacin
A veces, es necesario exigir menor ajuste a los datos de entrenamiento para obtener mejor generalizacin Para poder hacer esto, es necesario evaluar la capacidad de generalizacin a la vez que se realiza el entrenamiento, no slo al final Cada cierto nmero de ciclos de entrenamiento se pasa el conjunto de validacin (sin ajustar pesos) para medir la capacidad de generalizacin As puede medirse tanto la evolucin del error de entrenamiento como la de validacin
36
Capacidad de generalizacin
Situacin 1: Ambos errores permanecen estables despus de cierto nmero de ciclos El aprendizaje ha terminado con xito Nivel de generalizacin bueno
37
38
Sobreaprendizaje
El sobreaprendizaje puede deberse a un nmero excesivo de ciclos de aprendizaje Tambin puede deberse a un excesivo nmero de pesos o parmetros (de neuronas): se tiende a ajustar con mucha exactitud los patrones de entrenamiento, porque la funcin tiene muchos grados de libertad (muchos parmetros) Si los datos de entrenamiento tienen ruido, la funcin se ajusta al ruido impidiendo generalizar bien 5 neur. ocultas 20 neur. ocultas
39
40
Parlisis o saturacin
Se produce cuando la entrada total a una neurona toma valores muy altos (+/-): la neurona se satura y alcanza un valor prximo a 1 o a 0 El ajuste de los pesos es proporcional a yk(1-yk): es prcticamente 0 La red se estanca No es lo mismo que un mnimo local, aunque puede confundirse con esta situacin Cuando hay parlisis, puede ocurrir que despus de un tiempo el error siga bajando Para evitar la saturacin conviene comenzar con valores de pesos prximos a 0
41
f ( x) = sin(2 x) sin( x)
42
43
44
45