5. redes neuronales multicapa

115
2021-2022 Aprendizaje Autom ´ atico 5. Redes Neuronales Multicapa Francisco Casacuberta Nolla Enrique Vidal Ruiz ([email protected]) ([email protected]) Jos ´ e Ram ´ on Prieto ([email protected]) Departament de Sistemas Inform ` atics i Computaci ´ o (DSIC) Universitat Polit` ecnica de Val` encia (UPV) Septiembre, 2021

Upload: others

Post on 15-Jul-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5. Redes Neuronales Multicapa

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

Page 2: 5. Redes Neuronales Multicapa

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

Page 3: 5. Redes Neuronales Multicapa

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

Page 4: 5. Redes Neuronales Multicapa

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

Page 5: 5. Redes Neuronales Multicapa

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

Page 6: 5. Redes Neuronales Multicapa

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

Page 7: 5. Redes Neuronales Multicapa

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

Page 8: 5. Redes Neuronales Multicapa

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

Page 9: 5. Redes Neuronales Multicapa

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

Page 10: 5. Redes Neuronales Multicapa

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

Page 11: 5. Redes Neuronales Multicapa

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

Page 12: 5. Redes Neuronales Multicapa

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

Page 13: 5. Redes Neuronales Multicapa

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

Page 14: 5. Redes Neuronales Multicapa

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

Page 15: 5. Redes Neuronales Multicapa

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

Page 16: 5. Redes Neuronales Multicapa

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

Page 17: 5. Redes Neuronales Multicapa

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

Page 18: 5. Redes Neuronales Multicapa

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

Page 19: 5. Redes Neuronales Multicapa

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

Page 20: 5. Redes Neuronales Multicapa

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

Page 21: 5. Redes Neuronales Multicapa

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

Page 22: 5. Redes Neuronales Multicapa

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

Page 23: 5. Redes Neuronales Multicapa

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

Page 24: 5. Redes Neuronales Multicapa

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

Page 25: 5. Redes Neuronales Multicapa

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

Page 26: 5. Redes Neuronales Multicapa

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

Page 27: 5. Redes Neuronales Multicapa

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

Page 28: 5. Redes Neuronales Multicapa

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

Page 29: 5. Redes Neuronales Multicapa

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

Page 30: 5. Redes Neuronales Multicapa

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

Page 31: 5. Redes Neuronales Multicapa

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

Page 32: 5. Redes Neuronales Multicapa

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

Page 33: 5. Redes Neuronales Multicapa

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

Page 34: 5. Redes Neuronales Multicapa

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

Page 35: 5. Redes Neuronales Multicapa

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

Page 36: 5. Redes Neuronales Multicapa

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

Page 37: 5. Redes Neuronales Multicapa

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

Page 38: 5. Redes Neuronales Multicapa

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

Page 39: 5. Redes Neuronales Multicapa

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

Page 40: 5. Redes Neuronales Multicapa

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

Page 41: 5. Redes Neuronales Multicapa

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

Page 42: 5. Redes Neuronales Multicapa

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

Page 43: 5. Redes Neuronales Multicapa

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

Page 44: 5. Redes Neuronales Multicapa

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

Page 45: 5. Redes Neuronales Multicapa

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

Page 46: 5. Redes Neuronales Multicapa

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

Page 47: 5. Redes Neuronales Multicapa

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

Page 48: 5. Redes Neuronales Multicapa

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

Page 49: 5. Redes Neuronales Multicapa

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

Page 50: 5. Redes Neuronales Multicapa

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

Page 51: 5. Redes Neuronales Multicapa

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

Page 52: 5. Redes Neuronales Multicapa

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

Page 53: 5. Redes Neuronales Multicapa

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

Page 54: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.52

Aprendizaje profundo [Daly 2017]

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 55: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.53

Aprendizaje profundo [Dyrdal 2019]

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 56: 5. Redes Neuronales Multicapa

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

Page 57: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.55

Ejemplo de red convolucional

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 58: 5. Redes Neuronales Multicapa

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

Page 59: 5. Redes Neuronales Multicapa

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

Page 60: 5. Redes Neuronales Multicapa

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

Page 61: 5. Redes Neuronales Multicapa

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

Page 62: 5. Redes Neuronales Multicapa

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

Page 63: 5. Redes Neuronales Multicapa

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

Page 64: 5. Redes Neuronales Multicapa

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

Page 65: 5. Redes Neuronales Multicapa

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

Page 66: 5. Redes Neuronales Multicapa

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

Page 67: 5. Redes Neuronales Multicapa

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

Page 68: 5. Redes Neuronales Multicapa

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

Page 69: 5. Redes Neuronales Multicapa

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

Page 70: 5. Redes Neuronales Multicapa

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

Page 71: 5. Redes Neuronales Multicapa

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

Page 72: 5. Redes Neuronales Multicapa

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

Page 73: 5. Redes Neuronales Multicapa

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

Page 74: 5. Redes Neuronales Multicapa

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

Page 75: 5. Redes Neuronales Multicapa

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

Page 76: 5. Redes Neuronales Multicapa

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

Page 77: 5. Redes Neuronales Multicapa

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

Page 78: 5. Redes Neuronales Multicapa

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

Page 79: 5. Redes Neuronales Multicapa

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

Page 80: 5. Redes Neuronales Multicapa

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

Page 81: 5. Redes Neuronales Multicapa

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

Page 82: 5. Redes Neuronales Multicapa

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

Page 83: 5. Redes Neuronales Multicapa

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

Page 84: 5. Redes Neuronales Multicapa

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

Page 85: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.83

Arquitecturas Inception - Bloques

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 86: 5. Redes Neuronales Multicapa

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

Page 87: 5. Redes Neuronales Multicapa

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

Page 88: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.86

Transferencia del aprendizaje

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 89: 5. Redes Neuronales Multicapa

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

Page 90: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.88

Data Augmentation

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 91: 5. Redes Neuronales Multicapa

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

Page 92: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.90

Deteccion de objetos

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 93: 5. Redes Neuronales Multicapa

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

Page 94: 5. Redes Neuronales Multicapa

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

Page 95: 5. Redes Neuronales Multicapa

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

Page 96: 5. Redes Neuronales Multicapa

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

Page 97: 5. Redes Neuronales Multicapa

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

Page 98: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.96

Tipos de RNN

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 99: 5. Redes Neuronales Multicapa

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

Page 100: 5. Redes Neuronales Multicapa

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

Page 101: 5. Redes Neuronales Multicapa

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

Page 102: 5. Redes Neuronales Multicapa

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

Page 103: 5. Redes Neuronales Multicapa

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

Page 104: 5. Redes Neuronales Multicapa

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

Page 105: 5. Redes Neuronales Multicapa

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

Page 106: 5. Redes Neuronales Multicapa

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

Page 107: 5. Redes Neuronales Multicapa

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

Page 108: 5. Redes Neuronales Multicapa

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

Page 109: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.107

NLP - Word Embedding

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 110: 5. Redes Neuronales Multicapa

Aprendizaje Automatico. 2021-2022 Redes Neuronales Multicapa: 5.108

Algoritmos Word Embedding - Word2Vec

Septiembre, 2021 Departament de Sistemes Informatics i Computacio

Page 111: 5. Redes Neuronales Multicapa

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

Page 112: 5. Redes Neuronales Multicapa

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

Page 113: 5. Redes Neuronales Multicapa

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

Page 114: 5. Redes Neuronales Multicapa

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

Page 115: 5. Redes Neuronales Multicapa

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