APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1...

122
APRENDIZAJE PROFUNDO PARA VISIÓN ARTIFICIAL Mauricio Delbracio, José Lezama, Guillermo Carbajal Instituto de Ingeniería Eléctrica Facultad de Ingeniería Universidad de la República 2017

Transcript of APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1...

Page 1: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

APRENDIZAJE PROFUNDOPARA VISIÓN ARTIFICIAL

Mauricio Delbracio, José Lezama, Guillermo Carbajal

Instituto de Ingeniería Eléctrica

Facultad de IngenieríaUniversidad de la República

2017

Page 2: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Agenda

1 Modelos lineales, generalización

2 Redes Neuronales Prealimentadas (feedforward)

3 Neuronas artificiales

4 Teorema aproximación universal

5 Capacidad, sobreajuste, subajuste

2 / 32

Page 3: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• w es normal a la frontera de clasificación

• a w se lo conoce como vector de pesos (“weights” o “weight vector”)vector normal a la frontera de decisión

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

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

• Cuánto más lejos de f(x) = 0 más “seguridad” en la clasificación(f(x) una especie de “score”)

3 / 32

Page 4: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• w es normal a la frontera de clasificación

• a w se lo conoce como vector de pesos (“weights” o “weight vector”)vector normal a la frontera de decisión

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

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

• Cuánto más lejos de f(x) = 0 más “seguridad” en la clasificación(f(x) una especie de “score”)

3 / 32

Page 5: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• w es normal a la frontera de clasificación

• a w se lo conoce como vector de pesos (“weights” o “weight vector”)vector normal a la frontera de decisión

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

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

• Cuánto más lejos de f(x) = 0 más “seguridad” en la clasificación(f(x) una especie de “score”)

3 / 32

Page 6: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Clasificadores Lineales

Un clasificador lineal tiene la forma:

f(x) = wTx+ b

• w es normal a la frontera de clasificación

• a w se lo conoce como vector de pesos (“weights” o “weight vector”)vector normal a la frontera de decisión

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

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

• Cuánto más lejos de f(x) = 0 más “seguridad” en la clasificación(f(x) una especie de “score”)

3 / 32

Page 7: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

Softmax (logistic regression)

Li = − log

(esyi∑j e

sj

)

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

4 / 32

Page 8: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

Softmax (logistic regression)

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 / 32

Page 9: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

Softmax (logistic regression)

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 / 32

Page 10: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

Softmax (logistic regression)

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 / 32

Page 11: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

Softmax (logistic regression)

Li = − log

(esyi∑j e

sj

)

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

4 / 32

Page 12: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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) genérica que lleve los datos a un espacio de muy altadimension (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.

5 / 32

Page 13: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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) = wTΦ(x) + b

