Post on 30-Apr-2020
Redes Neuronales Artificiales
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.
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.
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.
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
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.
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
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
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
−
−
−
+−
=
+=
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
)(
)(')(
∆=∆
−=∆ ∑η
ζ
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
)(
)(')(
)(
∆=∆
∆=∆
∆=∆
∑
∑
η
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
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
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
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
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
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.
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
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
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
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
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
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
2424
Red
es N
euro
nale
s A
rtifi
cial
es
Redes de Hamming
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.
2626
Red
es N
euro
nale
s A
rtifi
cial
es