Transcript
Page 1: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

APRENDIZAJE PROFUNDOPARA VISIÓN ARTIFICIAL

Gastón García, José Lezama, Pablo Musé, Javier Preciozzi

Instituto de Ingeniería Eléctrica

Facultad de IngenieríaUniversidad de la República

2020

Page 2: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Agenda · Clase 4

1 Modelos Lineales, Generalización

2 Redes Neuronales

3 Neuronas Artificiales

4 Teorema Aproximación Universal

5 Desafíos en Aprendizaje Profundo

2 / 38

Page 3: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• a w ∈ Rd se lo conoce como vector de pesos (“weights”)

w : vector normal a la frontera de clasificación

• a b ∈ R se le llama “bias” (de-centrado, sesgo)

• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)

• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)

3 / 38

Page 4: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• a w ∈ Rd se lo conoce como vector de pesos (“weights”)

w : vector normal a la frontera de clasificación

• a b ∈ R se le llama “bias” (de-centrado, sesgo)

• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)

• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)

3 / 38

Page 5: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• a w ∈ Rd se lo conoce como vector de pesos (“weights”)

w : vector normal a la frontera de clasificación

• a b ∈ R se le llama “bias” (de-centrado, sesgo)

• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)

• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)

3 / 38

Page 6: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx

• Vimos dos maneras de definir una función de ajuste (loss):

SVM (hinge)

Li =∑j 6=yi

max(0, sj − syi + 1)

Logistic regression (softmax)

Li = − log

(esyi∑j e

sj

)

• En general: datos no son linealmente separables...

4 / 38

Page 7: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx

• Vimos dos maneras de definir una función de ajuste (loss):

SVM (hinge)

Li =∑j 6=yi

max(0, sj − syi + 1)

Logistic regression (softmax)

Li = − log

(esyi∑j e

sj

)

• En ambos casos, hay que minimizar L(W) (+ regularización)

L(W) =

n∑i=1

Li(W) + λR(W)

• En general: datos no son linealmente separables...

4 / 38

Page 8: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx

• Vimos dos maneras de definir una función de ajuste (loss):

SVM (hinge)

Li =∑j 6=yi

max(0, sj − syi + 1)

Logistic regression (softmax)

Li = − log

(esyi∑j e

sj

)

• En ambos casos, hay que minimizar L(W) (+ regularización)

L(W) =

n∑i=1

Li(W) + λR(W)

• Descenso por gradiente:

∇WL(W) =

n∑i=1

∇WLi(xi, yi;W) + λ∇WR(W).

• En general: datos no son linealmente separables...

4 / 38

Page 9: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx

• Vimos dos maneras de definir una función de ajuste (loss):

SVM (hinge)

Li =∑j 6=yi

max(0, sj − syi + 1)

Logistic regression (softmax)

Li = − log

(esyi∑j e

sj

)

• En ambos casos, hay que minimizar L(W) (+ regularización)

L(W) =

n∑i=1

Li(W) + λR(W)

• Descenso por gradiente estocástico, nmb � n:

∇WL(W) ≈nmb∑i=1

∇WLi(xi, yi;W) + λ∇WR(W).

• En general: datos no son linealmente separables...

4 / 38

Page 10: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx

• Vimos dos maneras de definir una función de ajuste (loss):

SVM (hinge)

Li =∑j 6=yi

max(0, sj − syi + 1)

Logistic regression (softmax)

Li = − log

(esyi∑j e

sj

)

• En general: datos no son linealmente separables...

4 / 38

Page 11: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables

• ¿Cómo encontramos Φ(x) que transforme los datos a unespacio donde sean fácilmente separables?

f(x) = wTx+ b

1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta

dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).

Problema: Difícil de generalizar bien a datos no conocidos (test).

5 / 38

Page 12: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

f(x) = wTΦ(x) + b

1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta

dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).

Problema: Difícil de generalizar bien a datos no conocidos (test).

5 / 38