1 Usar Φ(x) genérica que lleve los datos a un espacio de muy altadimension (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.

5 / 32

Page 14: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

1 Usar Φ(x) genérica que lleve los datos a un espacio de muy altadimension (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.

5 / 32

Page 15: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

1 Usar Φ(x) genérica que lleve los datos a un espacio de muy altadimension (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.

5 / 32

Page 16: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

1 Usar Φ(x) genérica que lleve los datos a un espacio de muy altadimension (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.

5 / 32

Page 17: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

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 / 32

Page 18: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

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 / 32

Page 19: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que definen 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 / 32

Page 20: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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?

3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que definen 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 / 32

Page 21: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales PrealimentadasFeedforward Neural Networks

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

• Redes neuronales prealimentadas (feedforward, perceptrones multicapa omultilayer perceptrons (MLPs)): base fundamental del Aprendizaje Profundo.

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

• Son redes porque se componen de varias funciones por ejemplo,

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.

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

6 / 32

Page 22: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales PrealimentadasFeedforward Neural Networks

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

• Redes neuronales prealimentadas (feedforward, perceptrones multicapa omultilayer perceptrons (MLPs)): base fundamental del Aprendizaje Profundo.

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

• Son redes porque se componen de varias funciones por ejemplo,

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.

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

6 / 32

Page 23: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales PrealimentadasFeedforward Neural Networks

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

• Redes neuronales prealimentadas (feedforward, perceptrones multicapa omultilayer perceptrons (MLPs)): base fundamental del Aprendizaje Profundo.

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

• Son redes porque se componen de varias funciones por ejemplo,

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.

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

6 / 32

Page 24: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales PrealimentadasFeedforward Neural Networks

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

• Redes neuronales prealimentadas (feedforward, perceptrones multicapa omultilayer perceptrons (MLPs)): base fundamental del Aprendizaje Profundo.

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

• Son redes porque se componen de varias funciones por ejemplo,

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.

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

6 / 32

Page 25: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales PrealimentadasFeedforward Neural Networks

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

• Redes neuronales prealimentadas (feedforward, perceptrones multicapa omultilayer perceptrons (MLPs)): base fundamental del Aprendizaje Profundo.

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

• Son redes porque se componen de varias funciones por ejemplo,

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.

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

6 / 32

Page 26: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 27: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 28: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 29: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 30: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 31: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Redes Neuronales Prealimentadas ProfundasDeep Feedforward 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.

• Conjunto de datos de entrenamiento no es conocido para las capasintermedias, estas son llamadas 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: dado una serie deentradas calcula una salida unidimensional, que es su función de activación

f(1)

1st -layer

Feedforward networks

f(2)

2nd -layerf(3)

3rd -layerf(n)

nth -layerci=f(x)

7 / 32

Page 32: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas

• Cada elemento [f(j)]i: se llama neurona: Dada una entrada vectorial xcalcula una salida unidimensional h(x).

• Compuesta por: operación lineal + función de activación no lineal.

a(x) =n∑

i=1

wixi + b

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

8 / 32

Page 33: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas

• Cada elemento [f(j)]i: se llama neurona: Dada una entrada vectorial xcalcula una salida unidimensional h(x).

• Compuesta por: operación lineal + función de activación no lineal.

a(x) =n∑

i=1

wixi + b

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

8 / 32

Page 34: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas

• Cada elemento [f(j)]i: se llama neurona: Dada una entrada vectorial xcalcula una salida unidimensional h(x).

• Compuesta por: operación lineal + función de activación no lineal.

a(x) =n∑

i=1

wixi + b

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

8 / 32

Page 35: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas artificiales

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

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)

9 / 32

Page 36: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas artificiales

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

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)

9 / 32

Page 37: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas artificiales

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

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)

9 / 32

Page 38: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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)

10 / 32

Page 39: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Funciones de Activación

11 / 32

Page 40: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Funciones de Activación

11 / 32

Page 41: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Funciones de Activación

11 / 32

Page 42: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Funciones de Activación

11 / 32

Page 43: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Funciones de Activación

11 / 32

Page 44: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Neuronas lineales: Capacidad

• Una única neurona puede hacerclasificación binaria:

→ Frontera de decisión es lineal

x1

xn

input

1b

w1

wn

h(x)

12 / 32

Page 45: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward 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)

13 / 32

Page 46: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward 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)

13 / 32

Page 47: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward 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)

13 / 32

Page 48: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward 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)

13 / 32

Page 49: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward 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)

13 / 32

Page 50: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 51: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 52: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 53: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 54: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 55: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 56: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

y buscamos un modelo lineal: f(x;w,b) = wTx+ b.

• Se resuleven las ecuaciones normales y se obtiene: w = 0,b = 12 .

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

• Era esperable porque los datos no sonlinealmente separables

14 / 32

Page 57: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 58: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 59: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 60: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 61: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 62: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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))

• Redes neuronales modernas usan rectified linear unit (ReLU) definidacomo g(x) = max(0, x) (aplicada elemento a elemento)

• f(1) no debe ser lineal. ¿Por qué?

Si capa oculta tiene dos neuronas, tenemos:

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

Solución con error cero:

W(1) =

[1 11 1

], b(1) =

[0−1

],w(2) =

[1−2

], b(2) = 0

15 / 32

Page 63: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Ejemplo: XOR

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

16 / 32

Page 64: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red feedforward de una capa oculta

• Entrada: x

• Pre-activación:

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

• Activación capa oculta:

h(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)

17 / 32

Page 65: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad de red de una capa oculta

18 / 32

Page 66: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad de red de una capa oculta

18 / 32

Page 67: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad de red de una capa oculta

18 / 32

Page 68: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad de red de una capa oculta

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

• Capacidad = Número de neuronas ocultas

18 / 32

Page 69: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad de red de una capa oculta

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

• Capacidad = Número de neuronas ocultas

18 / 32

Page 70: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El teorema no habla de cómo aprender los parámetros

• George Cybenko en 1989 para función de activación sigmoide

