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

Upload: others

Post on 10-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

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