136
APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL Gastón García, José Lezama, Pablo Musé, Javier Preciozzi Instituto de Ingeniería Eléctrica Facultad de Ingeniería Universidad de la República 2020

APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

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