• Kurt Hornik lo extiende en 1991, a funciones generales, loimportante es la arquitectura feedfoward no la función deactivación

19 / 32

Page 71: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 72: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 73: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 74: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 75: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 76: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Arquitectura de red deep feedforwardSea una 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”)

20 / 32

Page 77: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

¿Por qué usar redes profundas?

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

Thorpe, S. and Fabre-Thorpe, M.“Seeking categories in the brain.”, Science, (2001)

21 / 32

Page 78: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

¿Por qué usar redes profundas?

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

Redes poco profundas ineficientes para representar funciones complejas

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.”

• El número de regiones en una red profunda crece de maneraexponencial con L y polinomial con n, lo que es mucho más rápidoque en una red de una capa oculta con nL neuronas.

Thorpe, S. and Fabre-Thorpe, M.“Seeking categories in the brain.”, Science, (2001)

21 / 32

Page 79: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

¿Por qué usar redes profundas?

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

Montufar et al. [2014]

Thorpe, S. and Fabre-Thorpe, M.“Seeking categories in the brain.”, Science, (2001)

21 / 32

Page 80: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

¿Por qué usar redes profundas?

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

Los datos (en general) tienen una organización jerárquica

Thorpe, S. and Fabre-Thorpe, M.“Seeking categories in the brain.”, Science, (2001)

21 / 32

Page 81: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

¿Por qué usar redes profundas?

Thorpe, S. and Fabre-Thorpe, M.“Seeking categories in the brain.”, Science, (2001)

21 / 32

Page 82: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime f?(x) 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]

22 / 32

Page 83: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime f?(x) 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]

22 / 32

Page 84: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime f?(x) 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]

22 / 32

Page 85: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime f?(x) 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]

22 / 32

Page 86: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Aprendizaje basado en Optimización

• Queremos encontrar f(x; θ) que aproxime f?(x) 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]

22 / 32

Page 87: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, lo que nos gustaría hacer es minimizar el error depredicció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.

23 / 32

Page 88: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, lo que nos gustaría hacer es minimizar el error depredicció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.

23 / 32

Page 89: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting

Planteamos el problema como una minimización:

θ = argminθ

n∑i=1

L(f(xi; θ), yi)

En realidad, lo que nos gustaría hacer es minimizar el error depredicció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.

23 / 32