Page 13: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta

dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).

Problema: Difícil de generalizar bien a datos no conocidos (test).

5 / 38

Page 14: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta

dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).

Problema: Difícil de generalizar bien a datos no conocidos (test).

5 / 38

Page 15: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta

dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).Problema: Difícil de generalizar bien a datos no conocidos (test).

5 / 38

Page 16: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

2 Encontrar Φ(x) (artesanal) de manera de separar los datos.

Problema: Difícil de hacer en la práctica, el diseño depende de unconocimiento muy fino del problema

5 / 38

Page 17: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

2 Encontrar Φ(x) (artesanal) de manera de separar los datos.Problema: Difícil de hacer en la práctica, el diseño depende de unconocimiento muy fino del problema

5 / 38

Page 18: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que define una representación y buscarminimizar el error de ajuste.

Objetivo: Definir Φ(x; θ) y luego entrenar (encontrar θ).

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

5 / 38

Page 19: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Clasificadores no Lineales

Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un

espacio donde sean fácilmente separables?

3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que define una representación y buscarminimizar el error de ajuste.

Objetivo: Definir Φ(x; θ) y luego entrenar (encontrar θ).

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

5 / 38

Page 20: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).

• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.

• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.

• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.

6 / 38

Page 21: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).

• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.

• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.

• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.

6 / 38

Page 22: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).

• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.

• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.

• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.

6 / 38

Page 23: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).

• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.

• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.

• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.

6 / 38

Page 24: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• En general se componen de varias capas, y se modelan como unacomposición de funciones:

f(x) := f(n)(f(n−1)

(· · · f(2)

(f(1) (x)

)· · ·))

,

donde f(1) es la primera capa (first layer), f(2) la segunda ...

• Son prealimentadas (feedforward) porque la información fluye a partir de x

sin existir conexiones de realimentación.• Es decir, son Grafos Acíclicos Direccionados (DAGs)

7 / 38

Page 25: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales

• En general se componen de varias capas, y se modelan como unacomposición de funciones:

f(x) := f(n)(f(n−1)

(· · · f(2)

(f(1) (x)

)· · ·))

,

donde f(1) es la primera capa (first layer), f(2) la segunda ...

• Son prealimentadas (feedforward) porque la información fluye a partir de x

sin existir conexiones de realimentación.• Es decir, son Grafos Acíclicos Direccionados (DAGs)

7 / 38

Page 26: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 27: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 28: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 29: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 30: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 31: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Redes Neuronales ProfundasDeep Neural Networks

• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)

• Primera, capa de entrada (input layer), última, capa de salida (output layer)

• El entrenamiento no especifica la salida de cada capa sino de punta a punta.

• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)

• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).

• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

8 / 38

Page 32: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas Artificiales

• Componente elemental del Aprendizaje Profundo

• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.

• El nombre viene de su “paralelismo” con las neuronas biológicas

a(x) =n∑

i=1

wixi + b

h(x) = g(a(x))

9 / 38

Page 33: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas Artificiales

• Componente elemental del Aprendizaje Profundo

• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.

• El nombre viene de su “paralelismo” con las neuronas biológicas

a(x) =n∑

i=1

wixi + b

h(x) = g(a(x))

9 / 38

Page 34: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas Artificiales

• Componente elemental del Aprendizaje Profundo

• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.

• El nombre viene de su “paralelismo” con las neuronas biológicas

a(x) =n∑

i=1

wixi + b

h(x) = g(a(x))

9 / 38

Page 35: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas artificiales

• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal

1 Pre-activación:

a(x) =n∑

i=1

wixi+b = wTx+b

2 Activación (salida):

h(x) = g(a(x)) = g

(n∑

i=1

wixi + b

) x1

xn

input

1b

w1

wn

h(x)

10 / 38

Page 36: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas artificiales

• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal

1 Pre-activación:

a(x) =n∑

i=1

wixi+b = wTx+b

2 Activación (salida):

