26
Redes Neuronales Artificiales

Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

Redes Neuronales Artificiales

Page 2: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

22

Red

es N

euro

nale

s A

rtifi

cial

es

kpk

2E = 1 / 2 ( -p pky d )∑

Algoritmo de retropropagaciónBack propagation

Pretende minimizar el error cuyo dominio es elespacio de los pesos de las conexiones, descrito porla siguiente ecuación:

Es utilizado para entrenar redes neuronales multicapa.

Exige que la función de activación de las neuronas seaderivable y creciente. Las funciones comúnmente escogidasson: sigmoide, logística, tangente hiperbólica.

Page 3: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

33

Red

es N

euro

nale

s A

rtifi

cial

esAlgoritmo de retropropagaciónBack propagation

El algoritmo trabaja de la siguiente forma:– Presenta un patrón de entrada a la red.– Propaga dichas entradas hasta la capa de

salida.– Calcula el error en la capa de salida.– Propaga dicho error hacia las neuronas ocultas

(hacia atrás).– Cambia los pesos de las conexiones.

Page 4: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

44

Red

es N

euro

nale

s A

rtifi

cial

es

Error

SE

Algoritmo de retropropagaciónBack propagation

El procedimiento se hace para todos los patronesiterativamente hasta que la red converja a un valordel error deseado.

Page 5: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

55

Red

es N

euro

nale

s A

rtifi

cial

es

Pasos del algoritmo:– Inicializar aleatoriamente los pesos.– Escoger aletoriamente un patrón de entrada x.– Propagar la señal hacia adelante.

δi(t)=f’(xi(t))*(di-yi)

Calcular el error en la capa de salida

Algoritmo de retropropagaciónBack propagation

Page 6: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

66

Red

es N

euro

nale

s A

rtifi

cial

es

δj(t)=f ’(xi(t))*(Σwijδi(t))i

wji(t+1)= wji(t)+∆wji(t+1)donde:

Algoritmo de retropropagaciónBack propagation

Propagar dicho error hacia las neuronas ocultas(hacia atrás).

Actualizar los pesos utilizando:

∆wji(t+1) = [ηδjyi(t)+α∆wji(t)]

Repetir desde el paso 2 hasta alcanzar el error deseado.

Page 7: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

77

Red

es N

euro

nale

s A

rtifi

cial

es

La base de este algoritmo es simplemente el método dedescenso de gradiente que se emplea para optimizar una función de calidad de la ejecución de la red. Según las expresiones de los cómputos que realizan las U. P.podemos escribir la siguiente relación para la salidaproducida:

Algoritmo de aprendizaje

Page 8: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

88

Red

es N

euro

nale

s A

rtifi

cial

es

Algoritmo de aprendizaje

Paso 0: Inicializar los pesos Wij y wjk , incluyendo los umbralesde manera aleatoria.

Paso 1: Ejecutar los pasos del 2 al 9 hasta que la condición deparada sea falsa

Paso 2: por cada patrón de entrenamiento < xk, ζk > realizarpasos del 3 al 8

Paso 3: Aplicar el vector xk a la capa de entrada/* feed-forward phase (cálculo de las salidas Vj ,Oi )*/Paso 4: Calcular la salida de cada una de las neuronas de la

capa escondida Vj

Page 9: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

99

Red

es N

euro

nale

s A

rtifi

cial

es

Algoritmo de aprendizaje

