Redes Neuronales de Retropropagación REDES NEURONALES PARA MODELOS DE CLASIFICACION Redes Neuronales de Retropropagación Mg. Samuel Oporto Díaz
Tabla de Contenido Neuronas Artificiales Análisis de las Redes Neuronales
PERCEPTRON MULTICAPA
Perceptron Multicapa 1 2 3 4 5 7 6 Wij1 Wij2 u1 u2 y1 y2 Wij3 Representación ordenada Werbos (1972) Red lineal Activaciones dependen: entradas activaciones de neuronas precedentes Derivadas ordenadas backpropagation 1 2 3 4 5 7 6 Wij1 Wij2 u1 u2 y1 y2 Wij3 u1 u2 y1 y2 1 2 3 4 5 6 7
Perceptron Multicapa w11=1 w12=1 w21=1 w22=1 w31=1 w32=-1.5 b1=0.5 b2=1.5 b3=0.5
RED DE RETROPROPAGACION
Retropropagación Procedimiento para encontrar el vector gradiente de una función error asociada a la salida de la red con respecto a los parámetros de la misma El nombre backpropagation surge pues el cálculo se hace en el sentido inverso de la red, propagándose desde los nodos de salida hacia los nodos de entrada Esto permite poder aplicar a posteriori alguno de los muchos métodos de optimización con gradiente para obtener el comportamiento deseado de la red
Retropropagación f() b net =ok(n) yk(n) dk(n) entradas Pesos k = capa sumatoria constante b función de transferencia resultado net =ok(n) salida calculada yk(n) x1(n) wk1 (n) x2(n) x3(n) wk2 (n) wk3 (n) ek(n) = dk(n) – yk(n) deseada dk(n) ek(n)
Función de transferencia
Funciones de transferencia
Aprendizaje j i entrada neta a i salida de i error de la salida k error total regla de aprendizaje η: velocidad de aprendizaje
Regla de Aprendizaje Si j es una unidad de salida Si no
ANALISIS DE LAS ANN
Propiedades: Mapeo Universal Pregunta: Qué tipo de funciones puedo representar con una ANN? La idea se remonta al problema #13 de Hilbert (1900). Representar función de N variables como combinación lineal de funciones en una variable (bajar dimensionalidad del problema) Respuesta: Puedo representar el conjunto de funciones “suaves”. Hay varias pruebas para diferentes arquitecturas Kolgomorov (1957) Cybenko (1960) Hornik (1989) Chen (1991)
Propiedades: Mapeo Universal Idea: Usando red con 2 capas ocultas es posible crear funciones tipo localizadas que combinadas pueden formar cualquier función “suave” Prueba intuitiva: Fácil de ver en R2 R. Red: y = ANN (x1,x2) Paso 1: Que mapeo obtengo con una sola neurona? y = logsig(.x1) y = logsig(.x2)
Propiedades: Mapeo Universal x1 1 y b -b -1 Paso 2: Uso Perceptron Multicapa Puedo lograr “pico” en cualquier valor de x1 con red de 1 sola capa oculta el ancho del pico depende del valor de b. Puedo hacer lo mismo con x2.
Propiedades: Mapeo Universal Paso 3: Agrupo redes en cada entrada en una sola red para combinar picos en x1 y x2. Ajustando parámetros puedo obtener un pico bien definido centrado en cualquier punto de R2. x1 1 y b -b -2 x2
Propiedades: Mapeo Universal x1 Paso 4: Agregando una capa adicional 2 capas ocultas Combinando estos picos se puede aproximar cualquier función de R2 R con el grado de error que desee. -a b1 1 1 c1 1 a x2 1 -a d1 f1 1 e1 1 -2 y a x1 -a bn 1 fn 1 cn 1 a x2 1 -a dn 1 1 en -2
Teorema de Kolmogorov Dada cualquier función continua f: [0 1] n R m, y = f(x), f puede ser implementada exactamente por una red neuronal de tres capas sin retroalimentación que tiene una capa de entrada de n elementos que unicamente copian las entradas a la siguiente capa, (2n + 1) elementos de procesamiento en la capa intermedia y me elementos de procesamiento en la capa de salida
Mapeo no lineal Una red de retropropagación intenta encontrar un mapeo no lineal entre el espacio de entradas de n dimensiones y el espacio de salida de m dimensiones. Este mapeo se induce a través de patrones de entrenamiento que son puntos correspondientes en los espacios de entrada y salida. x1 y1 x3 y3 y2 x2 x4 y4
Sobreajuste y subajuste La red de retropropagación es en cierta medida un método de ajuste de curvas. La red ya entrenada implementa un mapeo no lineal entre el espacio de entradas y salidas de manera que entradas cercanas entre sí producen salidas cercanas, por lo tanto una ANN es interpolativa.
Subajuste La red produce un mapeo mas sencillo de lo que se requiere para implementar la relación entrada/salida Sintoma. Error alto. Solución. Aumentar los ciclos de entrenamiento, más neuronas capa intermedia, más capas
Sobreajuste La red produce un mapeo más complicado de lo que se requiere para implementar la relación entrada/salida. Sintoma. Error ante patrones de entrenamiento pequeño y error ante patrones de prueba alto. Solución. Menos ciclos de entrenamiento, menos capas, menos neuronas
Epoca Pasar varias veces los patrones de entrada a la red.
Offset de f’ Normalización de datos Las funciones de transferencia sigmoidal o tangente hiperbólica se pueden saturar, se saturan cuando los valores absolutos de sus entradas son grandes. Dado que la derivada participa en la regla de aprendizaje, puede suceder que ya no aprendan. Normalización de datos
EFECTIVIDAD DEL CLASIFICADOR
Validación Cruzada de k-conjuntos características . . . . . . Entrenamiento eficacia 1 Promedio eficacia 2 eficacia 3 eficacia K Experimento 1 Experimento 2 Experimento 3 Experimento K total de ejemplos prueba entrenamiento
PREGUNTAS
Mg. Samuel Oporto Díaz soporto@aurigacorp.com.pe http://www.wiphala.net/courses
PARTE III APRENDIZAJE ARTIFICIAL
Aprendizaje Supervisado Por Corrección de Error wk1 (n) x1(n) Activation function Local Field vk(n) Output yk(n) wk2 (n) x (n) x2(n) Summing function wk3 (n) ek(n) = dk(n) – yk(n) x3(n) Synaptic weights
A.S. Por Corrección de Error Si n es SIGMOIDEA : n = ( 1+ e –m) –1 ∂ n = - ( 1+ e –m ) -2 e -m (-1) = n (1 – n ) ∂ m ∂ Y = W11 n ( 1 – n ) X1 ∂ V11 ∂ J = (Y1-y1 ) W11 n11 (1- n11) X11 + (Y2 - y2 ) W11 n12 (1- n12) X12 + …. A.S. Por Corrección de Error ∂ J = (Y1- y1 ) ∂Y1 / ∂V11 + (Y2 - y2 ) ∂Y2 / ∂V11 + …. ∂ V11 ∂ Y = W11 ∂n1 / ∂V11+ W21 ∂n2 / ∂V11+ W31 ∂n3 / ∂V11 ∂ n1 = ∂ n1 ∂ m1 = ∂ n1 x1 ∂ V11 ∂ m1 ∂ V11 ∂ m11 m1 Pesos o Coeficientes Vij , Wij v11 n1 x1 w11 v12 v13 m2 n2 w21 Y w31 v21 v22 m3 n3 x2 v23 Y = f(n1w11 + n2w21 + n3w31) m1 = x1 . v11 + x2 . v21 Error(n) = y(n) - Y(n) n1 = f ( m1)
A.S. Por Corrección de Error Dados Iniciales = Experiencia de la RN
A.S. Por Corrección de Error : Umbral de aprendizaje que regula la velocidad de precisión (0 < <= 1) Yi : Salida del i-esimo Nodo Yj : Salida del j-esimo Nodo dj : Valor de salida deseado de la j-esima unidad de procesamiento
A.S. Por Corrección de Error El aprendizaje consiste en mejorar los coeficientes de la red hasta minimizar la FUNCION DE ERROR dada por J = Σ 1 / 2 (Yk - y k ) 2 Wij = Wij - η ∂ J ∂Wij Ratio de Aprendizaje
Algoritmo BackPropagation +1 +1 P a t r o n e s ej(n) = dj(n) - yj(n) Camada de Entrada Camada de Saída Camada Escondida
Algoritmo BackPropagation (W) En Particular : W11 = W11 - η ∂ J ∂W11 ∂ J = (Y1-y1 ) ∂Y1 / ∂W11 + (Y2 - y2 ) ∂Y2 / ∂W11 + …. ∂ W11 = (Y1 - y1 ) n11 + (Y2 - y2 ) n12 + …. En General : ∂ J = Σ(Yk - yk ) njk ∂ Wj1
Algoritmo BackPropagation (V) En Particular : V11 = V11 - η ∂ J ∂V11 ∂ J = (Y1- y1 ) ∂Y1 / ∂V11 + (Y2 - y2 ) ∂Y2 / ∂V11 + …. ∂ V11 ∂ Y = W11 ∂n1 / ∂V11+ W21 ∂n2 / ∂V11+ W31 ∂n3 / ∂V11 ∂ n1 = ∂ n1 ∂ m1 = ∂ n1 x1 ∂ V11 ∂ m1 ∂ V11 ∂ m11 Si n es SIGMOIDEA : n = ( 1+ e –m) –1 ∂ n = - ( 1+ e –m ) -2 e -m (-1) = n (1 – n ) ∂ m ∂ Y = W11 n ( 1 – n ) X1 ∂ V11 ∂ J = (Y1-y1 ) W11 n11 (1- n11) X11 + (Y2 - y2 ) W11 n12 (1- n12) X12 + ….
Algoritmo BackPropagation REGLA DELTA : ∂ J . ∂ V11 Error Retropropagado Entrada Correspondiente = * Error * Peso * f ’ X1 = * (Y1 – y1) * W11 * n1 (1 –n1) X1 = *
Ejemplo x1 y1 x2 y2 u11 m1 n1 w11 w12 u12 u21 w21 u22 m2 n2 w22 W11 = W11 + η (y1 - ÿ1) n1 W12 = W12 + η (y2 - ÿ2) n2 U11 = U11 + η [ (y1 - ÿ1) W11 + (y2 - ÿ2) W12 ] * n1(1-n1) * x1
Ejercicios x1 y1 x2 y2 u11 m1 n1 v11 p1 q1 w11 w12 u12 v12 u21 v21 w21 U12 = U12 + η [ error * peso * f’ ] * x1 U12 = U12 + η [ ( (y1-ÿ1) W11 + (y2-ÿ2) W12 )* q1(1-q1) * V21 + ( (y1-ÿ1) W21 + (y2-ÿ2) W22 )* q2(1-q2) * V22 ] n2 (1-n2) * x1