h(x) = g(a(x)) = g

(n∑

i=1

wixi + b

)

x1

xn

input

1b

w1

wn

h(x)

10 / 38

Page 37: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas artificiales

• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal

1 Pre-activación:

a(x) =n∑

i=1

wixi+b = wTx+b

2 Activación (salida):

h(x) = g(a(x)) = g

(n∑

i=1

wixi + b

) x1

xn

input

1b

w1

wn

h(x)

10 / 38

Page 38: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas artificiales

• Una neurona se compone (en general) de: una operación lineal + unafunción de activación no lineal. (linear units):

h(x) = g(a(x)) = g

(n∑

i=1

wixi + b

) x1

xn

input

1b

w1

wn

h(x)

11 / 38

Page 39: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Funciones de Activación

12 / 38

Page 40: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Funciones de Activación

12 / 38

Page 41: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Funciones de Activación

12 / 38

Page 42: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Funciones de Activación

12 / 38

Page 43: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Funciones de Activación

12 / 38

Page 44: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Neuronas lineales: Capacidad

• Una única neurona puede hacerclasificación binaria:

→ Frontera de decisión es lineal

x1

xn

input

1b

w1

wn

h(x)

13 / 38

Page 45: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red neuronal de una capa oculta

• Entrada: x

• Pre-activación:

a = W(1)Tx+ b(1)

• Activación capa oculta:

h(1)(x) = g(a(x))

• Capa de salida:

f(x) = o(w(2)Th(1) + b(2)

)

h1

hi

hd

f(x)

x1

xj

xn

W(1)

W(1)

W(1)w(2)

w(2)

w(2)

1,1

j,i

2,1

1

i

d

input layer hidden layer

output layer

1 b(1)1

1b(2)

14 / 38

Page 46: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red neuronal de una capa oculta

• Entrada: x

• Pre-activación:

a = W(1)Tx+ b(1)

• Activación capa oculta:

h(1)(x) = g(a(x))

• Capa de salida:

f(x) = o(w(2)Th(1) + b(2)

)

h1

hi

hd

f(x)

x1

xj

xn

W(1)

W(1)

W(1)w(2)

w(2)

w(2)

1,1

j,i

2,1

1

i

d

input layer hidden layer

output layer

1 b(1)1

1b(2)

14 / 38

Page 47: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red neuronal de una capa oculta

• Entrada: x

• Pre-activación:

a = W(1)Tx+ b(1)

• Activación capa oculta:

h(1)(x) = g(a(x))

• Capa de salida:

f(x) = o(w(2)Th(1) + b(2)

)

h1

hi

hd

f(x)

x1

xj

xn

W(1)

W(1)

W(1)w(2)

w(2)

w(2)

1,1

j,i

2,1

1

i

d

input layer hidden layer

output layer

1 b(1)1

1b(2)

14 / 38

Page 48: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red neuronal de una capa oculta

• Entrada: x

• Pre-activación:

a = W(1)Tx+ b(1)

• Activación capa oculta:

h(1)(x) = g(a(x))

• Capa de salida:

f(x) = o(w(2)Th(1) + b(2)

)

h1

hi

hd

f(x)

x1

xj

xn

W(1)

W(1)

W(1)w(2)

w(2)

w(2)

1,1

j,i

2,1

1

i

d

input layer hidden layer

output layer

1 b(1)1

1b(2)

14 / 38

Page 49: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red neuronal de una capa oculta

• Entrada: x

• Pre-activación:

a = W(1)Tx+ b(1)

• Activación capa oculta:

h(1)(x) = g(a(x))

• Capa de salida:

f(x) = o(w(2)Th(1) + b(2)

)

h1

hi

hd

f(x)

x1

xj

xn

W(1)

W(1)

W(1)w(2)

w(2)

w(2)

1,1

j,i

2,1

1

i

d

input layer hidden layer

output layer

1 b(1)1

1b(2)

14 / 38

Page 50: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales

, se obtiene: w = 0,b = 12 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 51: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales

, se obtiene: w = 0,b = 12 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 52: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales

, se obtiene: w = 0,b = 12 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 53: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1

2 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 54: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1

2 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 55: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)

• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.

• Objetivo: encontrar f que prediga bien los cuatro puntos

• Planteamos una regresión:

J(θ) =1

4

4∑i=1

(f?(xi)− f(x; θ))2

• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1

2 .

• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.

• Era esperable porque los datos no sonlinealmente separables

15 / 38

Page 56: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 57: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 58: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 59: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 60: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 61: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

Supongamos que se utilizan dos capas (una capa oculta)

• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))

• ¿Qué pasa si f(1) es lineal?

• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)

Si capa oculta tiene dos neuronas, tenemos:

f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)

Solución con error cero (J(θ) = 0):

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

16 / 38

Page 62: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: XOR

• Intuición: Se puede construir con dos capas que separan linealmente

17 / 38

Page 63: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad de red de una capa oculta

18 / 38

Page 64: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad de red de una capa oculta

18 / 38

Page 65: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad de red de una capa oculta

• Cuantas más neuronas, más capacidad de ajustar

• Capacidad relacionada con número de neuronas ocultas(volveremos sobre esto) y regularización

+λ‖W‖2 “weight decay”

Demo:

http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

18 / 38

Page 66: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad de red de una capa oculta

• Cuantas más neuronas, más capacidad de ajustar

• Capacidad relacionada con número de neuronas ocultas(volveremos sobre esto) y regularización

+λ‖W‖2 “weight decay”

Demo:

http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

18 / 38

Page 67: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Teorema de Aproximación Universal

Teorema (Cybenko, 1989; Hornik 1991)

“Una red neuronal prealimentada con una única capa oculta y unnúmero finito de neuronas, puede aproximar cualquier funcióncontinua en un espacio compacto de Rn.”

• Con los paramétros adecuados, se puede representar una granvariedad de funciones

• Cybenko (1989) para función de activación sigmoide

• Hornik (1991) muestra que lo importante es la arquitecturafeedfoward no función de activación

• Leshno et al. (1993) lo demuestra para una familia más general defunciones, que incluyen a la ReLU.

19 / 38

Page 68: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Teorema de Aproximación Universal

Teorema (Cybenko, 1989; Hornik 1991)

“Una red neuronal prealimentada con una única capa oculta y unnúmero finito de neuronas, puede aproximar cualquier funcióncontinua en un espacio compacto de Rn.”

• Con los paramétros adecuados, se puede representar una granvariedad de funciones

• Cybenko (1989) para función de activación sigmoide

• Hornik (1991) muestra que lo importante es la arquitecturafeedfoward no función de activación

• Leshno et al. (1993) lo demuestra para una familia más general defunciones, que incluyen a la ReLU.

19 / 38

Page 69: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: función Pulso con una Red Neuronal

• Utilizando una Red Neuronal con función de activación ReLU

g(x) = max{x, 0}

• ¿Cómo podemos construir el siguiente Pulso?

β1 β2 β3 β4

Pendiente γ

Slides de Miguel Calvo-Fullana

20 / 38

Page 70: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: función Pulso con una Red Neuronal

γ (x − β2)

γ (x − β1)

γ (x − β3)

γ (x − β4)

max{0, x}

max{0, x}

max{0, x}

max{0, x}

x

+

+

β1β2 β3β4

Slides de Miguel Calvo-Fullana

21 / 38

Page 71: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: función Pulso con una Red Neuronal

γ (x − β2)

γ (x − β1)

γ (x − β3)

γ (x − β4)

max{0, x}

max{0, x}

max{0, x}

max{0, x}

x

+

+

β1β2 β3β4

Slides de Miguel Calvo-Fullana

22 / 38

Page 72: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: función Pulso con una Red Neuronal

γ (x − β2)

γ (x − β1)

γ (x − β3)

