perceptrón multicapa - infofich.unl.edu.arinfofich.unl.edu.ar/upload/79b5838d8699a4dccece899... ·...
TRANSCRIPT
Perceptrón multicapa
Diego Milone y Leonardo Rufiner
Inteligencia ComputacionalDepartamento de Informática
FICH-UNL
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Notas históricas
1957 Rosenblatt comienza el desarrollo del Perceptrón(simple).
1960 Widrow y Hoff desarrollan el modelo Adaline(ADAptative LINear Elements).
1969 Minsky y Papert prueban que el Perceptrón no escapaz de resolver problemas sencillos (XOR).
1974 Werbos desarrolla la idea básica del algoritmo deretro-propagación (BP).
1986 Rumelhart y Hinton redescubren y mejoran elalgoritmo de BP.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
El problema del XOR
Figura: Representación gráfica del problema del OR exclusivo.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1 = wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1
= wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1 = wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1 = wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1 = wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
¿Cómo podemos combinar dos o más PS para resolver elproblema XOR?
Perceptrón A: x2 = −1− x1 = wA0wA2− wA1
wA2x1
→
wA0 = −1wA1 = +1wA2 = +1
→ yA = sgn(x2 + x1 + 1)
Perceptrón B: x2 = +1− x1
→
wB0 = +1wB1 = +1wB2 = +1
→ yB = sgn(x2 + x1 − 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Perceptrón C: yA = +1 + yB
→
wC0 = +1wC1 = −1wC2 = +1
→ yC = sgn(yA − yB − 1)
¿Cómo es la arquitectura de esta red neuronal?yA = sgn(x2 + x1 + 1)yB = sgn(x2 + x1 − 1)
}→ yC = sgn(yA − yB − 1)
¿Resuelve el problema XOR?
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Perceptrón C: yA = +1 + yB
→
wC0 = +1wC1 = −1wC2 = +1
→ yC = sgn(yA − yB − 1)
¿Cómo es la arquitectura de esta red neuronal?yA = sgn(x2 + x1 + 1)yB = sgn(x2 + x1 − 1)
}→ yC = sgn(yA − yB − 1)
¿Resuelve el problema XOR?
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Perceptrón C: yA = +1 + yB
→
wC0 = +1wC1 = −1wC2 = +1
→ yC = sgn(yA − yB − 1)
¿Cómo es la arquitectura de esta red neuronal?yA = sgn(x2 + x1 + 1)yB = sgn(x2 + x1 − 1)
}→ yC = sgn(yA − yB − 1)
¿Resuelve el problema XOR?
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Perceptrón C: yA = +1 + yB
→
wC0 = +1wC1 = −1wC2 = +1
→ yC = sgn(yA − yB − 1)
¿Cómo es la arquitectura de esta red neuronal?yA = sgn(x2 + x1 + 1)yB = sgn(x2 + x1 − 1)
}→ yC = sgn(yA − yB − 1)
¿Resuelve el problema XOR?
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Figura: (a) Arquitectura de una red para resolver el problema delXOR. (b) Gráfico de flujo de señal de la red.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Combinación de perceptrones simples
Figura: (a) Límite de decisión construido por la neurona oculta 1 de lared en la fig. anterior. (b) Límite de decisión construido por laneurona oculta 2 de la red. (c) Límite de decisión construido por lared completa.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Entrenamiento por el método de gradiente
• Concepto:Mover los pesos en la dirección en que se reduce el error,dirección que es opuesta a su gradiente con respecto a lospesos
• Interpretación gráfica• Ecuación básica:
w(n + 1) = w(n)− µ∇wξ(w(n))
• Aplicación:• Caso sencillo: perpectrón simple (least mean squares)• Caso más general: perceptrón multicapa
(back-propagation)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Entrenamiento por el método de gradiente
• Concepto:Mover los pesos en la dirección en que se reduce el error,dirección que es opuesta a su gradiente con respecto a lospesos
• Interpretación gráfica
• Ecuación básica:
w(n + 1) = w(n)− µ∇wξ(w(n))
• Aplicación:• Caso sencillo: perpectrón simple (least mean squares)• Caso más general: perceptrón multicapa
(back-propagation)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Entrenamiento por el método de gradiente
• Concepto:Mover los pesos en la dirección en que se reduce el error,dirección que es opuesta a su gradiente con respecto a lospesos
• Interpretación gráfica• Ecuación básica:
w(n + 1) = w(n)− µ∇wξ(w(n))
• Aplicación:• Caso sencillo: perpectrón simple (least mean squares)• Caso más general: perceptrón multicapa
(back-propagation)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Entrenamiento por el método de gradiente
• Concepto:Mover los pesos en la dirección en que se reduce el error,dirección que es opuesta a su gradiente con respecto a lospesos
• Interpretación gráfica• Ecuación básica:
w(n + 1) = w(n)− µ∇wξ(w(n))
• Aplicación:• Caso sencillo: perpectrón simple (least mean squares)• Caso más general: perceptrón multicapa
(back-propagation)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Extensión del algoritmo a múltiples capas
• Entrenamiento por gradiente en el ADALINE• Entrenamiento por gradiente en el MADALINE• Entrenamiento por gradiente en el caso general• Regiones de decisión
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Regiones para varias capas
Figura: Diferentes problemas no-linealmente separables (Lippmann,1987).
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Arquitectura del perceptrón multicapa
Figura: Arquitectura de un perceptrón multicapa (PMC) con doscapas ocultas.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Arquitectura del perceptrón multicapa
Figura: Ilustración de las dos direcciones básicas de flujos de señalen un PMC.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Arquitectura del perceptrón multicapa
• Representación gráfica de 3 capas• Cálculo de las salidas en cada capa• Criterio: suma del error cuadrático instantáneo
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Cálculo de las salidas en cada capa
• Capa I:
vIj =
⟨wI, x
⟩=
N∑i=0
wIjixi (completo vI = Wx)
yIj = φ(vI
j ) =2
1 + e−bvIj− 1 (simétrica ± 1)
• Capa II:vII
j =⟨wII, yI
⟩→ yII
j = φ(vIIj )
• Capa III:vIII
j =⟨wIII, yII
⟩→ yIII
j = φ(vIIIj ) = yj
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Cálculo de las salidas en cada capa
• Capa I:
vIj =
⟨wI, x
⟩=
N∑i=0
wIjixi (completo vI = Wx)
yIj = φ(vI
j ) =2
1 + e−bvIj− 1 (simétrica ± 1)
• Capa II:vII
j =⟨wII, yI
⟩→ yII
j = φ(vIIj )
• Capa III:vIII
j =⟨wIII, yII
⟩→ yIII
j = φ(vIIIj ) = yj
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Cálculo de las salidas en cada capa
• Capa I:
vIj =
⟨wI, x
⟩=
N∑i=0
wIjixi (completo vI = Wx)
yIj = φ(vI
j ) =2
1 + e−bvIj− 1 (simétrica ± 1)
• Capa II:vII
j =⟨wII, yI
⟩→ yII
j = φ(vIIj )
• Capa III:vIII
j =⟨wIII, yII
⟩→ yIII
j = φ(vIIIj ) = yj
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Criterio de error
Suma del error cuadrático instantáneo
ξ(n) =12
M∑j=1
e2j (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = −µ ∂ξ(n)∂wji(n)
∂ξ(n)
∂wji(n)=∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)
∂vj(n)
∂wji(n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = −µ ∂ξ(n)∂wji(n)
∂ξ(n)
∂wji(n)=∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)
∂vj(n)
∂wji(n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = −µ ∂ξ(n)∂wji(n)
∂ξ(n)
∂wji(n)=∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)
∂vj(n)
∂wji(n)
∂vj(n)
∂wji(n)=
∂N∑
i=0wji(n)yi(n)
∂wji(n)= yi(n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = −µ ∂ξ(n)∂wji(n)
∂ξ(n)
∂wji(n)=
∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)yi(n)
Gradiente de error local instantáneo: δj =∂ξ(n)
∂yj(n)
∂yj(n)
∂vj(n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = µδj(n)yi(n)
∂ξ(n)
∂wji(n)=∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)yi(n)
Gradiente de error local instantáneo: δj =∂ξ(n)
∂yj(n)
∂yj(n)
∂vj(n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Derivada de la función de activación simétrica (1/2)
∂yj(n)
∂vj(n)=
∂{
21+e−vj(n) − 1
}∂vj(n)
= 2e−vj(n)(
1 + e−vj(n))2
= 21
1 + e−vj(n)
e−vj(n)
1 + e−vj(n)
= 21
1 + e−vj(n)
0︷ ︸︸ ︷−1 + 1 +e−vj(n)
1 + e−vj(n)
= 21
1 + e−vj(n)
(−1
1 + e−vj(n)+
1 + e−vj(n)
1 + e−vj(n)
)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Derivada de la función de activación simétrica (2/2)
∂yj(n)
∂vj(n)= 2
11 + e−vj(n)
(1− 1
1 + e−vj(n)
)= 2
yj(n) + 12
(1−
yj(n) + 12
)= (yj(n) + 1)
(1−
yj(n) + 12
)= (yj(n) + 1)
(2− yj(n)− 1
2
)=
12
(yj(n) + 1)(yj(n)− 1)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Aplicación del gradiente (caso general)
∆wji(n) = µδj(n)yi(n)
∂ξ(n)
∂wji(n)=∂ξ(n)
∂ej(n)
∂ej(n)
∂yj(n)
∂yj(n)
∂vj(n)yi(n)
Gradiente de error local instantáneo: δj = − ∂ξ(n)
∂yj(n)
∂yj(n)
∂vj(n)
δj =∂ξ(n)
∂yj(n)
12
(1 + yj(n))(1− yj(n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Organización
Un poco de historia...
¿Cómo resolver el problema XOR?
Métodos de gradiente para el entrenamiento
Perceptrón multicapa
Retropropagación en el perceptrón multicapa
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
∆wIIIji (n) = µδIII
j (n)yIIi (n)
δIIIj (n) = − ∂ξ(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = − ∂ξ(n)
∂ej(n)
∂ej(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
∆wIIIji (n) = µδIII
j (n)yIIi (n)
δIIIj (n) = − ∂ξ(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = − ∂ξ(n)
∂ej(n)
∂ej(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
∆wIIIji (n) = µδIII
j (n)yIIi (n)
δIIIj (n) = − ∂ξ(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = − ∂ξ(n)
∂ej(n)
∂ej(n)
∂yIIIj (n)
12
(1 + yIIIj (n))(1− yIII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
δIIIj (n) = −
∂{
12∑
j e2j (n)
}∂ej(n)
·∂{
dIIIj (n)− yIII
j (n)}
∂yIIIj (n)
·
·12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = 1
2 ej(n)(1 + yIIIj (n))(1− yIII
j (n))F
∆wIIIji (n) = ηej(n)(1 + yIII
j (n))(1− yIIIj (n))yII
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
δIIIj (n) = −
∂{
12∑
j e2j (n)
}∂ej(n)
·∂{
dIIIj (n)− yIII
j (n)}
∂yIIIj (n)
·
·12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = 1
2 ej(n)(1 + yIIIj (n))(1− yIII
j (n))F
∆wIIIji (n) = ηej(n)(1 + yIII
j (n))(1− yIIIj (n))yII
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa III (salida)
δIIIj (n) = −
∂{
12∑
j e2j (n)
}∂ej(n)
·∂{
dIIIj (n)− yIII
j (n)}
∂yIIIj (n)
·
·12
(1 + yIIIj (n))(1− yIII
j (n))
δIIIj (n) = 1
2 ej(n)(1 + yIIIj (n))(1− yIII
j (n))F
∆wIIIji (n) = ηej(n)(1 + yIII
j (n))(1− yIIIj (n))yII
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
∆wIIji (n) = µδII
j (n)yIi (n)
δIIj (n) = − ∂ξ(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∂{ 1
2∑
k e2k(n)
}∂yII
j (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −1
2
∑k
∂e2k(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
∆wIIji (n) = µδII
j (n)yIi (n)
δIIj (n) = − ∂ξ(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∂{ 1
2∑
k e2k(n)
}∂yII
j (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −1
2
∑k
∂e2k(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
∆wIIji (n) = µδII
j (n)yIi (n)
δIIj (n) = − ∂ξ(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∂{ 1
2∑
k e2k(n)
}∂yII
j (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −1
2
∑k
∂e2k(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
∆wIIji (n) = µδII
j (n)yIi (n)
δIIj (n) = − ∂ξ(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∂{ 1
2∑
k e2k(n)
}∂yII
j (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −1
2
∑k
∂e2k(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
∆wIIji (n) = µδII
j (n)yIi (n)
δIIj (n) = − ∂ξ(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∂{ 1
2∑
k e2k(n)
}∂yII
j (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −1
2
∑k
∂e2k(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIj (n)
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIIk (n)
∂yIIIk (n)
∂vIIIk (n)
∂vIIIk (n)
∂yIIj (n)
12
(1+yIIj (n))(1−yII
j (n))
δIIj (n) = −
∑k
ek(n)·∂{
dIIIk (n)− yIII
k (n)}
∂yIIIk (n)
· 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·∂{∑
j wIIIkj yII
j (n)}
∂yIIj (n)
· 12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)·(−1) · 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·wIIIkj ·
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIIk (n)
∂yIIIk (n)
∂vIIIk (n)
∂vIIIk (n)
∂yIIj (n)
12
(1+yIIj (n))(1−yII
j (n))
δIIj (n) = −
∑k
ek(n)·∂{
dIIIk (n)− yIII
k (n)}
∂yIIIk (n)
· 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·∂{∑
j wIIIkj yII
j (n)}
∂yIIj (n)
· 12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)·(−1) · 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·wIIIkj ·
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) = −
∑k
ek(n)∂ek(n)
∂yIIIk (n)
∂yIIIk (n)
∂vIIIk (n)
∂vIIIk (n)
∂yIIj (n)
12
(1+yIIj (n))(1−yII
j (n))
δIIj (n) = −
∑k
ek(n)·∂{
dIIIk (n)− yIII
k (n)}
∂yIIIk (n)
· 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·∂{∑
j wIIIkj yII
j (n)}
∂yIIj (n)
· 12
(1 + yIIj (n))(1− yII
j (n))
δIIj (n) = −
∑k
ek(n)·(−1) · 12
(1 + yIIIk (n))(1− yIII
k (n)) ·
·wIIIkj ·
12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) =
∑k
ek(n) · 12
(1 + yIIIk (n))(1− yIII
k (n)) · wIIIkj ·
·12
(1 + yIIj (n))(1− yII
j (n))
Pero de la capa IIIF sabemos que:
δIIIk (n) = 1
2 ek(n)(1 + yIIIk (n))(1− yIII
k (n))
Reemplzando:
δIIj (n) =
∑k
δIIIk (n)wIII
kj ·12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) =
∑k
ek(n) · 12
(1 + yIIIk (n))(1− yIII
k (n)) · wIIIkj ·
·12
(1 + yIIj (n))(1− yII
j (n))
Pero de la capa IIIF sabemos que:
δIIIk (n) = 1
2 ek(n)(1 + yIIIk (n))(1− yIII
k (n))
Reemplzando:
δIIj (n) =
∑k
δIIIk (n)wIII
kj ·12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
δIIj (n) =
∑k
ek(n) · 12
(1 + yIIIk (n))(1− yIII
k (n)) · wIIIkj ·
·12
(1 + yIIj (n))(1− yII
j (n))
Pero de la capa IIIF sabemos que:
δIIIk (n) = 1
2 ek(n)(1 + yIIIk (n))(1− yIII
k (n))
Reemplzando:
δIIj (n) =
∑k
δIIIk (n)wIII
kj ·12
(1 + yIIj (n))(1− yII
j (n))
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
Volviendo a:
∆wIIji (n) = µδII
j (n)yIi (n)
Por lo tanto:
∆wIIji (n) = η
[∑kδIII
k wIIIkj (n)
](1 + yII
j (n))(1− yIIj (n))yI
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Retropropagación en la capa II (oculta)
Volviendo a:
∆wIIji (n) = µδII
j (n)yIi (n)
Por lo tanto:
∆wIIji (n) = η
[∑kδIII
k wIIIkj (n)
](1 + yII
j (n))(1− yIIj (n))yI
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Generalizando para la capa “p”
∆wIIji (n) = η
[∑k
δIIIk wIII
kj (n)
](1 + yII
j (n))(1− yIIj (n))yI
i (n)
⇓
∆w(p)ji (n) = η
⟨δ(p+1),w(p+1)
j
⟩(1 + y(p)j (n))(1− y(p)j (n))y(p−1)
i (n)
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Resumen del algoritmo de retropropagación (BP)
1. Inicialización aleatoria2. Propagación hacia adelante (de la entrada)3. Propagación hacia atras (del error)4. Adaptación de los pesos5. Iteración: vuelve a 2 hasta convergencia o finalización
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo gráfico BP con PMC 3 capas
Figura: Ejemplo de un PMC de 3 capas.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa I, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa I, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa I, neurona 3.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa II, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa II, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Cálculo de las salidas en cada capa
Figura: Cálculo salida capa III, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa III (salida)
Figura: Cálculo del error en capa III, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa III (salida)
Figura: Propagación del error a la capa II, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa III (salida)
Figura: Propagación del error a la capa II, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa II (oculta)
Figura: Propagación del error a la capa I, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa II (oculta)
Figura: Propagacion del error a la capa I, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Retropropagación en la capa II (oculta)
Figura: Propagación del error a la capa I, neurona 3.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualización de pesos capa I, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualización de pesos capa I, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualizacion de pesos capa I, neurona 3.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualización de pesos capa II, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualización de pesos capa II, neurona 2.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Ejemplo: Actualizando los pesos de la red
Figura: Actualización de pesos capa III, neurona 1.
Introducción XOR Entrenamiento∇ PS Perceptrón multicapa Retropropagación
Término de momento
Modificación adaptativa de la velocidad de aprendizaje.(ver Haykin Sección 6.3)