Page 90: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El error de generalización es el valor esperado del error en unamuestra no conocida (pero que se asume que viene de la mismadensidad de probabilidad 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: training + validation + test• validación cruzada + test

24 / 32

Page 91: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El error de generalización es el valor esperado del error en unamuestra no conocida (pero que se asume que viene de la mismadensidad de probabilidad 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: training + validation + test• validación cruzada + test

24 / 32

Page 92: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El error de generalización es el valor esperado del error en unamuestra no conocida (pero que se asume que viene de la mismadensidad de probabilidad 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: training + validation + test• validación cruzada + test

24 / 32

Page 93: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El error de generalización es el valor esperado del error en unamuestra no conocida (pero que se asume que viene de la mismadensidad de probabilidad 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: training + validation + test• validación cruzada + test

24 / 32

Page 94: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

• El error de generalización es el valor esperado del error en unamuestra no conocida (pero que se asume que viene de la mismadensidad de probabilidad 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: training + validation + test

• validación cruzada + test

24 / 32

Page 95: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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 =

ntrain∑i=1

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

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

25 / 32

Page 96: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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 =

ntrain∑i=1

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

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

25 / 32

Page 97: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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 =

ntrain∑i=1

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

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

25 / 32

Page 98: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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 =

ntrain∑i=1

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

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

25 / 32

Page 99: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

25 / 32

Page 100: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

25 / 32

Page 101: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

25 / 32

Page 102: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

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

y = b+

n∑i=1

wixi.

26 / 32

Page 103: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

26 / 32

Page 104: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

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

26 / 32

Page 105: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

ntrain = 5

27 / 32

Page 106: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

ntrain = 6

27 / 32

Page 107: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

ntrain = 7

27 / 32

Page 108: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

ntrain = 10

27 / 32

Page 109: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad: Ejemplo

Capacidad ideal depende del (tamaño) conjunto de

entrenamiento

ntrain = 5 ntrain = 10

27 / 32

Page 110: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Vapnik-Chervonenkis dimension

• Estimar la capacidad de un modelo es difícil (existen distintasdefiniciones de capacidad)

• La dimensión VC (Vapnik-Chervonenkis) mide la capacidad de unclasificador binario.

• Se define como la máxima cantidad de puntos m que pueden serclasificados en dos categorías de manera arbitraria.

• Clasificador lineal tiene dimensión VC = 3 (4 puntos: XOR)

• En la práctica es muy difícil de estimar. Estimar la capacidad deuna red neuronal es un tema activo de investigación

28 / 32

Page 111: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Vapnik-Chervonenkis dimension

• Estimar la capacidad de un modelo es difícil (existen distintasdefiniciones de capacidad)

• La dimensión VC (Vapnik-Chervonenkis) mide la capacidad de unclasificador binario.

• Se define como la máxima cantidad de puntos m que pueden serclasificados en dos categorías de manera arbitraria.

• Clasificador lineal tiene dimensión VC = 3 (4 puntos: XOR)

• En la práctica es muy difícil de estimar. Estimar la capacidad deuna red neuronal es un tema activo de investigación

28 / 32

Page 112: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Vapnik-Chervonenkis dimension

• Estimar la capacidad de un modelo es difícil (existen distintasdefiniciones de capacidad)

• La dimensión VC (Vapnik-Chervonenkis) mide la capacidad de unclasificador binario.

• Se define como la máxima cantidad de puntos m que pueden serclasificados en dos categorías de manera arbitraria.

• Clasificador lineal tiene dimensión VC = 3 (4 puntos: XOR)

• En la práctica es muy difícil de estimar. Estimar la capacidad deuna red neuronal es un tema activo de investigación

28 / 32

Page 113: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Vapnik-Chervonenkis dimension

• Estimar la capacidad de un modelo es difícil (existen distintasdefiniciones de capacidad)

• La dimensión VC (Vapnik-Chervonenkis) mide la capacidad de unclasificador binario.

• Se define como la máxima cantidad de puntos m que pueden serclasificados en dos categorías de manera arbitraria.

• Clasificador lineal tiene dimensión VC = 3 (4 puntos: XOR)

• En la práctica es muy difícil de estimar. Estimar la capacidad deuna red neuronal es un tema activo de investigación

28 / 32

Page 114: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Vapnik-Chervonenkis dimension

• Estimar la capacidad de un modelo es difícil (existen distintasdefiniciones de capacidad)

• La dimensión VC (Vapnik-Chervonenkis) mide la capacidad de unclasificador binario.

• Se define como la máxima cantidad de puntos m que pueden serclasificados en dos categorías de manera arbitraria.

• Clasificador lineal tiene dimensión VC = 3 (4 puntos: XOR)

• En la práctica es muy difícil de estimar. Estimar la capacidad deuna red neuronal es un tema activo de investigación

28 / 32

Page 115: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Tamaño de una red prealimentada

• 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 biases = 26 parámetros

29 / 32

Page 116: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Tamaño de una red prealimentada

• 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

29 / 32

Page 117: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Tamaño de una red prealimentada

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

29 / 32

Page 118: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red prealimentada - Computo

• W1,W2,W3,b1,b2,b3 Parámetros a aprender

• La entrada puede programarse para que contenga un conjunto depuntos no sólo uno X = [x1, x2, . . . , xn]

• La salida en general es un puntaje o score (no tiene activación ensalida)

30 / 32

Page 119: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red prealimentada - Computo

• W1,W2,W3,b1,b2,b3 Parámetros a aprender

• La entrada puede programarse para que contenga un conjunto depuntos no sólo uno X = [x1, x2, . . . , xn]

• La salida en general es un puntaje o score (no tiene activación ensalida)

30 / 32

Page 120: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Red prealimentada - Computo

• W1,W2,W3,b1,b2,b3 Parámetros a aprender

• La entrada puede programarse para que contenga un conjunto depuntos no sólo uno X = [x1, x2, . . . , xn]

• La salida en general es un puntaje o score (no tiene activación ensalida)

30 / 32

Page 121: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad

Demo (Andrej Karpathy):http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

31 / 32

Page 122: APRENDIZAJE PROFUNDO PARA VISIÃ N ARTIFICIALmdelbra/DL2017/slides/c4.pdf · Agenda 1 Modeloslineales,generalización 2 RedesNeuronalesPrealimentadas(feedforward) 3 Neuronasartificiales

Capacidad

Regularización:

+λ‖W‖2 “weight decay”

32 / 32