γ (x − β4)

max{0, x}

max{0, x}

max{0, x}

max{0, x}

x

+

+

β1β2 β3β4

Slides de Miguel Calvo-Fullana

23 / 38

Page 73: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Ejemplo: función Pulso con una Red Neuronal

γ (x − β2)

γ (x − β1)

γ (x − β3)

γ (x − β4)

max{0, x}

max{0, x}

max{0, x}

max{0, x}

x

+

+

β1β2 β3β4

γ

Slides de Miguel Calvo-Fullana

24 / 38

Page 74: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Representando funciones continuas con el Pulso

−4 −3 −2 −1 0 1 2 3 4−100

−50

0

50

100

• Podemos aproximar funciones continuas usando pulsos

Slides de Miguel Calvo-Fullana

25 / 38

Page 75: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

¿Por qué usar redes profundas?

• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.

26 / 38

Page 76: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

¿Por qué usar redes profundas?

• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.

1. Redes poco profundas son ineficientes para representar funcionescomplejas

26 / 38

Page 77: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

¿Por qué usar redes profundas?

• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.

Montufar et al. [2014], “Red neuronal (ReLu), concon d entradas, L capas, n unidades por capa oculta,puede calcular funciones con:

O

(nd

)d(L−1)

nd

,

regiones lineales.”

• Número de regiones crece de manera exponencial con profundidadL y polinomial con n, (mucho más rápido que red de una capa ocultacon nL neuronas).

26 / 38

Page 78: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

¿Por qué usar redes profundas?

• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.

Montufar et al. [2014]

26 / 38

Page 79: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

¿Por qué usar redes profundas?

• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.

2. Los datos (o tareas) tienen en general una organización jerárquica

26 / 38

Page 80: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 81: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 82: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 83: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 84: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 85: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Arquitectura de red de múltiples capas

Red con L capas ocultas.

• Entrada:

x (= h(0))

• Pre-activación capa (j):

a(j)(x) =(W(j)Th(j−1) + b

(j))

• Salida capa (j)

h(j)(x) = g(a(j)(x))

• Salida de la red (capa L+ 1)

f(x) = o(a(L+1)

)

h(1)

h(1)

h(1)

h(2)

f(x)

x1

x2

x3

W(1)

W(1) W(2)

w(3)

w(3)

w(3)

1

2

3

4

1

2

3

1,1

3,3

2,1

3,4

1

2

4

input layer

1st hidden layer

2nd hidden layer

output layer

1 b(1)11 b(2)1

1b(3)h(2)

h(2)

h(2)

W(2)1,1

W(1)

Nomenclatura:

• “3-layer neural net” o“2-hidden-layer neural net”

• Capas totalmente conectadas(“Fully-connected layers”)

• Tambien conocido como(Multi-layer Perceptron (MLP))

27 / 38

Page 86: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 87: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!

• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 88: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 89: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?

• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 90: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 91: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 92: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Desafíos en Aprendizaje Profundo

• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.

• ¿Esto resuelve todos los problemas?

1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)

2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)

3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?

• Regularización (clase 7), (también en clase 19)

28 / 38

Page 93: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Basado en slides de R. Vidal

29 / 38

Page 94: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)

Basado en slides de R. Vidal

29 / 38

Page 95: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)

Basado en slides de R. Vidal

29 / 38

Page 96: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x) Error de

Aproximación

Basado en slides de R. Vidal

29 / 38

Page 97: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)

fΘ(x;D )

Error de Aproximación

Basado en slides de R. Vidal

29 / 38

Page 98: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)

fΘ(x;D )

Error de Aproximación

Error de Generalización

Basado en slides de R. Vidal

29 / 38

Page 99: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)

fΘ(x;D )

fΘ(x;D )

Error de Aproximación

Error de Generalización

Basado en slides de R. Vidal

29 / 38

Page 100: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Espacio de funciones de predicción f(x)f*(x)

Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)

fΘ(x;D )

