5. redes neuronales multicapa
TRANSCRIPT
2021-2022
Aprendizaje Automatico
5. Redes Neuronales Multicapa
Francisco Casacuberta Nolla Enrique Vidal Ruiz([email protected]) ([email protected])
Jose Ramon Prieto([email protected])
Departament de Sistemas Informatics i Computacio (DSIC)
Universitat Politecnica de Valencia (UPV)
Septiembre, 2021
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.1
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.2
Index
◦ 1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.3
Modelo conexionista
• Un conjunto de procesadores elementalesdensamente interconectados.
• Nombres alternativos:
– Modelo conexionista.– Red neuronal artificial.– Procesado distribuido y paralelo.
• Perceptron multicapa:
– Modelo conexionista simple.– Fronteras de decision complejas.– Optimizacion no convexa.– Entrenamiento de los pesos mediante
descenso por gradiente: algoritmo deretropropagacion del error.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.4
Introduccion: historia (I)
• 1943: McCulloch y Pitt introducen un modelo matematico simple de “neurona”.
• 1949: Hebb propone una regla que modela el aprendizaje en las neuronas.Rochester realiza una simulacion en un computador IBM en 1950.
• 1957: Rosenblatt introduce el Perceptron como un dispositivo hardware concapacidad de autoaprendizaje y Widrow y Hoff proponen el Adaline para lacancelacion de ecos en redes telefonicas.
• 1969: Minsky y Papert demuestran que un perceptron solo puede implementarfunciones discriminantes lineales y que esta limitacion no se puede superarmediante multiples perceptrones organizados en cascada: Para ello serıanecesario introducir funciones no-lineales.
• 1970-1975: Diversos autores tratan de desarrollar algoritmos de descenso porgradiente adecuados para multiples perceptrones en cascada con funcionesno-lineales. El calculo de derivadas parciales se muestra esquivo.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.5
Introduccion: historia (II)
• 1986: Rumelhart, Hinton y Williams popularizan la tecnica de retropropagaciondel error. Se basa en el uso de cierto tipo de funciones no lineales, llamadas“funciones de activacion”, con las que se simplifica el calculo de derivadasparciales necesarias para descenso por gradiente. Al parecer, tecnicas similareshabıan sido ya propuestas por Linnainmaa en 1970 y Werbos en 1974.
• 1996: Bishop, Rippley, Ney, entre otros, dan una interpretacion probabilıstica alas redes neuronales y al algoritmo de retropropagacion del error.
• 2000: Limitaciones en el uso del algoritmo de retropropagacion del error enredes de muchas capas.
• 2006: Hinton publica en Science un artıculo que inagura una nueva tendenciadenominada “redes profundas”. Posteriormente, en 2015 LeCun, Bengio yHinton publican un artıculo sobre estas tecnicas en Nature. Se desarrollandiversas tecnicas que mejoran el uso del algoritmo de retropropagacion en redesprofundas y en redes recurrentes.
• 2015-: Aplicacion con gran exito en multiples problemas. Uso de grandes redespre-entrenadas.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.6
Introduccion: historia (III)
(Serengil, Evolution of Neural Networks 2017)
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.7
Funciones discriminantes lineales y funcion de activacion
• FUNCIONES DISCRIMINANTES LINEALES (FDL)
φ : Rd → R : φ(x;θ) = θtx =
d∑i=0
θi xi
Notacion en coordenadas homogeneas:
– x ∈ Rd+1, x = x0, x1, . . . , xd , x0def= 1
– θ ∈ RD, θ = θ0, θ1, . . . , θd Ddef= d+ 1
La componente 0 del vector de pesos es el umbral, θ0 ∈ R
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.7
Funciones discriminantes lineales y funcion de activacion
• FUNCIONES DISCRIMINANTES LINEALES (FDL)
φ : Rd → R : φ(x;θ) = θtx =
d∑i=0
θi xi
Notacion en coordenadas homogeneas:
– x ∈ Rd+1, x = x0, x1, . . . , xd , x0def= 1
– θ ∈ RD, θ = θ0, θ1, . . . , θd Ddef= d+ 1
La componente 0 del vector de pesos es el umbral, θ0 ∈ R
• FUNCIONES DISCRIMINANTES LINEALES CON ACTIVACION (FDLA)
g ◦ φ : Rd → R : g ◦ φ(x;θ) = g(θtx)
g : R→ R es una funcion de activacion †
† tambien denominada funcion logıstica y a la FDLA funcion discriminante lineal logıstica.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.8
Funciones de activacion y sus derivadasSea g : R→ R y z ∈ R:
• LINEAL: gL(z) = z ⇒ g′L(z) =
d gL
d z= 1
• RELU (rectified linear unit): gU(z) = max(0, z) ⇒ g′U(z) =
0 si z < 0
1 si z > 0
no definida si z = 0
• ESCALON†: gE(z) = sgn(z)def=
{+1 si z > 0
−1 si z < 0⇒ g′E(z) =
{no definida si z = 0
0 si z 6= 0
• SIGMOID: gS(z) =1
1 + exp(−z)⇒ g
′S(z) = gS(z) (1− gS(z))
• TANGENTE HIPERBOLICA: gT (z) =exp(z)− exp(−z)exp(z) + exp(−z)
⇒ g′T (z) = 1− (gT (z))
2
• RAPIDA: gF (z) =z
1 + |z|⇒ g
′F (z) =
1
(1 + |z|)2=
(gF
(z)
z
)2
• SOFTMAX: Para z1, . . . , zn ∈ R, gM(zi) =exp(zi)∑j exp(zj)
⇒ g′M(zi) = gM(zi) (1−gM(zi))
Ejercicios: Demostrar g′S(z) = gS(z) (1− gS(z)) , g′T (z) = 2gS(2z)− 1 ∀z ∈ R
† sgn es la funcion signo
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.9
Funciones de activacion
-1
-0.5
0
0.5
1
-4 -2 0 2 4
zsgn(z)
1/(1+exp(-z))tanh(z)
z/(1+abs(z))
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.10
Derivada de la funcion de activacion sigmoid
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10 -5 0 5 10
z
gS(z)=1/(1+exp(-z))g’S(z)=gS(z) (1-gS(z))
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.11
Un perceptron de dos capas: ejemplo y notacionTo
polo
gıa
+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 1
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
2θ 11
2θ 10
1θ 10
1θ 35
2θ 33
1θ 21
2θ 21
2θ 13
1θ 25
2s 3
+1
Capa de entrada Capa oculta Capa de salida
Din
amic
a
1 ≤ i ≤M0 ≡ d = 5 1 ≤ i ≤M1 = 3 1 ≤ i ≤M2 = 3
xi ∈ R s1i (x; Θ) = g(
M0∑j=0
θ1ij xj) s2
i (x; Θ) = g(
M1∑j=0
θ2ij s
1j(x))
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.12
Perceptron de dos capas
• Un perceptron de dos capas consiste en una combinacion de FDLA agrupadasen 2 capas de tallas M1 (capa oculta) y M2 (capa de salida), mas una capa deentradas de talla M0 = d (por simplicidad no se contabilizan los umbrales):
s2i (x; Θ) = g(
M1∑j=0
θ2ij s
1j(x; Θ)) = g(
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′)) 1 ≤ i ≤M2
Los parametros son Θ = [θ110, . . . , θ
1M1M0
, θ210, . . . , θ
2M2M1
] ∈ RD
• Problema: Dado un conjunto de entrenamiento S = {(x1, t1), . . . , (xN , tN)},con xn ∈ RM0, tn ∈ RM2, encontrar Θ tal que s2(xn; Θ) aproxime lo mejorposible a tn ∀n, 1 ≤ n ≤ N .
• En clasificacion: M2 ≡ C y las etiquetas tn para 1 ≤ n ≤ N son de la forma
1 ≤ c ≤ C tnc =
{1 xn es de la clase c0 (o − 1) xn no es de la clase c
Simplificaciones de notacion: ski (x; Θ) ≡ ski (x) ≡ ski ∀k, i
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.13
El perceptron multicapa y las funciones de activacion
• Un perceptron multicapa de dos capas define una funcion RM0 → RM2:
s2i (x) = g(
M1∑j=0
θ2ij s
1j(x)) = g(
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′)) para 1 ≤ i ≤M2
• Si todas las funciones de activacion son lineales, un perceptron multicapadefine UNA FUNCION DISCRIMINANTE LINEAL, φ(x) = (φ1(x), . . . , φM2(x))t:
φi(x) ≡ s2i (x) =
M1∑j=0
M0∑j′=0
θ2ijθ
1jj′ xj′ =
M0∑j′=0
(
M1∑j=0
θ2ijθ
1jj′)xj′ =
M0∑j′=0
θij′ xj′
• Si al menos una funcion de activacion no es lineal (y, sin perdida degeneralidad, todas las funciones de activacion de la capa de salida sonlineales) un perceptron multicapa define UNA FUNCION DISCRIMINANTE LINEALGENERALIZADA:
φi(x) ≡ s2i (x) =
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′) =
M1∑j=0
θ2ij ψj(x) para 1 ≤ i ≤M2
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.14
Un perceptron de tres capas+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
2θ 11
2θ 10 1
θ 10
1θ 35
2θ 33
1θ 11
2θ 21
2θ 13
1θ 25
+1
3,2
3,3
3,4
3,1
+1
3θ 11
3θ 40
3θ 33
3θ 43
3θ 13
3s 2
3s 3
3s 4
3s 1
2s 3
2s 3
• Primera capa oculta: s1i = g(
∑M0j=0 θ
1ij xj) para 1 ≤ i ≤M1
• Segunda capa oculta: s2i = g(
∑M1j=0 θ
2ij s
1j) para 1 ≤ i ≤M2
• Capa de salida: s3i = g(
∑M2j=0 θ
3ij s
2j) para 1 ≤ i ≤M3
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.15
Redes hacia adelante de dos capas
+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 1
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
21θ 11
21θ 10
10θ 10
10θ 35
21θ 33
10θ 21
10θ 25
2s 3
+1
20θ 21
20θ 35
• Primera capa oculta: s1i = g(
∑M0j=0 θ
1,0ij xj) para 1 ≤ i ≤M1
• Capa de salida: s2i = g(
∑M1j=0 θ
2,1ij s1
j +∑M0j=0 θ
2,0ij xj) para 1 ≤ i ≤M2
El perceptron multicapa es un caso particularSeptiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.16
El perceptron multicapa como regresor
Regresion de Rd a Rd′
(p.e. un PM de dos capas con d ≡M0 y d′ ≡M2)
f : RM0 → RM2 : fi(x) ≡ s2i (x) =
M1∑j=0
θ2kj g(
M0∑j′=0
θ1jj′ xj′) 1 ≤ i ≤M2
• Cualquier funcion se puede aproximar con precision arbitraria medianteun perceptron de una o mas capas ocultas con un numero de nodossuficientemente grande
• En general, para alcanzar una precision dada, el numero de nodosnecesarios suele ser mucho menor si el numero de capas ocultas esmayor o igual que dos
• Si se utiliza una funcion de activacion softmax en la capa de salida,entonces el perceptron implementa una distribucion de probabilidad.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.17
El perceptron multicapa como clasificador
Clasificacion en C clases de puntos de Rd (PM con M0 ≡ d, M2 ≡ C)
f : Rd → {1, . . . , C} : f(x) = argmax1≤c≤C
φc(x) = argmax1≤c≤M2
s2c(x)
• Si un conjunto de entrenamiento es linealmente separable existe unperceptron sin capas ocultas que lo clasifica correctamente.
• Un PM con una capa oculta de N − 1 nodos puede clasificarcorrectamente las muestras de cualquier conjunto de entrenamiento detalla N . ¿Con que poder de generalizacion?.
• Cualquier frontera de decision basada en trozos de hiperplanos puedeobtenerse mediante un PM con una capa oculta y un numero de nodosadecuado [Huang & Lippmann, 1988], [Huang, Chen & Babri, 2000].
• En general, el numero de nodos necesarios para aproximar una fronteradada suele ser mucho menor si el numero de capas ocultas es mayor oigual que dos.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.18
El perceptron multicapa como clasificador
Fronteras lineales a intervalos Regiones cerradas Regiones no convexas
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.19
Index
1 Redes neuronales multicapa . 2
◦ 2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.20
Aprendizaje de los pesos de un perceptron multicapa
PROBLEMA (REGRESION): dada la topologıa de un perceptron multicapacon L capas y un conjunto de entrenamiento:
S = {(x1, t1), . . . , (xN , tN)} , xn ∈ RM0, tn ∈ RML
obtener Θ que minimice una funcion objetivo o “de perdida” (“loos” ),qS(Θ), que mida adecuadamente la discrepancia entre las salidas de lared y los valores deseados (o “targets” ) dados por S:
qS(Θ) =1
N
N∑n=1
qn(Θ)
donde qn(Θ) es la perdida de la muestra n-esima.
SOLUCION: descenso por gradiente (“algoritmo BACKPROP”)
∆θlij = −ρ ∂qS(Θ)
∂θlij=
1
N
N∑n=1
−ρ ∂qn(Θ)
∂θlij=
1
N
N∑n=1
∆nθlij
Por tanto, para cada muestra n-esima, hay que calcular:
∆nθlij
def=−ρ ∂qn(Θ)
∂θlij, 1≤ i≤Ml, 0≤j≤Ml−1, 1≤ l≤L, 1≤n≤N
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.21
Funciones objetivo o de perdida
ERROR CUADRATICO: Adecuado en general para regresion y clasificacion:
qn(Θ) =1
2
ML∑i=1
(tni − sLi (xn; Θ)
)2ENTROPIA CRUZADA: Especıficamente adecuada para clasificacion, conactivacion softmax en la capa de salida y ML = C.
qn(Θ) = −C∑i=1
tni log sLi (xn; Θ)
En este caso, las C salidas se consideran como aproximaciones a lasprobabilidades a posteriori de clase. Los valores objetivo (targets) de cadamuestra de aprendizaje en S tienen valores en {0, 1} y se cosnideranprobabilidades a posteriori de clase de la distribucion “empırica” dada por S.
Para simplificar, pero sin perdida de generalidad, en lo que sigue se asume L=2.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.22
Retropropagacion del error (BackProp): calculo hacia adelante
+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 1
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
2θ 11
2θ 10
1θ 10
1θ 35
2θ 33
1θ 21
2θ 21
2θ 13
1θ 25
2s 3
+1
s1i (x) = g(φ1
i ) = g(
M0∑j=0
θ1ij xj) 1 ≤ i ≤M1; s2
j = g(φ2j) = g(
M1∑k=0
θ2jk s
1k(x)), 1 ≤ j ≤M2
(para una muestra de entrenamiento generica (x, t), y M0 = 5,M1 = 3,M2 = 3)Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.23
BackProp: ilustracion de actualizacion pesos de la capa de salida
+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
2θ 11
2θ 10
1θ 10
1θ 35
2θ 33
1θ 21
2θ 21
2θ 13
1θ 25
2s 3
+1
t 2
t 3
2δ 1
2s 1
t 1
∆θ21 3 = ρ δ2
1 s13 = ρ (t1 − s2
1) g′(φ21)s1
3
(para la muestra (x, t) y en el caso de regresion)Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.24
BackProp: ilustracion de actualizacion pesos de la capa oculta
+1
0,2
0,1
0,3
0,4
0,5
1,1
1,2
1,3
2,1
2,2
2,3
2s 1
2s 2
1s 2
1s 3
1s 1
x 1
x 2
x 3
x 4
x 5
2θ 11
2θ 10
1θ 10
1θ 35
2θ 33
1θ 21 2
θ 21
2θ 13
1θ 25
2s 3
+1
1θ 34
1δ 3
t 2
t 3
t 1
2δ 1
2δ 2
2δ 3
2θ 23
∆θ13 4 = ρ δ1
3 x4 = ρ(g′(φ1
3)∑M2r=1 δ
2r θ
2r3
)x4
(para la muestra (x, t) y en el caso de regresion)Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.25
Regla de la cadena para el calculo de derivadas
• Funcion simple de otra funcion
f, g : R→ R:d f(g(x))
d x=
d f
d g
d g
d x
• Funcion de otras dos funciones de n (o mas) variables
g1, g2 : Rn≥2→ R, f : RM≥2→ R
∂f(g1(x, . . . ), g2(x, . . . ))
∂x=
∂f
∂g1
∂g1
∂x+
∂f
∂g2
∂g2
∂x
• Funcion de N (o mas) funciones de n (o mas) variables
g1, . . . , gN : Rn≥N→ R, f : RM≥N→ R:
∂f(g1(x, . . . ), . . . , gN(x, . . . ))
∂x=
N∑i=1
∂f
∂gi
∂gi∂x
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.26
Derivacion del algoritmo BackProp para regresion (I)
Actualizacion de los pesos de la capa de salida θ2ij, para una muestra generica (x, t) ≡ (xn, tn):
q(Θ) ≡ qn(Θ) =1
2
M2∑l=1
(tl − s2
l
)2; s2
l = g(φ2l
); φ2
l =
M1∑m=0
θ2lms
1m
∂q
∂θ2ij
=∂q
∂s2i
∂s2i
∂θ2ij
=∂q
∂s2i
d s2i
dφ2i
∂φ2i
∂θ2ij
↓ ↓ ↓
= −((ti − s2
i ) g′(φ2
i ))s1j
def= −δ2
i s1j
∂q
∂θ2ij
= −δ2i s
1j , δ2
idef= (ti − s2
i ) g′(φ2
i )
∆nθ2ij = −ρ ∂qn
∂θ2ij
= ρ δ2i s
1j 1≤ i≤M2, 0≤j≤M1
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.27
Derivacion del algoritmo BackProp para regresion (II)
Actualizacion de los pesos de la capa oculta θ1ij, para una muestra generica (x, t) ≡ (xn, tn):
q(Θ) =1
2
M2∑l=1
(tl − s2
l
)2; s
2l = g(φ
2l ); φ
2l =
M1∑m=0
θ2lm s
1m; s
1m = g(φ
1m); φ
1m =
M0∑k=0
θ1mkxk
∂q
∂θ1ij
=
M2∑r=1
∂q
∂s2r
∂s2r
∂θ1ij
=
M2∑r=1
∂q
∂s2r
d s2r
dφ2r
∂φ2r
∂s1i
d s1i
dφ1i
∂φ1i
∂θ1ij
↓ ↓ ↓ ↓
=
M2∑r=1
−δ2r θ2
ri g′(φ1
i ) xj = −(g′(φ1
i )
M2∑r=1
δ2r θ
2ri
)xj
def= − δ1
i xj
∂q
∂θ1ij
= −δ1i xj , δ1
idef= g′(φ1
i )
M2∑r=1
δ2r θ
2ri
∆nθ1ij = −ρ ∂qn
∂θ1ij
= ρ δ1i xj 1≤ i≤M1, 0≤j≤M0
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.28
Ecuaciones BackProp
• Actualizacion de los pesos de la capa de salida: (1≤ i≤M2, 0≤j≤M1):
∆θ2ij = −ρ ∂qS(Θ)
∂θ2ij
=ρ
N
N∑n=1
δ2i (xn) s1
j(xn)
δ2i (xn) =
(tni − s2
i (xn))g′(φ2
i (xn)) con φ2i (xn) =
M1∑j=0
θ2ijs
1j(xn)
• Actualizacion de los pesos de la capa oculta (1≤ i≤M1, 0≤j≤M0):
∆θ1ij = −ρ ∂qS(Θ)
∂θ1ij
=ρ
N
N∑n=1
δ1i (xn) xnj
δ1i (xn) =
( M2∑r=1
δ2r(xn) θ2
ri
)g′(φ1
i (xn)) con φ1i (xn) =
M0∑j=0
θ1ijxnj
Ejercicio: derivar las ecuaciones BackProp para el caso de clasificacion.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.29
Ecuaciones BackProp para perceptrones de tres capas
• Actualizacion de los pesos de la capa de salida (1≤ i≤M3, 0≤j≤M2)
∆θ3ij = −ρ ∂qS(Θ)
∂θ3ij
=ρ
N
N∑n=1
δ3i (xn) s2
j(xn) δ3i (xn) =
(tni − s3
i (xn))g′(φ3
i (xn))
• Actualizacion de los pesos de la segunda capa oculta ( 1≤ i≤M2, 0≤j≤M1)
∆θ2ij = −ρ ∂qS(Θ)
∂θ2ij
=ρ
N
N∑n=1
δ2i (xn) s1
j(xn) δ2i (xn) =
( M3∑r=1
δ3r(xn) θ3
ri
)g′(φ2
i (xn))
• Actualizacion de los pesos de la primera capa oculta ( 1≤ i≤M1, 0≤j≤M0)
∆θ1ij = −ρ ∂qS(Θ)
∂θ1ij
=ρ
N
N∑n=1
δ1i (xn) xnj δ1
i (xn) =( M2∑r=1
δ2r(xn) θ2
ri
)g′(φ1
i (xn))
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.30
BackProp incremental o “batch”• BackProp “batch“: en cada iteracion se procesan las N muestras de entrenamiento
(“ epoch”) y los pesos del PM se actualizan una sola vez.
• BackProp “mini-batch”: el conjunto de entrenamiento se divide en B bloques, encada uno se procesan las muestras que estan contenidas y luego se actualizan lospesos del PM. Por tanto en un epoch los pesos se actualizan N/B veces.
• BackProp “incremental”: en cada iteracion se procesa solo una muestra deentrenamiento (aleatoria) y se actualizan los pesos del PM. Por tanto en un epochlos pesos se actualizan N veces.
EPOCHS
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0250 500 750 1000 1250 1500 1750 2000
ρ=0.5
BATCH
ON-LINE
Error cuadrático medio
Ciclos de entrenamiento
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.31
Algoritmo BACKPROP
Entrada: Topologıa, pesos iniciales θlij, 1≤ l≤L, 1≤ i≤Ml, 0≤j≤Ml−1,factor de aprendizaje ρ, condiciones de convergencia, N datos de entrenamiento S
Salidas: Pesos de las conexiones que minimizan el error cuadratico medio de S
Mientras no se cumplan las condiciones de convergenciaPara 1 ≤ l ≤ L, 1 ≤ i ≤Ml, 0 ≤ j ≤Ml−1, inicializar ∆θlij = 0
Para cada muestra de entrenamiento (x, t) ∈ SDesde la capa de entrada a la de salida (l = 0, . . . , L):
Para 1 ≤ i ≤Ml si l = 0 entonces s0i = xi sino calcular φli y sli = g(φli)
Desde la capa de salida a la de entrada (l = L, . . . , 1),Para cada nodo (1 ≤ i ≤Ml)
Calcular δli =
{g′(φli) (tni − sLi ) si l == L
g′(φli) (∑r δ
l+1r θl+1
ri ) en otro casoPara cada peso θlij (0 ≤ j ≤Ml−1) calcular: ∆θlij = ∆θlij + ρ δli s
l−1j
Para 1 ≤ l ≤ L, 1 ≤ i ≤Ml, 0 ≤ j ≤Ml−1, actualizar pesos: θlij = θlij + 1N ∆θlij
Coste computacional por cada iteracion mientras: O(N D), N= |S|, D= numero de pesos
DEMO: http://playground.tensorflow.org/
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.32
Algoritmo BACKPROP (“incremental”)
Entrada: Topologıa, pesos iniciales θlij, 1≤ l≤L, 1≤ i≤Ml, 0≤j≤Ml−1,factor de aprendizaje ρ, condiciones de convergencia, N datos de entrenamiento S
Salidas: Pesos de las conexiones que minimizan el error cuadratico medio de S
Mientras no se cumplan las condiciones de convergencia
Para cada muestra de entrenamiento (x, t) ∈ S (en orden aleatorio)Desde la capa de entrada a la de salida (l = 0, . . . , L):
Para 1 ≤ i ≤Ml si l = 0 entonces s0i = xi sino calcular φli y sli = g(φli)
Desde la capa de salida a la de entrada (l = L, . . . , 1),Para cada nodo (1 ≤ i ≤Ml)
Calcular δli =
{g′(φli) (tni − sLi ) si l == L
g′(φli) (∑r δ
l+1r θl+1
ri ) en otro casoPara cada peso θlij (0 ≤ j ≤Ml−1) calcular: ∆θlij = ρ δli s
l−1j
Para 1 ≤ l ≤ L, 1 ≤ i ≤Ml, 0 ≤ j ≤Ml−1, actualizar pesos: θlij = θlij + 1N ∆θlij
Coste computacional por cada iteracion mientras: O(N D), N= |S|, D= numero de pesos
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.33
Algoritmo BACKPROP (“on-line”)
Entrada: Topologıa, pesos iniciales θlij, 1≤ l≤L, 1≤ i≤Ml, 0≤j≤Ml−1,factor de aprendizaje ρ, dato de entrenamiento (x, t)
Salidas: Pesos de las conexiones actualizados mediante (x, t)
Desde la capa de entrada a la de salida (l = 0, . . . , L):Para 1 ≤ i ≤Ml si l = 0 entonces s0
i = xi sino calcular φli y sli = g(φli)
Desde la capa de salida a la de entrada (l = L, . . . , 1),Para cada nodo (1 ≤ i ≤Ml)
Calcular δli =
{g′(φli) (tni − sLi ) si l == L
g′(φli) (∑r δ
l+1r θl+1
ri ) en otro casoPara cada peso θlij (0 ≤ j ≤Ml−1) calcular: ∆θlij = ρ δli s
l−1j
Para 1 ≤ l ≤ L, 1 ≤ i ≤Ml, 0 ≤ j ≤Ml−1, actualizar pesos: θlij = θlij + ∆θlij
Coste computacional por cada muestra procesada: O(D), D= numero de pesos
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.34
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
◦ 3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.35
Seleccion del factor de aprendizaje
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0 1000 2000 3000 4000 5000 6000 7000 8000
ρ=9.0
ρ=0.09
ρ=0.9
Error cuadrático medio
Ciclos de entrenamiento
http://playground.tensorflow.org/
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.36
Algoritmos de optimizacion
• SDG (stochastic gradient descent).
• SGD with momentum
• Adagrad (Adaptive Gradient)
• Adadelta (an extension of Adagrad)
• ADAM (Adaptive Moment Estimation)
• NAG, RMSProp, AdaMax, Nadam, ...
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.37
Condiciones de convergencia
Error de clasificación (%)
Error cuadrático
Ciclos de entrenamiento
Error cuadrático en entrenamiento
Error cuadrático en validación
Error de clasificación en validación
Generalización Sobre-entrenamiento
100
80
60
40
20
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.38
Algunos problemas y soluciones con el BackProp
• El problema de la anulacion o explosion del gradiente en el caso demuchas capas:
– Uso de funciones de activacion como Relu, LeakyRelu/PreLU,Maxout, ELU, ...
– Regularizacion.– Drop-out: Durante el entrenamiento se seleccionan aleatoriamente
un subconjunto de nodos y no son utilizados en una iteracion.– Conexiones residuales.– Normalizacion a nivel de batch y/o de capa.– Gradiente recortado (clipping).
• Evitar “malos” mınimos locales:
– Barajar los datos de entrenamiento.– Aprender primero las muestras mas “faciles” (Curriculum learning).– Regularizacion.– Anadir ruido durante el entrenamiento.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.39
Funciones de activacion (1)
• Maxout: f(z) = max(w1 z + b1, w2 z + b2), z ∈ R
Casos particulares relevantes:
– Relu (Rectified Linear Unit): f(z) = max(0, z), z ∈ R– PreLU (Parametric Rectified Linear Unit): f(z) = max(α z, z), z ∈ R
• ELU (Exponential Linear Units) : f(z) =
{z z ≥ 0α (ez − 1) z < 0
, z ∈ R
• Softmax: Para z1, . . . , zI con zi ∈ R 1 ≤ i ≤ I, f(zi) =ezi∑j ezj
.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.40
Funciones de activacion (2)
+1
-1
+1
-1
+1
-1
ReLU LReLU ELU
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.41
Normalizacion de las entradas
• Paralisis de la red: para valores grandes de z la derivada g′(z) es muy pequena y portanto, los incrementos de los pesos son muy pequenos. Una forma de disminuir esteefecto es normalizar el rango de entrada.
S = {x1, . . . ,xN} ⊂ Rd ⇒
µj =
1
N
N∑i=1
xij 1 ≤ j ≤ d
σ2j =
1
N − 1
N∑i=1
(xij − µj)2 1 ≤ j ≤ d
∀x ∈ Rd, x : xj =xj − µj√σ2j + ε
⇒
µj = 0
σj = 1for 1 ≤ j ≤ d
donde ε es una constante pequena para evitar division por cero.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.42
Normalizacion a nivel de capa
• En la capa k se dispone de las correspondiente salida sk ∈ RMk
µL =1
Mk
Mk∑i=1
ski
σ2L =
1
Mk − 1
Mk∑i=1
(ski − µL)2
∀ski ∈ RMk, ski :=ski − µL√σ2L + ε
for 1 ≤ i ≤Mk
x 1
x 2
x 3
x 4
x 5
ks 1
ks 2
ks 3
ks 4
ks 5
ks 6
ks 7
ks 8
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.43
Normalizacion a nivel de minibatch
• En la capa k se dispone de las correspondientes salidas para un minibatch(subconjunto de S) de tamano b: B =
{sk1, . . . , s
kb
}⊂ RMk
µB =1
b
b∑i=1
ski
σ2B =
1
b− 1‖ ski − µB ‖2
∀sk ∈ B, sk =sk − µB√σ2B + ε
→ sk = γ sk + β
x 1
x 2
x 3
x 4
x 5
ks 1
ks 2
ks 3
ks 4
ks 5
ks 6
ks 7
ks 8
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.44
Recorte del gradiente y Regularizacion
Problema: La actualizacion de los pesos durante el entrenamiento puedeprovocar un desbordamiento numerico, a menudo denominado ”gradienteexplosivo” [Brownlee 2019]. Esto puede provocar una “paralisis de la red”.
Soluciones:
• Gradiente escalado: normalizar el vector de gradiente de manera quesu norma (magnitud) sea igual a un valor definido, como 1.0.
• Recorte de gradiente: forzar los valores del gradiente (por elementos) aun valor mınimo o maximo si el gradiente excede un rango prefijado.
• Regularizacion: anadir a la funcion objetivo a minimizar un terminorelacionado con la suma de magnitudes de los pesos:
– Regularizacion L2 : qS(Θ) +λ
2
∑l,i,j
(θlij)2
– Regularizacion L1 : qS(Θ) + λ∑l,i,j
|θlij|
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.45
Conexion residual y drop-out
• Conexion residual: Si una serie de capas de una red neuronal implementauna funcion s → f(s), y asumiendo que s y f(s) son de la mismadimensionalidad, un “conexion residual” permite implementar f(s) + s
s f(s)+
f(s)+sf
• Drop-out: Durante el entrenamiento se seleccionan aleatoriamente unsubconjunto de nodos y no son utilizados en una iteracion.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.46
Aumento de datos artificiales
• Aumentar el tamano con muestras sintecticas a partir dereales mediante transformaciones.
– En imagenes:∗ Giros horizontales.∗ Rotacion.∗ Recortes.∗ Transformaciones de color.∗ Anadiendo ruido.
– En texto:∗ Sustituyendo palabras.∗ Insertando palabras.∗ Borrando palabras.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.47
Propiedades del BackProp
• Convergencia: teorema general del descenso por gradiente (Tema 3)
• Eleccion del factor de aprendizaje: Tema 3 (Adadelta, Adam, ...)
• Coste computacional: O(N D) en cada iteracion
• En condiciones lımites, las salidas de un perceptron entrenado paraminimizar el error cuadratico medio de las muestras de entrenamientode un problema de clasificacion aproximan la distribucion a-posteriorisubyacente en las muestras de entrenamiento.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.48
Reduccion del tamano de las redes neuronales
• METODOS DE PODA:
– Poda de pesos basadas en:∗ RELEVANCIA∗ CASTIGO
• Quantizacion de los parametros.
• Entrenamiento de redes pequenas a partir de datosgenerados por redes grandes (Knowledge distillation)
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.49
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
◦ 4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.50
Concepto de red profunda
Entrada Capa 1 Capa 2 Capa 3 Capa 4 Capa 5 Salida
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.51
Aprendizaje profundo [Daly 2017]
APRENDIZAJE
AUTOMATICO
EXTRACCION
DE
CARACTERISTICAS
IRIS VERSICOLOR
IRIS VIRGINIA
IRIS SETOSA
VER
VER
VIR
VIR
SET
SET
APRENDIZAJE PROFUNDO
(RED CONVOLUCIONAL)
IRIS VERSICOLOR
IRIS VIRGINIA
IRIS SETOSA
VER
VER
VIR
VIR
SET
SET
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.52
Aprendizaje profundo [Daly 2017]
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.53
Aprendizaje profundo [Dyrdal 2019]
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.54
Casos importantes de redes profundas
• Redes recurrentes.
– Red recurrente simple.– Red de Elman: recurrente + perceptron en la salida.– Redes recurrentes de segundo orden.– Long Short-Term Memory (LSTM)– Gated Recurrent Units (GRU)
• Redes dinamicas no recurrentes.
– Redes convolucionales.– Transformer (para texto e imagenes).– Redes preentrenadas (BERT, GPT, XML, ...).
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.55
Ejemplo de red convolucional
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.56
Redes dinamicas
• Redes disenadas para tratar secuencias xn ∈ RdX y producir secuencias yn ∈RdY , n = 1, 2, . . .
• Un perceptron multicapa puede ser usado para generar la secuencia de salida:
yn = f(Wxn). n = 1, 2, . . .
x
h
n
n
x n+1
x n+2
h n+1
h n+2
... ...
• Una red recurrente tiene en consideracion lo que ha generado anteriormente:
yn = f(WY yn−1 +WXxn) n = 1, 2, . . .
x
h
n
n
x n+1
x n+2
h n+1
h n+2
... ...
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.57
Arquitectura condificador-decodificador
CODIFICADOR
secuencia de salida
secuencia de entrada
MECANISMO DE ATENCIÓN
DECODIFICADOR
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.58
Arquitectura totalmente con modelos de atencion
CODIFICADOR
secuencia de salida
secuencia de entrada
MECANISMO DE ATENCIÓN
DECODIFICADOR
+ AUTO-ATENCIÓN
+ AUTO-ATENCIÓN
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.59
Aprendizaje de redes dinamicas
• Al desplegar una red dinamica para una secuencia de entradase obtiene una red no recurrente de tantas capas como tamanotenga la secuencia de entrada.
• Entrenamiento mediante “Back-propagaytion through time”:aplicacion del algoritmos de propagacion del error convencionalsobre la red desplegada.
• Uso de los mismos algoritmo de optimizacion sobre los grafos decomputacion generados por los toolkits convencionales.
• Inferencia con redes dinamicas: voraz o busqueda en arbol (conpoda).
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.60
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
◦ 5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.61
Toolkits
La red neuronal como un grafo de computacion que soporta lapropagacion del gradiente:
• TensorFlow - Google Brain - Python, C/C++
• PyTorch - Facebook - Python
• Caffe - UC Berkeley / Caffe2 Facebook, Python, MATLAB
• Higher level interfaces e.g. Keras for TensorFlow.
• CUDA/GPU/CLOUD support.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.62
Caracterısticas de PyTorch
• Es una librerıa para Python.
• Calculo automatico del gradiente.
• Uso de GPUs.
• Modulos y optimizadores.
Notebook [URL aquı].
https://colab.research.google.com/drive/1Aw8G2EkOWPlXB_xTfBkHNgzI_NPcefgQ?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.63
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
◦ 6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.64
Perceptron con varias capas en PyTorch
• Cargamos los datos con “torchvision”.
• Definimos el modelo usando “nn.module”.
• Definimos la funcion de perdida, el optimizador yentrenamos.
• Evaluamos.
Celda del Notebook . https://colab.research.google.com/drive/1Aw8G2EkOWPlXB_xTfBkHNgzI_NPcefgQ#scrollTo=1fMxDT2kRTew&line=21&uniqifier=1
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.65
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
◦ 7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.66
Redes convolucionales
• Permiten trabajar de forma mas eficaz con imagenes y otrostipos de datos estructurados.
• Tamano filtro o kernel M ×N .
• Paso del filtro (Stride) horizontal y vertical.
• Relleno a ceros u otro valor (Padding) si el filtro se sale dela imagen.
Celda del Notebook . https://colab.research.google.com/drive/1Aw8G2EkOWPlXB_xTfBkHNgzI_NPcefgQ#scrollTo=c1Fj5psNXK0t
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.67
Convolucion [Goodfellow 2016]
Salida convolucional y
Entrada xFiltro w
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.68
Pooling
• Valor maximo
• Valor medio
1 3 2 2
4 3 1 3
6 4 1 5
8 6 4 7
4 3
8 7
Salida convolucional
Max-pooling
Salida max-pooling
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.69
Redes convolucionales
• Capa 1 convolucional + funcion de activacion ReLU
• Capa 1 pooling
• ...
• Capa L convolucional + funcion de activacion ReLU
• Capa L pooling
• Una red totalmente conectada.
• Salida softmax
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.70
Redes convolucionales vs full-connected
• Una red totalmente conectada, como un MLP, para unaimagen puede ser tener un numero enorme de pesos.Estamos conectando todos los pıxeles de una imagen contodos los pesos de la capa de entrada, sin tener en cuentasu estructura.
• Las redes convolucionales estan basadas en filtros, redespequenas que se desplazan por la imagen. Sabemosque la imagen tiene una estructura, y que los pıxeles mascercanos probablemente tengan mas que ver entre ellosque los pıxeles mas lejanos. El kernel de una convolucionaprovecha esta caracterıstica.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.71
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
◦ 8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.72
Vision por computador
• Campo trata de reconocer y entender imagenes y escenas.
• Tambien engloba aspectos como reconocimiento deimagenes, generacion, super-resolucion, etc.
• Las redes convolucionales han sido ampliamente utilizadasa lo largo de la historia en este campo.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.73
Clasificacion de imagenes
Clasificar cada imagen por su contenido. Por ejemplo,
¿contienen estas imagenes abejas o hormigas?
Veremos algunos ejemplos en:https://colab.research.google.com/drive/1VL6q_26sYD3kYAmndCfjuKGPXMokXOhY?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.74
Redes clasicas - LeNet-5
• Alrededor de 60.000 parametros entrenables.
• Disminuye el el ancho y alto del tensor en cada bloque peroaumenta el numero de canales.
• Uso de Sigmoid y Tanh como funcion de activacion.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.75
Redes clasicas - AlexNet
• Alrededor de 60 millones de parametros entrenables.
• Similar a LeNet pero mucho mas grande.
• Utiliza ReLU como funcion de activacion.
• De los primeros modelos en utilizar dos GPUs (2012).
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.76
Redes clasicas - VGG-16
• Alrededor de 138 millones de parametros entrenables.
• Bloques de convoluciones con kernels de 3× 3 y stride 1.
• MaxPooling de 2× 2 y stride 2.
• Primera red profunda con 13 capas convolucionales. Cadacapa convolucional doblando el numero de filtros de laanterior.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.77
Arquitecturas ResNets
Al entrenar redes muy profundas el gradiente se desvanece.
sl → Linear1(sl)→ ReLU(φl+1)→ Linear (sl+1)→ ReLU(φl+2)→ (sl+2)
φl+1 = Θl+1sl → sl+1 = frelu(φl+1)→ φl+2 = Θl+2sl+1 → sl+2 = frelu(φl+2)
En las arquitecturas ResNet se anade un ”atajo”, comunmentellamados Skip connection en la literatura.
φl+1
= Θl+1sl → s
l+1= frelu(φ
l+1)→ φ
l+2= Θ
l+2sl+1 → s
l+2= frelu(φ
l+2+s
l)
sl → Linear1(sl)→ ReLU(φl+1)→ Linear (sl+1)→ ReLU(φl+2+ sl)→ (sl+2)
Esto nos permitira entrenar redes mucho mas profundas.Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.78
Arquitecturas ResNets
s f(s)+
f(s)+sf
Figure 1: Bloque residual.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.79
Arquitecturas ResNets
Figure 2: Arquitectura ResNet-18 con alrededor de 11 millonesde parametros entrenables.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.80
Arquitecturas ResNets
Las lıneas mas delgadas indican el error en la particion deentrenamiento mientras que las lıneas mas marcadas son lasde la particion de validacion. Todo entrenado con ImageNet.Izquierda: redes neuronales ”planas” de 18 y 34 capasconvolucionales.Derecha: Las mismas redes pero con conexiones residuales.Estas ultimas no tienen parametros extra respecto a sucontraparte de la izquierda.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.81
Convoluciones 1x1
• Como hemos visto, la tendencia iba a hacer redesconvolucionales mas complejas, pesadas y obteniendo masfiltros a cada paso.
• Podemos usar convoluciones con un kernel 1 × 1 parareducir la dimensionalidad.
• Este kernel tratara de juntar muchos de los canalesanadiendo, ademas, otra capa no lineal. Esto nos permitiraaprender funciones mas complicadas.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.82
Arquitecturas Inception
• Hasta ahora vemos que se usan diferentes tamanos dekernels.
• Cada tamano tiene en cuenta un contexto mas grande opequeno y es una decision mas a tomar a la hora de crearuna red neuronal convolucional.
• En el modelo Inception se implementaron los bloquesinception, en los cuales se aplican diferentes convolucionesde diferentes tamanos de kernel y despues se concatenantodos.
• No obstante, esto aumenta el numero de parametros, sobretodo al usar kernels ligeramente grandes. En otra versionse aplicaron primero kernels 1 × 1 para reducir primero ladimensionalidad.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.83
Arquitecturas Inception - Bloques
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.84
Inception network (v1)
• Alrededor de 10 millones de parametros.
• Funciones de perdida auxiliares ponderadas en diferentespartes de la red.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.85
Transferencia del aprendizaje
• Entrenar un modelo de zero puede ser muy costoso.
• Podemos tener muy pocas muestras de aprendizaje ymuchos parametros a entrenar.
• Con la transferencia de aprendizaje (Transfer learning)podemos aprovechar los pesos de un modelo ya entrenadoen una tarea similar para nuestro problema.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.86
Transferencia del aprendizaje
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.87
Data Augmentation
• Se trata de crear datos nuevos para entrenamiento a partirde los que ya tenemos.
• Sobre una imagen se pueden aplicar distorsiones, recortes,giros y un largo etc.
• Se aplican solo sobre el conjunto de entrenamiento y evitanque el modelo sobre entrene y se aprenda los datos dememoria (no generalice).
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.88
Data Augmentation
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.89
Deteccion de objetos
• Localizar e identificar objetos en una imagen.
• Usado historicamente en diferentes tareas como ladeteccion de rostros, localizacion de vehıculos, contadorde peatones, sistemas de seguridad, conducion autonoma,etc.
• Queremos saber que objetos hay en la imagen y dondeestan. Por lo tanto, tendremos que buscar unascoordenadas de los objetos y clasificarlos.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.90
Deteccion de objetos
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.91
Segmentacion
• Clasificacion pıxel a pıxel.
• Podemos hacerlo sobre toda la imagen o sobre unainstancia encontrada en el paso anterior.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.92
Deteccion de objetos y segmentacion - MaskRCNN
• Uno de los modelos mas utilizados es MaskRCNN
Figure 3: Diagrama basico de la arquitectura basada enMask-RCNN.
https://colab.research.google.com/drive/1u3g0QmCLUrjllKCEtKyGO_IMUfC4Z5pl?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.93
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
◦ 9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.94
Secuencias de datos
• Reconocimiento del habla
• Clasificacion de textos
• Traduccion automatica
• Tratamiento de vıdeos
• Reconocimiento de entidades (NER)
• Reconocimiento de texto (HTR)
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.95
Redes recurrentes (RNN)
Tener un contexto de la informacion vista anteriormenteSe entrenan con retropropagacion del gradiente en el tiempo
(BPTT)Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.96
Tipos de RNN
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.97
Long Short Term Memory - LSTM
• Disenadas especıficamente para evitar el problema de lamemoria a largo plazo.
• Toma tres entradas.
• La LSTM tiene unas ”puertas”, o gates en ingles, paradecidir si la informacion es util o ha de ser descartada,actuando como filtros.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.98
LSTM - Gates
• Input gate: Decide la informacion que se guardara. Trabajasolo con la informacion entrante y la salida de la celdaanterior.
• Forget gate: Decide que informacion se quedara o setratara de olvidar. Esto se hace multiplicando por un vectorgenerado a partir de la entrada actual y la salida de la celdaanterior.
• Output gate: Usara la entrada actual, la salida de la celdaanterior y un nuevo vector para calcular la salida de lacelda y pasarla en el siguiente paso. Esta salida se puedeentender como el estado oculto de la neurona.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.99
Gated Recurrent Unit - GRU
• Incorpora dos puertas llamadas Update Gate y Reset Gate
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.100
GRU - Gates
• Update gate: Es responsable de determinar la cantidad deinformacion previa que necesita para el siguiente estado.Puede llegar a decidir pasar toda la informacion, evitandoası el problema desvanecimiento del gradiente.
• Reset gate: Se encarga de decidir si la informacion queproviene del estado anterior es importante o no.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.101
LSTM vs GRU
• Las LSTM tienen tres ”puertas”, mientras que las GRUtienen dos.
• GRU no tiene ninguna memoria interna mientras que laLSTM tiene la output gate.
• GRU es mas simple que LSTM por lo que necesitra menostiempo y menos datos de entrenamiento.
• Las LSTM pueden llegar a recordar secuencias mas largasque las GRU, por lo que son mejores para trabajar conrelaciones a mas distancia.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.102
Notebook RNN
• RNN para trabajar con secuencias de caracterespara clasificar palabras: https://colab.research.google.com/drive/18zastAVMZ_6nIvMUk2tQa2D1h7GPOf6E?usp=sharing
• El mismo notebook pero utilizando LSTM:https://colab.research.google.com/drive/1cWK7zmJUt0pHS17MUFb0zZs-p44Oudpo?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.103
Procesamiento del lenguaje natural
• El procesamiento del lenguaje natural (NLP, por sus siglasen ingles) aborda, de forma automatica, el lenguaje naturalcomo el texto o el habla.
• En el campo del NLP se encuentran muy diversas tareas,como pueden ser: reconocimiento del habla, segmentacionde textos, etiquetado gramatical, reconocimiento deentidades nombradas (NER), clasificacion de textos, etc.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.104
Procesamiento del lenguaje natural - Representacion del texto
La representacion del texto es el primer problema quedeberemos afrontar. Existen multitud de formas de representarel texto.En otras ocasiones habreis utilizado un sistema derepresentacion basado en bolsas de palabras (bag of words,BoW).A continuacion, veremos como podemos representarloaprovechando su contexto local.
• One-hot
• Word Embedding
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.105
NLP - Codificacion One-hot
• Tamano maximo de vocabulario |v|.
• Se crea un vector de 0s de tamano |v| para cada palabra,poniendo un 1 en la posicion de esa palabra respecto alvocabulario.
• Las palabras parecidas no estaran cerca en ningun espaciovectorial. Es poco representativo del texto.
• Usa mucha memoria.
V = {caballo, casa, bicicleta, perro}v(caballo) = [1, 0, 0, 0]v(casa) = [0, 1, 0, 0]v(bicicleta) = [0, 0, 1, 0]v(perro) = [0, 0, 0, 1]
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.106
NLP - Word Embedding
• Tamano maximo de vocabulario |v| puede ser mucho mayor.
• Tamano del vector de representacion mucho menorrespecto a one-hot.
• Las palabras con significado parecido deberıan mantenersecerca en alguna dimension.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.107
NLP - Word Embedding
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.108
Algoritmos Word Embedding - Word2Vec
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.109
Notebooks - Clasificacion de textos
• Clasificacion de textos con torchtext y EmbeddingBaghttps://colab.research.google.com/drive/1mxE6klAO06HEmm6lSvYRCurqONWV5Zzw?usp=sharing
• Clasificacion de textos con Word Embeddings y LSTM:https://colab.research.google.com/drive/1tv1Nq6msObJx9F8E2OKgtIbvpEqyKIy4?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.110
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
◦ 10 ¿Que sigue? . 110
11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.111
¿Que sigue?
• Modelos de atencion
• Modelos generativos (GAN) y autoencoders (VAE)
• Modelos basados en grafos
• Transformers
• y mucho mas...
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.112
Index
1 Redes neuronales multicapa . 2
2 Algoritmo de retropropagacion del error (BackProp) . 19
3 Aspectos de uso y propiedades del BackProp . 34
4 Introduccion a las redes profundas . 49
5 PyTorch para redes neuronales . 60
6 Perceptron con varias capas en PyTorch . 63
7 Redes convolucionales en PyTorch . 65
8 Vision por computador . 71
9 Modelos secuenciales . 93
10 ¿Que sigue? . 110
◦ 11 Notacion . 112
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.113
Notacion• Funciones discriminantes lineales: φ(x; Θ) = Θtx para una entrada x y parametros Θ
compuestos por vector de pesos y umbral (θ, θ0)
• Funciones discriminantes lineales con activacion: g ◦ φ(x; θ) para una entrada x, parametros(θ, θ0) y g una funcion de activacion. g′ es la derivada de la funcion de activacion g
• Funcion de activacion sigmoid: gS(z)
• Salida del nodo i en la capa k: ski en perceptrones multicapa y redes hacia adelante
• Pesos de la conexion que va del nodo j de la capa k− 1 al nodo i de la capa k en un perceptronmulticapa: θkij. Θ es un vector de talla D formado por todos los pesos θkij. Pesos de la conexion
que va del nodo j de la capa k′ al nodo i de la capa k en una red hacia adelante: θk′,kij
• Conjunto de N muestras de entrenamiento: S = {(x1, t1), . . . , (xN , tN)} con xn ∈ RM0 ytn ∈ RMK , siendo K el numero de capas y Mk el numero de nodos de la capa k
• Funcion a minimizar en el entrenamiento de un perceptron multicapa: qS(Θ) ∈ R
• Clasificador en C ≡MK clases de puntos de Rd ≡ RM0: f : RM0 → {1, . . . ,MK}
• Error en el nodo i de la capa k para la muestra xn: δki (xn)
• Incremento del peso que va del nodo j en la capa k − 1 al nodo i en la capa k: ∆θkij
• Factor de aprendizaje, momentum y factor de regularizacion: ρ, ν yλ
• Media y desviacion tıpica: µ y σ
Septiembre, 2021 Departament de Sistemes Informatics i Computacio