Maestría en Ciencias de la Computación INTELIGENCIA ARTIFICIAL Perceptrón Multicapa Dra. Rosa Maria Valdovinos Rosas Pr
Views 101 Downloads 3 File size 671KB
Maestría en Ciencias de la Computación INTELIGENCIA ARTIFICIAL
Perceptrón Multicapa Dra. Rosa Maria Valdovinos Rosas Presenta: J. Jair Vázquez Palma
Perceptrón Simple Limitaciones Resuelve solo problemas linealmente separables Es decir clasificar entre 2 clases (0,1)
Perceptrón Multicapa •El primer algoritmo de entrenamiento para las redes multicapa fue desarrollado por Paul Werbos en 1974. Al principio no fue Aceptada por la comunidad de los desarrolladores del Redes Neuronales.
•Fue asta los 80’s el Backpropagation redescubierto por David Rumelhart (1986), Geoffrey Hinton - Rolal Williams, David Parker y Yann Le Cun.
Perceptrón Multicapa La Perceptrón Multicapa surge de para resolver problemas que no son linealmente separables
Perceptrón Multicapa Pasos Aprendizaje (Propagación hacia delante, hacia atrás): a) Definir la Topología (numero de capas, función de activación o transferencia). b) Inicializar lo pesos aleatoriamente. c) Ingresar los patrones. d) Realizar la propagación. e) Comparar salidas. f) Calcular el error. g) Propagar hacia tras h) Actualizar pesos.
Perceptrón Multicapa Ingreso de los patrones
Perceptrón Multicapa Calculando Función Net
Perceptrón Multicapa Función de Transferencia. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Las más utilizadas son: Función sigmoidea: para obtener valores en el intervalo [0,1] casi nunca toca a 0 logsig salida positiva: f(n)=1/[1+e^(-n)] Función tangente hiperbólica Para obtener valores en el intervalo [-1,1] pasando por el 0. f(n)=[e^n - e^-n] / [e^n + e^-n]
Perceptrón Multicapa Aplicando Función de Transferencia. Salida positiva: f(n)=1/[1+e^(-n)]
Todo este proceso se realiza con cada una de las neuronas. •Función Net •Función de Activación Los resultados de la primera capa serán la entrada de la siguiente capa.
Perceptrón Multicapa El cambio de la topología de la red (número de capas) dependerá de la satisfacción del porcentaje de error, si el error no es satisfactorio se aumentara una capa capas a la Red Neuronal.
Podemos observar una tendencia. Se elige el numero que sea mas cerca a 1.
Perceptrón Multicapa Se comparan la salida Real con las Salida Esperada, si los resultados no son los adecuados se entrena la Red Neuronal.
Los resultados son diferentes, entonces se necesita aplicar el entrenamiento.
Perceptrón Multicapa Para conocer los valores tenemos:
esperados
ahora
Perceptrón Multicapa Aprendizaje: Tipo de aprendizaje Supervisado. La propagación se da desde la primera a la ultima capa hasta generar una salida Se calcula el error medio cuadrático: compara la salida real(a) con la salida deseada(t)
Las salidas de error se propagan hacia atrás, partiendo de la capa de salida hacia las neuronas que contribuyen directamente a la salida. BackPropagation.
Perceptrón Multicapa En backpropagation, el método general de entrenamiento se resume en los siguientes pasos: Pasos hacia delante: 1. Selecciona un vector de entrada desde el conjunto de entrenamiento. 2. Aplica esta entrada a la red y calcula la salida. Pasos hacia atrás: 3. Calcular el error entre la salida calculada y la salida deseada de la entrada usada. 4. Ajustar los pesos para que el error cometido entre la salida calculada y la salida deseada sea disminuido. 5. Se continua propagando el error hacia atrás y ajustando los pesos hasta que se alcance la capa de entradas. 6. Este proceso se repetirá con los diferentes datos de entrenamiento.
Perceptrón Multicapa Ajustando pesos: Regla Delta
La actualización de los pesos de la ultima capa se realiza mediante:
Nota: se ocupa cuando existe una sola salida.
Perceptrón Multicapa Ajustando pesos: Regla Delta
La actualización de los pesos entre las capas ocultas sería calculando el δ(delta) propagando hacia atrás desde la capa de salida. Zpj = resultado de la neurona
Nota: se ocupa cuando existen mas de una salida.
Perceptrón Multicapa Ejercicio
Asuma una función sigmoide para la función Z Asuma η =1y todos los pesos inicialmente a 1.0. Patron 1: 0, 0 o esperada 1
salida deseada
Patron 2: 0, 1 o esperada 0
salida deseada
El primer patrón de entrada 0, 0 salida 1
Perceptrón Multicapa Calculando el error:
Los nuevos pesos después de la primer par de entrenamiento se realiza mediante:
MAESTRIA EN CIENCIAS DE LA COMPUTACION INTELIGENCIA ARTIFICIAL EJERCICIO BACKPROPAGATION
UN EJEMPLO USANDO BACKPROPAGATION Sea la red
Asuma una función sigmoide para la función Z Asuma η =1y todos los pesos inicialmente a 1.0. Conjunto entrenamiento o patrones: Patron 1: 0, 0 salida deseada o esperada Patron 2: 0, 1 salida deseada o esperada
1 0
El caso del es ejemplo solo tiene una neurona en la salida y por tanto solo puede representar 2 clases, clase 0 y clase1. Aprendizaje Para el primer patrón de entrada 0, 0
1
MAESTRIA EN CIENCIAS DE LA COMPUTACION INTELIGENCIA ARTIFICIAL EJERCICIO BACKPROPAGATION
Pasos hacia delante: n2 = w25 x1 + w26 x2 + w27 (+1) = 1*0 + 1*0 + 1*1 = 1 n3 = w35 x1 + w36 x2 + w37 (+1) = 1*0 + 1*0 + 1*1 = 1 z2 = 1 / (1 + e-n2) = 1 / (1 + e-1) = 1 / (1 + 0.368) = 0.731 z3 = 1 / (1 + e-n3) = 1 / (1 + e-1) = 1 / (1 + 0.368) = 0.731 n1 = w12 z2 + w13 z3 + w14 (+1) = 1*.731 + 1*.731 + 1*1 = 2.462 z1 = 1 / (1 + e-n1) = 1 / (1 + e-2.462) = 0.921
Pasos hacia atrás: T = salida deseada. Z = salida real. Como la neurona 1 es de salida, entonces δ1 =Z1 (1−Z1) (T1 −Z`1) δ1 =0.921 (1 – 0.921) (1 – 0.921) = 0.00575 ΔpWji =ηδ pjZpi ΔW12 =ηδ1Z2= 1*0.00575*0.731 = 0.0042 ΔW13 =ηδ1Z3= 1*0.0575*0.731 = 0.0042 ΔW14 =ηδ1Z4= 1*0.00575*1 = 0.00575
Las neuronas 2 y 3 son unidades ocultas, entonces
donde el rango de k es 1 por existir solamente una neurona de salida. Luego, δ 2 =Z2(1−Z2) (δ1w12) = 0.731*(1-0.731)*0.00575*1= 0.00113 δ 3 =Z3(1−Z3) (δ1w13) = 0.731*(1-0.731)*0.00575*1= 0.00113
MAESTRIA EN CIENCIAS DE LA COMPUTACION INTELIGENCIA ARTIFICIAL EJERCICIO BACKPROPAGATION
Δpwji =ηδ pjZpi Δw25 =ηδ 2Z5 = 1*0.00113*0 = 0 Δw35 =ηδ 3Z5= 1*0.00113*0 = 0 Δw26 =ηδ 2Z6= 1*0.00113*0 = 0 Δw36 =ηδ 3Z6= 1*0.00113*0 = 0 Δw27 =ηδ 2Z7= 1*0.00113*1 = 0.00113 Δw37 =ηδ 3Z7= 1*0.00113*1 = 0.00113 De aquí los nuevos pesos después del primer par de entrenamiento son: W12 = 1.0042, W13 = 1.0042, W14 = 1.00575 W25 = 1, W26 = 1, W27 = 1.00113 W35 = 1, W36 = 1, W37 = 1.00113