fΘ(x;D )

Error de Aproximación

Error de Generalización

Error de Optimización

Basado en slides de R. Vidal

29 / 38

Page 101: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Tres desafíos en Aprendizaje Profundo

Arquitectura(Aproximación)

Generalización Optimización

Basado en slides de R. Vidal

29 / 38

Page 102: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

Red de 50 capas Red de 100 capas

Li et al. “Visualizing the Loss Landscape of Neural Nets”, NeurIPS 2018

30 / 38

Page 103: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},

• Definimos una arquitectura de red:

f(x; θ) := f (n)(f (n−1)

(· · · f (2)

(f (1) (x)

)· · ·))

.

• Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

parámetros θ =[W(1),W(2), . . . ,W(n)

]• Optimización mediante descenso por gradiente (estocástico)

• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]

31 / 38

Page 104: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},

• Definimos una arquitectura de red:

f(x; θ) := f (n)(f (n−1)

(· · · f (2)

(f (1) (x)

)· · ·))

.

• Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

parámetros θ =[W(1),W(2), . . . ,W(n)

]• Optimización mediante descenso por gradiente (estocástico)

• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]

31 / 38

Page 105: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},

• Definimos una arquitectura de red:

f(x; θ) := f (n)(f (n−1)

(· · · f (2)

(f (1) (x)

)· · ·))

.

• Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

parámetros θ =[W(1),W(2), . . . ,W(n)

]

• Optimización mediante descenso por gradiente (estocástico)

• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]

31 / 38

Page 106: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},

• Definimos una arquitectura de red:

f(x; θ) := f (n)(f (n−1)

(· · · f (2)

(f (1) (x)

)· · ·))

.

• Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

parámetros θ =[W(1),W(2), . . . ,W(n)

]• Optimización mediante descenso por gradiente (estocástico)

• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]

31 / 38

Page 107: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},

• Definimos una arquitectura de red:

f(x; θ) := f (n)(f (n−1)

(· · · f (2)

(f (1) (x)

)· · ·))

.

• Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

parámetros θ =[W(1),W(2), . . . ,W(n)

]• Optimización mediante descenso por gradiente (estocástico)

• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]

31 / 38

Page 108: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, nos gustaría minimizar error de predicción esperado:

θ? = argminθ

Ex,y

{L(f(x; θ), y)

}Para obtener una buena aproximación del error esperado necesito:

• contar con muchos datos (n � 1)

• los datos sean de la misma distribución subyacente.

32 / 38

Page 109: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, nos gustaría minimizar error de predicción esperado:

θ? = argminθ

Ex,y

{L(f(x; θ), y)

}

Para obtener una buena aproximación del error esperado necesito:

• contar con muchos datos (n � 1)

• los datos sean de la misma distribución subyacente.

32 / 38

Page 110: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, nos gustaría minimizar error de predicción esperado:

θ? = argminθ

Ex,y

{L(f(x; θ), y)

}Para obtener una buena aproximación del error esperado necesito:

• contar con muchos datos (n � 1)

• los datos sean de la misma distribución subyacente.

32 / 38

Page 111: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos

• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error

• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)

• Esto diferencia el aprendizaje automático de la optimización

• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:

• partición de datos en: train + validation + test• validación cruzada + test

33 / 38

Page 112: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos

• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error

• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)

• Esto diferencia el aprendizaje automático de la optimización

• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:

• partición de datos en: train + validation + test• validación cruzada + test

33 / 38

Page 113: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos

• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error

• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)

• Esto diferencia el aprendizaje automático de la optimización

• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:

• partición de datos en: train + validation + test• validación cruzada + test

33 / 38

Page 114: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos

• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error

• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)

• Esto diferencia el aprendizaje automático de la optimización

• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:

• partición de datos en: train + validation + test• validación cruzada + test

33 / 38

Page 115: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos

• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error

• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)

• Esto diferencia el aprendizaje automático de la optimización

• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:

