La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.

Presentaciones similares


Presentación del tema: "1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas."— Transcripción de la presentación:

1 1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas.

2 2 Problema no separable linealmente ¿Cuál es el tamaño de cada capa?

3 3 Problema no separable linealmente La idea es aplicar un descenso en la dirección del gradiente sobre la superficie de error expresada como una función de los pesos. Deberán tenerse en cuenta los pesos de los arcos que unen AMBAS capas. Dado que el aprendizaje es supervisado, para los nodos de salida se conoce la respuesta esperada a cada entrada. Por lo tanto, puede aplicarse la regla delta vista en el Combinador Lineal.

4 4 Backpropagation. Arquitectura

5 5 Backpropagation Dado el siguiente conjunto de vectores que son ejemplos de correspondencia funcional se busca entrenar la red para que aprenda una aproximación

6 6 Backpropagation. Capa Oculta Patrón de entrada Entrada neta de la j-ésima neurona de la capa oculta Salida de la j-ésima neurona de la capa oculta

7 7 Backpropagation. Capa de Salida Entrada neta de la k-ésima neurona de la capa de salida Salida de la k-ésima neurona de la capa de salida

8 8 Actualización de pesos Error en una sola unidad de la capa de salida donde –y es la salida deseada –o es la salida real. –p se refiere al p-ésimo vector de entrada –k se refiere a la k-ésima unidad de salida

9 9 Actualización de pesos Se busca minimizar se tomará el valor negativo del gradiente

10 10 Actualización de pesos Peso del arco que une la neurona j de la capa oculta y la neurona k de la capa de salida Salida de la neurona oculta j

11 11 Actualización de pesos Por lo tanto, para la capa de salida se tiene

12 12 Actualización de pesos donde  se denomina parámetro de velocidad de aprendizaje

13 13 Función de Activación Hay dos formas de la función de salida que tienen interés a) b) Derivadas a) b)

14 14 Actualización de pesos Por lo tanto, si se utiliza a) y si se utiliza b)

15 15 Actualización de pesos Corrección para los pesos de los arcos entre la capa de entrada y la oculta serán de la forma:

16 16 Backpropagation. Entrenamiento Aplicar un vector de entrada y calcular su salida. Calcular el error. Determinar en qué dirección (+ o -) debe cambiarse los pesos para reducir el error. Determinar la cantidad en que es preciso cambiar cada peso. Corregir los pesos de las conexiones. Repetir los pasos anteriores para todos los patrones hasta reducir el error a un valor aceptable.

17 17 Backpropagation. Resumen Aplicar el vector de entrada Calcular los valores netos de las unidades de la capa oculta Calcular las salidas de la capa oculta

18 18 Backpropagation. Resumen Calcular los valores netos de las unidades de la capa de salida Calcular las salidas

19 19 Backpropagation. Resumen Calcular los términos de error para las unidades ocultas

20 20 Backpropagation. Resumen Se actualizan los pesos de la capa de salida Se actualizan los pesos de la capa oculta Repetir hasta que el error resulte aceptable

21 21 Problema del XOR P = [ -1 -1 1 1; -1 1 -1 1]; T = [ 0 1 1 0 ]; T2 = [-1 1 1 -1]; plotpv(P,T);

22 22 Pesos iniciales [Entradas, CantPatrones] = size(P); Ocultas = 2; Salidas = 1; % Inicializar la red w1 = rand(Ocultas,Entradas) – 0.5 * ones(Ocultas,Entradas); b1 = rand(Ocultas,1) - 0.5 * ones(Ocultas,1); w2 = rand(Salidas,Ocultas) - 0.5 * ones(Salidas, Ocultas); b2 = rand(Salidas,1) - 0.5 * ones(Salidas,1);

23 23 Calcular la salida de la BPN y graficar netah = w1*P+b1*ones(1,CantPatrones); salida = [ ]; salida = w2 * tansig(netah) + b2; linea = plotpc(w1, b1); ErrorSalida = (T2 - salida); AVGError = sum(ErrorSalida.^2);

24 24 alfa = 0.02; CotaError = 0.001; MAX_ITERA = 1000; itera = 0; while ( AVGError > CotaError ) & ( itera <= MAX_ITERA ); for patr=1:CantPatrones; % Calcular el error de c/u de las neuronas de salida % Calcular el error de c/u de la neuronas ocultas % actualizar los pesos (W y B) end; % Graficar la recta % Recalcular AVGError end;

25 25 Términos de error Calcular los términos de error para las unidades ocultas

26 26 Funciones de Activación

27 27 Funciones de Activación

28 28 Error de cada capa netah=[ ]; netah = w1*P(:,patr) + b1; salida = [ ]; salida = w2 * tansig(netah) + b2; ErrorSalida =[ ]; ErrorSalida = (T2(patr)-salida); ErrorOculta=[ ]; ErrorOculta = (1-tansig(netah).^2).* (w2' * ErrorSalida);

29 29 Actualización de los pesos % actualizar los pesos (W y B) w2 = w2 + alfa * ErrorSalida * tansig(netah)'; b2 = b2 + alfa * ErrorSalida; w1 = w1 + alfa * ErrorOculta * P(:,patr)' ; b1 = b1 + alfa * ErrorOculta;

30 30 Problemas La capacidad de generalización de la red está relacionada con la cantidad de neuronas de la capa oculta. El descenso por la técnica del gradiente tiene el problema de caer en un mínimo local.

31 31 Capacidad de generalización RN formada por una única neurona. Los puntos sólidos corresponden a los patrones de entrenamiento y los demás a testeo. La clasificación es correcta. En este caso se dice que le red ha generalizado la información correctamente.

32 32 Sobreajuste de la superficie de decisión RN que utiliza dos neuronas ocultas. Cada hiperplano busca la mayor proximidad a los patrones. Algunos patrones se clasifican incorrectamente. En este caso se dice que le red NO ha generalizado la información correctamente. Overfitting

33 33 Sobreajuste de la superficie de decisión A mayor cantidad de neuronas en la capa oculta, la red puede variar más rápido en respuesta a los cambios de la entrada.

34 34 ¿Mínimo local o global? El problema se resuelve utilizando la dirección del gradiente junto con un componente aleatorio que permita salir de los mínimos locales (subiendo en lugar de bajar).

35 35 Velocidad de aprendizaje El término de momento –  maneja la veloc.de aprendizaje. –Si su valor se incrementa demasiado, la red puede desestabilizarse. –Una forma de solucionar esto es incorporar, a la modificación de los pesos, un término que incluya una proporción del último cambio realizado. Este término se denomina momento.

36 36 Término de momento La regla será El parámetro representa la contribución del término de momento.


Descargar ppt "1 Problema no separable linealmente Se busca obtener un algoritmo más general que permita integrar el aprendizaje entre las dos capas."

Presentaciones similares


Anuncios Google