Red Neuronal Perceptron Multicapa

21

Click here to load reader

description

Presentación del funcionamiento de la red neuronal perceptron multicapa, ejercicio que muestra el procedo de propagación.

Transcript of Red Neuronal Perceptron Multicapa

Page 1: Red Neuronal Perceptron Multicapa

Maestría en Ciencias de la Computación

INTELIGENCIA ARTIFICIAL

Perceptrón MulticapaDra. Rosa Maria Valdovinos RosasDra. Rosa Maria Valdovinos Rosas

Presenta: J. Jair Vázquez Palma

Page 2: Red Neuronal Perceptron Multicapa

Perceptrón SimpleLimitaciones

Resuelve solo problemas linealmente separablesEs decir clasificar entre 2 clases (0,1)

Page 3: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa•El primer algoritmo de entrenamiento paralas redes multicapa fue desarrollado por PaulWerbos en 1974. Al principio no fue Aceptadapor la comunidad de los desarrolladores delRedes Neuronales.

•Fue asta los 80’s el Backpropagationredescubierto por David Rumelhart (1986),Geoffrey Hinton - Rolal Williams, David Parkery Yann Le Cun.

Page 4: Red Neuronal Perceptron Multicapa

Perceptrón MulticapaLa Perceptrón Multicapa surge de para resolverproblemas que no son linealmente separables

Page 5: Red Neuronal Perceptron Multicapa

Perceptrón MulticapaPasos Aprendizaje (Propagación hacia delante, haciaatrá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.f) Calcular el error.g) Propagar hacia trash) Actualizar pesos.

Page 6: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Ingreso de los patrones

Page 7: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Calculando Función Net

Page 8: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Función de Transferencia.

Se utiliza para acotar la salida de la neurona ygeneralmente viene dada por la interpretaciónque queramos darle a dichas salidas.

Las más utilizadas son:Las más utilizadas son:Función sigmoidea: para obtener valores en elintervalo [0,1] casi nunca toca a 0logsig salida positiva: f(n)=1/[1+e^(-n)]

Función tangente hiperbólicaPara obtener valores en el intervalo [-1,1]pasando por el 0.f(n)=[e^n - e^-n] / [e^n + e^-n]

Page 9: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Aplicando Función de Transferencia.

Salida positiva: f(n)=1/[1+e^(-n)]

Todo este proceso se realizacon cada una de las neuronas.con cada una de las neuronas.

•Función Net•Función de Activación

Los resultados de la primeracapa serán la entrada de lasiguiente capa.

Page 10: Red Neuronal Perceptron Multicapa

Perceptrón MulticapaEl cambio de la topología de la red (número decapas) dependerá de la satisfacción delporcentaje de error, si el error no es satisfactoriose aumentara una capa capas a la Red Neuronal.

Podemos observaruna tendencia.una tendencia.

Se elige elnumero que seamas cerca a 1.

Page 11: Red Neuronal Perceptron Multicapa

Perceptrón MulticapaSe comparan la salida Real con las SalidaEsperada, si los resultados no son los adecuadosse entrena la Red Neuronal.

Los resultadosson diferentes,entonces seentonces senecesita aplicar elentrenamiento.

Page 12: Red Neuronal Perceptron Multicapa

Perceptrón MulticapaPara conocer los valores esperados ahoratenemos:

Page 13: Red Neuronal Perceptron Multicapa

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 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.

Page 14: Red Neuronal Perceptron Multicapa

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 deentrenamiento.2. Aplica esta entrada a la red y calcula la salida.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 salidacalculada 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.

Page 15: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Ajustando pesos: Regla Delta

La actualización de lospesos de la ultima capa serealiza mediante:realiza mediante:

Nota: se ocupa cuandoexiste una sola salida.

Page 16: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Ajustando pesos: Regla Delta

La actualización de los pesosentre las capas ocultas seríacalculando el δ(delta)calculando el δ(delta)propagando hacia atrás desde lacapa de salida.Zpj = resultado de la neurona

Nota: se ocupa cuandoexisten mas de una salida.

Page 17: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Ejercicio

Asuma una función sigmoide para la Asuma una función sigmoide para la función Z

Asuma η =1y todos los pesos inicialmente a 1.0.

Patron 1: 0, 0 salida deseada o esperada 1

Patron 2: 0, 1 salida deseada o esperada 0

El primer patrón de entrada 0, 0 salida 1

Page 18: Red Neuronal Perceptron Multicapa

Perceptrón Multicapa

Calculando el error:

Los nuevos pesos después de la primer par de entrenamiento se primer par de entrenamiento se realiza mediante:

Page 19: Red Neuronal Perceptron Multicapa

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 1

Patron 2: 0, 1 salida deseada o esperada 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

Page 20: Red Neuronal Perceptron Multicapa

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

Page 21: Red Neuronal Perceptron Multicapa

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