Paso 5: Calcular la salida de cada una de las n neuronas de lacapa de salida Oi

)(

)(

∑=

=

jjiji

m

kkjkj

VWfO

xwfV

11)(

ó 1

1)(con

x

x

x

eexf

exf

+−

=

+=

Page 10: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1010

Red

es N

euro

nale

s A

rtifi

cial

es

Algoritmo de aprendizaje

/* Error backpropagation phase */Paso 6: Para cada unidad de salida Oi :

jij

jjijii

ViW

VWfOi

)(

)(')(

∆=∆

−=∆ ∑η

ζ

Page 11: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1111

Red

es N

euro

nale

s A

rtifi

cial

es

Algoritmos de aprendizaje

Paso 7: Para cada unidad de la capa escondida Vj :

kjk

m

kkjk

n

iij

xjw

xwfisumj

Wiisum

)(

)(')(

)(

∆=∆

∆=∆

∆=∆

η

Page 12: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1212

Red

es N

euro

nale

s A

rtifi

cial

es

Algoritmo de aprendizaje

Paso 8: actualizar los pesos sinápticos :

ijijij

jkjkjk

WWWwww

∆+=

∆+=

Paso 9: Calcular la condición de parada: (por ejemplo)

∑ ∑= =

−=patrones p

1 1

2 ))((21)(

µ

µµζn

ii i

OwE

Page 13: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1313

Red

es N

euro

nale

s A

rtifi

cial

es

Se presentan ejemplos a la redSi hay un error, los pesos son ajustados para reducirloDividir el error entre los pesos contribuyentesMinimizar el cuadrado del errorSi el error es Erri ← Ti - Oi en el nodo de salida, la reglapara actualizar el peso del nodo j al nodo i es:W j,i ← W j,i + α x aj x Err x g’(ini), g’ derivada de gSi ∆i = Erri g’(ini), la regla de actualización es:Wj,i ← Wj,i + α x aj x ∆i

Algoritmo Backpropagation

Page 14: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1414

Red

es N

euro

nale

s A

rtifi

cial

es

Para actualizar las conexiones entre las unidades deentrada y las unidades ocultas, propagamos el errorhacia atrásel nodo j es responsable por una fracción del error ∆i encada uno d elos nodos de salida al que se conectala regla de propagación para los valores ∆ es: ∆j ← g’(inj)∑i Wj,i ∆i

la regla para actualizar los pesos entre unidades deentrada y ocultas es: Wk,j ← Wk,j + α x Ik x ∆j

Algoritmo Backpropagation

Page 15: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1515

Red

es N

euro

nale

s A

rtifi

cial

es

Calcular los valores de ∆ para las unidades de salidausando el valor observadoempezando con el nivel de salida, repetir los sguientespasos para cada nivel en la red, hasta que se alcance elprimer nivel oculto:

propagar los valores ∆ hacia el nivel anterioractualizar los pesos entre los dos niveles

Algoritmo Backpropagation

Page 16: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1616

Red

es N

euro

nale

s A

rtifi

cial

es

function BP(red,patrones,α) returns retornar red con pesos estables inputs: red, una red multinivel patrones = {entradas,salidas} α, tasa de aprendizaje repeat for each p in patrones do /* Calcular salida del patrón p */ O ← RUN-NETWORK(red, Ie) /* Calcular el error y D para las neuronas en el nivel de salida */ Erre ← Te - O /* Actualizar pesos primero en el nivel de salida */ W j,i ← W j,i + α x aj x Err x g’(ini) for each nivel in red do /* Calcular el error en cada nodo */ ∆j ← g’(inj)∑i W j,i ∆i /* Actualizar pesos primero en el nivel */ Wk,j ← Wk,j + α x Ik x ∆j

end end until network has converged return network

Algoritmo Backpropagation

Page 17: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1717

Red

es N

euro

nale

s A

rtifi

cial

es

Redes de Hamming

Cuando las entradas a una RNA son binarias, las redesde Hamming son fundamentales.Una red Hamming selecciona un patrón ganador entrelos almacenados {bm, m=1…k}. Es decir, escogeaquel que posee la menor distancia hamming con losdatos de entrada.<bm,X>= ϕ (bk-xk)<bm,X>= ϕ (bk-xk)2

La distancia hamming es el número de bits que no concuerdanentre los vectores de entrada y el patrón seleccionado.

Page 18: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1818

Red

es N

euro

nale

s A

rtifi

cial

es

Sea la red de la figura siguiente que soloacepta entradas binarias:

Redes de Hamming

Page 19: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

1919

Red

es N

euro

nale

s A

rtifi

cial

es

Sea el conjunto de patrones:– 10 00 10– 01 00 10– 00 10 01– 00 01 01

Y sea que la entrada dada es:– 0110

por tanto la distancia hamming es:

Redes de Hamming

Page 20: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2020

Red

es N

euro

nale

s A

rtifi

cial

es

Primer patrón:Dh = Sum { 1-0 + 0-1 + 0-1 + 0-0 }= 3Segundo patrón:Dh = Sum { 0-0 + 1-1 + 0-1 + 0-0 }= 1Tercer patrón:Dh = Sum { 0-0 + 0-1 + 1-1 + 0-0 }= 1Cuarto patrón:Dh = Sum { 0-0 + 0-1 + 0-1 + 1-0 }= 3

Redes de Hamming

Page 21: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2121

Red

es N

euro

nale

s A

rtifi

cial

es

En este caso, los mejores patrones son elsegundo y el tercero.La distancia Hamming, también se definecomo:– Numero total de bits que concuerdan -– número de bits que no concuerdan.

Redes de Hamming

Page 22: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2222

Red

es N

euro

nale

s A

rtifi

cial

es

Primer patrón:Dh = 1 - 3 = -2Segundo patrón:Dh = 3 - 1 = 2Tercer patrón:Dh = 3 - 1 = 2Cuarto patrón:Dh = 1 - 3 = -2

Redes de Hamming

Page 23: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2323

Red

es N

euro

nale

s A

rtifi

cial

es

Para el tipo de distancia anterior, siguensiendo el segundo y tercer patrón como losmejores.Considere la red siguiente, defina unconjunto de patrones (binarios) y determinela distancia de hamming.

Redes de Hamming

Page 24: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2424

Red

es N

euro

nale

s A

rtifi

cial

es

Redes de Hamming

Page 25: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2525

Red

es N

euro

nale

s A

rtifi

cial

es

Considere la red siguiente, defina un conjunto depatrones (binarios) y determine la distancia dehamming.

Page 26: Redes Neuronales Artificialeslctorress/RedNeu/RNA005c.pdf · Algoritmo Backpropagation. 15 Redes Neuronales Artificiales OCalcular los valores de ∆ para las unidades de salida usando

2626

Red

es N

euro

nale

s A

rtifi

cial

es