• partición de datos en: train + validation + test• validación cruzada + test

33 / 38

Page 116: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora

• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función

θ = argminθ

ntrain∑i=1

Li(f(xi; θ), yi)

• Podemos definir los errores en el conjunto de entrenamiento y de test,

Etrain =1

ntrain

ntrain∑i=1

Li(f(xi; θ), yi), Etest =1

ntest

ntest∑i=1

Li(f(xi; θ), yi)

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 117: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora

• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función

θ = argminθ

ntrain∑i=1

Li(f(xi; θ), yi)

• Podemos definir los errores en el conjunto de entrenamiento y de test,

Etrain =1

ntrain

ntrain∑i=1

Li(f(xi; θ), yi), Etest =1

ntest

ntest∑i=1

Li(f(xi; θ), yi)

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 118: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora

• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función

θ = argminθ

ntrain∑i=1

Li(f(xi; θ), yi)

• Podemos definir los errores en el conjunto de entrenamiento y de test,

Etrain =1

ntrain

ntrain∑i=1

Li(f(xi; θ), yi), Etest =1

ntest

ntest∑i=1

Li(f(xi; θ), yi)

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 119: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora

• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función

θ = argminθ

ntrain∑i=1

Li(f(xi; θ), yi)

• Podemos definir los errores en el conjunto de entrenamiento y de test,

Etrain =1

ntrain

ntrain∑i=1

Li(f(xi; θ), yi), Etest =1

ntest

ntest∑i=1

Li(f(xi; θ), yi)

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 120: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 121: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 122: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares

• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)

• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)

• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros

34 / 38

Page 123: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,

y = b+

n∑i=1

wixi.

35 / 38

Page 124: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,

y = b+

n∑i=1

wixi.

Evaluamos el error de ajuste utilizando un conjunto de testing

Capacidad ideal: orden ≈ 3

35 / 38

Page 125: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,

y = b+

n∑i=1

wixi.

Evaluamos el error de ajuste utilizando un conjunto de testing

Capacidad ideal: orden ≈ 3

35 / 38

Page 126: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

ntrain = 5

36 / 38

Page 127: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

ntrain = 6

36 / 38

Page 128: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

ntrain = 7

36 / 38

Page 129: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

ntrain = 10

36 / 38

Page 130: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Capacidad: Ejemplo

Capacidad ideal depende del (tamaño) conjunto de

entrenamiento

ntrain = 5 ntrain = 10

36 / 38

Page 131: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Número de parámetros de una red

• Red de 2 capas

• 1 capa oculta (4 neuronas), 1 capa de salida (2 neuronas), 3 entradas

• 4 + 2 = 6 neuronas

• 3x4 + 4x2 = 20 pesos, 4 + 2 = 6 bias = 26 parámetros

37 / 38

Page 132: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Número de parámetros de una red

• Red de 3 capas

• 2 capas ocultas (4 neuronas cada una), 1 capa de salida (1 neurona)

• 4 + 4 + 1 = 9 neuronas

• 3x4 + 4x4 + 4x1 = 32 pesos, 4 + 4 +1 = 9 biases = 41 parámetros

37 / 38

Page 133: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Número de parámetros de una red

¿Es el número de parámetros una buena medida de la capacidad?

37 / 38

Page 134: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Número de parámetros de una red

w

• Redes de convolución (que vamos a ver más adelante), muyutilizadas en la práctica pueden llegar a tener decenas de capas yvarios millones de parámetros.

37 / 38

Page 135: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Número de parámetros de una red

Xie et al. “Exploring Randomly Wired Neural Networks for Image Recognition”, ICCV 2019

• No todas las redes neuronales tienen una estructura regular de capas!

37 / 38

Page 136: APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

Red Neuronal de Dos Capas en 16 líneas de código

• W1,W2 – parámetros a aprender (sin bias)

• Minimiza la norma 2 entre predicción y valor realEjemplo de J. Johnson

38 / 38


Top Related