Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
APRENDIZAJE PROFUNDOPARA VISIÓN ARTIFICIAL
Gastón García, José Lezama, Pablo Musé, Javier Preciozzi
Instituto de Ingeniería Eléctrica
Facultad de IngenieríaUniversidad de la República
2020
Agenda · Clase 4
1 Modelos Lineales, Generalización
2 Redes Neuronales
3 Neuronas Artificiales
4 Teorema Aproximación Universal
5 Desafíos en Aprendizaje Profundo
2 / 38
Clasificadores Lineales
Un clasificador lineal tiene la forma:
f(x) = wTx+ b
• a w ∈ Rd se lo conoce como vector de pesos (“weights”)
w : vector normal a la frontera de clasificación
• a b ∈ R se le llama “bias” (de-centrado, sesgo)
• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)
• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)
3 / 38
Clasificadores Lineales
Un clasificador lineal tiene la forma:
f(x) = wTx+ b
• a w ∈ Rd se lo conoce como vector de pesos (“weights”)
w : vector normal a la frontera de clasificación
• a b ∈ R se le llama “bias” (de-centrado, sesgo)
• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)
• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)
3 / 38
Clasificadores Lineales
Un clasificador lineal tiene la forma:
f(x) = wTx+ b
• a w ∈ Rd se lo conoce como vector de pesos (“weights”)
w : vector normal a la frontera de clasificación
• a b ∈ R se le llama “bias” (de-centrado, sesgo)
• Un clasificador lineal no necesita memorizar el training set(a diferencia del clasificador K-nn)
• Generalización a clasificación multiclase: (wi,bi), para i = 1, ..., c(conjunto de pesos por clase)
3 / 38
Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx
• Vimos dos maneras de definir una función de ajuste (loss):
SVM (hinge)
Li =∑j 6=yi
max(0, sj − syi + 1)
Logistic regression (softmax)
Li = − log
(esyi∑j e
sj
)
• En general: datos no son linealmente separables...
4 / 38
Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx
• Vimos dos maneras de definir una función de ajuste (loss):
SVM (hinge)
Li =∑j 6=yi
max(0, sj − syi + 1)
Logistic regression (softmax)
Li = − log
(esyi∑j e
sj
)
• En ambos casos, hay que minimizar L(W) (+ regularización)
L(W) =
n∑i=1
Li(W) + λR(W)
• En general: datos no son linealmente separables...
4 / 38
Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx
• Vimos dos maneras de definir una función de ajuste (loss):
SVM (hinge)
Li =∑j 6=yi
max(0, sj − syi + 1)
Logistic regression (softmax)
Li = − log
(esyi∑j e
sj
)
• En ambos casos, hay que minimizar L(W) (+ regularización)
L(W) =
n∑i=1
Li(W) + λR(W)
• Descenso por gradiente:
∇WL(W) =
n∑i=1
∇WLi(xi, yi;W) + λ∇WR(W).
• En general: datos no son linealmente separables...
4 / 38
Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx
• Vimos dos maneras de definir una función de ajuste (loss):
SVM (hinge)
Li =∑j 6=yi
max(0, sj − syi + 1)
Logistic regression (softmax)
Li = − log
(esyi∑j e
sj
)
• En ambos casos, hay que minimizar L(W) (+ regularización)
L(W) =
n∑i=1
Li(W) + λR(W)
• Descenso por gradiente estocástico, nmb � n:
∇WL(W) ≈nmb∑i=1
∇WLi(xi, yi;W) + λ∇WR(W).
• En general: datos no son linealmente separables...
4 / 38
Clasificadores Lineales• Dado un dataset (xi, yi), i = 1, . . . ,n, con yi ∈ {1, . . . , c}• Supongamos que tenemos puntajes de la forma: s = Wx
• Vimos dos maneras de definir una función de ajuste (loss):
SVM (hinge)
Li =∑j 6=yi
max(0, sj − syi + 1)
Logistic regression (softmax)
Li = − log
(esyi∑j e
sj
)
• En general: datos no son linealmente separables...
4 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables
• ¿Cómo encontramos Φ(x) que transforme los datos a unespacio donde sean fácilmente separables?
f(x) = wTx+ b
1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta
dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).
Problema: Difícil de generalizar bien a datos no conocidos (test).
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
f(x) = wTΦ(x) + b
1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta
dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).
Problema: Difícil de generalizar bien a datos no conocidos (test).
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta
dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).
Problema: Difícil de generalizar bien a datos no conocidos (test).
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta
dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).
Problema: Difícil de generalizar bien a datos no conocidos (test).
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
1 Usar Φ(x) muy genérica que lleve los datos a un espacio de muy alta
dimension (puede ser infinita), en este espacio es fácil de separar lospuntos del conjunto de entrenamiento (e.g., kernel RBF).Problema: Difícil de generalizar bien a datos no conocidos (test).
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
2 Encontrar Φ(x) (artesanal) de manera de separar los datos.
Problema: Difícil de hacer en la práctica, el diseño depende de unconocimiento muy fino del problema
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
2 Encontrar Φ(x) (artesanal) de manera de separar los datos.Problema: Difícil de hacer en la práctica, el diseño depende de unconocimiento muy fino del problema
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que define una representación y buscarminimizar el error de ajuste.
Objetivo: Definir Φ(x; θ) y luego entrenar (encontrar θ).
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
5 / 38
Clasificadores no Lineales
Se requiere que los datos sean linealmente separables• ¿Cómo encontramos Φ(x) que transforme los datos a un
espacio donde sean fácilmente separables?
3 Aprendizaje Profundo: Aprender Φ(x). Partir de un modeloparamétrico Φ(x; θ) que define una representación y buscarminimizar el error de ajuste.
Objetivo: Definir Φ(x; θ) y luego entrenar (encontrar θ).
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
5 / 38
Redes Neuronales
• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).
• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.
• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.
• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.
6 / 38
Redes Neuronales
• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).
• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.
• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.
• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.
6 / 38
Redes Neuronales
• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).
• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.
• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.
• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.
6 / 38
Redes Neuronales
• Objetivo: Aproximar y = f?(x), mapeo de x en una salida y (e.g., una categoría).
• Redes neuronales: familia de funciones no lineales, paramétricas, son la basefundamental del Aprendizaje Profundo.
• Una red neuronal define un mapeo y = f(x; θ), y buscaremos losparámetros θ que mejor aproximan f?.
• Son redes porque se componen de múltiples neuronas artificiales que secomunican entre sí.
6 / 38
Redes Neuronales
• En general se componen de varias capas, y se modelan como unacomposición de funciones:
f(x) := f(n)(f(n−1)
(· · · f(2)
(f(1) (x)
)· · ·))
,
donde f(1) es la primera capa (first layer), f(2) la segunda ...
• Son prealimentadas (feedforward) porque la información fluye a partir de x
sin existir conexiones de realimentación.• Es decir, son Grafos Acíclicos Direccionados (DAGs)
7 / 38
Redes Neuronales
• En general se componen de varias capas, y se modelan como unacomposición de funciones:
f(x) := f(n)(f(n−1)
(· · · f(2)
(f(1) (x)
)· · ·))
,
donde f(1) es la primera capa (first layer), f(2) la segunda ...
• Son prealimentadas (feedforward) porque la información fluye a partir de x
sin existir conexiones de realimentación.• Es decir, son Grafos Acíclicos Direccionados (DAGs)
7 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Redes Neuronales ProfundasDeep Neural Networks
• La profundidad (depth) de la red: cantidad de capas en el modelo (deep)
• Primera, capa de entrada (input layer), última, capa de salida (output layer)
• El entrenamiento no especifica la salida de cada capa sino de punta a punta.
• Datos de entrenamiento no es observado por las capas intermedias, estas sonllamadas capas ocultas (hidden layers)
• Cada capa es en general una función vectorial: f(j) : Rnj → Rnj+1 .Dimensión nj determina el ancho de la capa (width).
• Cada elemento de una capa [f(j)]i es llamado neurona (o unidad) : dado unaserie de entradas calcula salida unidimensional (su función de activación)
f(1)
1st -layer
Feedforward networks
f(2)
2nd -layerf(3)
3rd -layerf(n)
nth -layerci=f(x)
8 / 38
Neuronas Artificiales
• Componente elemental del Aprendizaje Profundo
• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.
• El nombre viene de su “paralelismo” con las neuronas biológicas
a(x) =n∑
i=1
wixi + b
h(x) = g(a(x))
9 / 38
Neuronas Artificiales
• Componente elemental del Aprendizaje Profundo
• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.
• El nombre viene de su “paralelismo” con las neuronas biológicas
a(x) =n∑
i=1
wixi + b
h(x) = g(a(x))
9 / 38
Neuronas Artificiales
• Componente elemental del Aprendizaje Profundo
• Típicamente, está compuesta por: operación lineal + función deactivación no lineal.
• El nombre viene de su “paralelismo” con las neuronas biológicas
a(x) =n∑
i=1
wixi + b
h(x) = g(a(x))
9 / 38
Neuronas artificiales
• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal
1 Pre-activación:
a(x) =n∑
i=1
wixi+b = wTx+b
2 Activación (salida):
h(x) = g(a(x)) = g
(n∑
i=1
wixi + b
) x1
xn
input
1b
w1
wn
h(x)
10 / 38
Neuronas artificiales
• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal
1 Pre-activación:
a(x) =n∑
i=1
wixi+b = wTx+b
2 Activación (salida):
h(x) = g(a(x)) = g
(n∑
i=1
wixi + b
)
x1
xn
input
1b
w1
wn
h(x)
10 / 38
Neuronas artificiales
• Una neurona artificial se compone (en general) de:una operación lineal + una función de activación no lineal
1 Pre-activación:
a(x) =n∑
i=1
wixi+b = wTx+b
2 Activación (salida):
h(x) = g(a(x)) = g
(n∑
i=1
wixi + b
) x1
xn
input
1b
w1
wn
h(x)
10 / 38
Neuronas artificiales
• Una neurona se compone (en general) de: una operación lineal + unafunción de activación no lineal. (linear units):
h(x) = g(a(x)) = g
(n∑
i=1
wixi + b
) x1
xn
input
1b
w1
wn
h(x)
11 / 38
Funciones de Activación
12 / 38
Funciones de Activación
12 / 38
Funciones de Activación
12 / 38
Funciones de Activación
12 / 38
Funciones de Activación
12 / 38
Neuronas lineales: Capacidad
• Una única neurona puede hacerclasificación binaria:
→ Frontera de decisión es lineal
x1
xn
input
1b
w1
wn
h(x)
13 / 38
Red neuronal de una capa oculta
• Entrada: x
• Pre-activación:
a = W(1)Tx+ b(1)
• Activación capa oculta:
h(1)(x) = g(a(x))
• Capa de salida:
f(x) = o(w(2)Th(1) + b(2)
)
h1
hi
hd
f(x)
x1
xj
xn
W(1)
W(1)
W(1)w(2)
w(2)
w(2)
1,1
j,i
2,1
1
i
d
input layer hidden layer
output layer
1 b(1)1
1b(2)
14 / 38
Red neuronal de una capa oculta
• Entrada: x
• Pre-activación:
a = W(1)Tx+ b(1)
• Activación capa oculta:
h(1)(x) = g(a(x))
• Capa de salida:
f(x) = o(w(2)Th(1) + b(2)
)
h1
hi
hd
f(x)
x1
xj
xn
W(1)
W(1)
W(1)w(2)
w(2)
w(2)
1,1
j,i
2,1
1
i
d
input layer hidden layer
output layer
1 b(1)1
1b(2)
14 / 38
Red neuronal de una capa oculta
• Entrada: x
• Pre-activación:
a = W(1)Tx+ b(1)
• Activación capa oculta:
h(1)(x) = g(a(x))
• Capa de salida:
f(x) = o(w(2)Th(1) + b(2)
)
h1
hi
hd
f(x)
x1
xj
xn
W(1)
W(1)
W(1)w(2)
w(2)
w(2)
1,1
j,i
2,1
1
i
d
input layer hidden layer
output layer
1 b(1)1
1b(2)
14 / 38
Red neuronal de una capa oculta
• Entrada: x
• Pre-activación:
a = W(1)Tx+ b(1)
• Activación capa oculta:
h(1)(x) = g(a(x))
• Capa de salida:
f(x) = o(w(2)Th(1) + b(2)
)
h1
hi
hd
f(x)
x1
xj
xn
W(1)
W(1)
W(1)w(2)
w(2)
w(2)
1,1
j,i
2,1
1
i
d
input layer hidden layer
output layer
1 b(1)1
1b(2)
14 / 38
Red neuronal de una capa oculta
• Entrada: x
• Pre-activación:
a = W(1)Tx+ b(1)
• Activación capa oculta:
h(1)(x) = g(a(x))
• Capa de salida:
f(x) = o(w(2)Th(1) + b(2)
)
h1
hi
hd
f(x)
x1
xj
xn
W(1)
W(1)
W(1)w(2)
w(2)
w(2)
1,1
j,i
2,1
1
i
d
input layer hidden layer
output layer
1 b(1)1
1b(2)
14 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales
, se obtiene: w = 0,b = 12 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales
, se obtiene: w = 0,b = 12 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales
, se obtiene: w = 0,b = 12 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1
2 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1
2 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
• Supongamos que queremos aproximar la función f?(x) = xor(x1, x2)
• 4 puntos : {(0, 0), (0, 1), (1, 0), (1, 1)}, con salidas 0, 1, 1, 0 respec.
• Objetivo: encontrar f que prediga bien los cuatro puntos
• Planteamos una regresión:
J(θ) =1
4
4∑i=1
(f?(xi)− f(x; θ))2
• Si buscamos un modelo lineal: f(x;w,b) = wTx+ b y resolvemos lasecuaciones normales , se obtiene: w = 0,b = 1
2 .
• J(θ) > 0: no se logra aproximar de maneraperfecta la salida.
• Era esperable porque los datos no sonlinealmente separables
15 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
Supongamos que se utilizan dos capas (una capa oculta)
• Es decir: y = f(x;W(1),b(1),w(2),b(2)) = f(2)(f(1)(x))
• ¿Qué pasa si f(1) es lineal?
• Utilizamos función de activación ReLU (rectified linear unit)g(x) = max(0, x) (aplicada elemento a elemento)
Si capa oculta tiene dos neuronas, tenemos:
f(2)(f(1)(x)) = w(2)T max{0,W(1)Tx+ b(1)}+ b(2)
Solución con error cero (J(θ) = 0):
W(1) =
[1 11 1
], b(1) =
[0−1
],w(2) =
[1−2
], b(2) = 0
16 / 38
Ejemplo: XOR
• Intuición: Se puede construir con dos capas que separan linealmente
17 / 38
Capacidad de red de una capa oculta
18 / 38
Capacidad de red de una capa oculta
18 / 38
Capacidad de red de una capa oculta
• Cuantas más neuronas, más capacidad de ajustar
• Capacidad relacionada con número de neuronas ocultas(volveremos sobre esto) y regularización
+λ‖W‖2 “weight decay”
Demo:
http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
18 / 38
Capacidad de red de una capa oculta
• Cuantas más neuronas, más capacidad de ajustar
• Capacidad relacionada con número de neuronas ocultas(volveremos sobre esto) y regularización
+λ‖W‖2 “weight decay”
Demo:
http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
18 / 38
Teorema de Aproximación Universal
Teorema (Cybenko, 1989; Hornik 1991)
“Una red neuronal prealimentada con una única capa oculta y unnúmero finito de neuronas, puede aproximar cualquier funcióncontinua en un espacio compacto de Rn.”
• Con los paramétros adecuados, se puede representar una granvariedad de funciones
• Cybenko (1989) para función de activación sigmoide
• Hornik (1991) muestra que lo importante es la arquitecturafeedfoward no función de activación
• Leshno et al. (1993) lo demuestra para una familia más general defunciones, que incluyen a la ReLU.
19 / 38
Teorema de Aproximación Universal
Teorema (Cybenko, 1989; Hornik 1991)
“Una red neuronal prealimentada con una única capa oculta y unnúmero finito de neuronas, puede aproximar cualquier funcióncontinua en un espacio compacto de Rn.”
• Con los paramétros adecuados, se puede representar una granvariedad de funciones
• Cybenko (1989) para función de activación sigmoide
• Hornik (1991) muestra que lo importante es la arquitecturafeedfoward no función de activación
• Leshno et al. (1993) lo demuestra para una familia más general defunciones, que incluyen a la ReLU.
19 / 38
Ejemplo: función Pulso con una Red Neuronal
• Utilizando una Red Neuronal con función de activación ReLU
g(x) = max{x, 0}
• ¿Cómo podemos construir el siguiente Pulso?
β1 β2 β3 β4
Pendiente γ
Slides de Miguel Calvo-Fullana
20 / 38
Ejemplo: función Pulso con una Red Neuronal
γ (x − β2)
γ (x − β1)
γ (x − β3)
γ (x − β4)
max{0, x}
max{0, x}
max{0, x}
max{0, x}
x
+
−
−
+
β1β2 β3β4
Slides de Miguel Calvo-Fullana
21 / 38
Ejemplo: función Pulso con una Red Neuronal
γ (x − β2)
γ (x − β1)
γ (x − β3)
γ (x − β4)
max{0, x}
max{0, x}
max{0, x}
max{0, x}
x
+
−
−
+
β1β2 β3β4
Slides de Miguel Calvo-Fullana
22 / 38
Ejemplo: función Pulso con una Red Neuronal
γ (x − β2)
γ (x − β1)
γ (x − β3)
γ (x − β4)
max{0, x}
max{0, x}
max{0, x}
max{0, x}
x
+
−
−
+
β1β2 β3β4
Slides de Miguel Calvo-Fullana
23 / 38
Ejemplo: función Pulso con una Red Neuronal
γ (x − β2)
γ (x − β1)
γ (x − β3)
γ (x − β4)
max{0, x}
max{0, x}
max{0, x}
max{0, x}
x
+
−
−
+
β1β2 β3β4
γ
Slides de Miguel Calvo-Fullana
24 / 38
Representando funciones continuas con el Pulso
−4 −3 −2 −1 0 1 2 3 4−100
−50
0
50
100
• Podemos aproximar funciones continuas usando pulsos
Slides de Miguel Calvo-Fullana
25 / 38
¿Por qué usar redes profundas?
• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.
26 / 38
¿Por qué usar redes profundas?
• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.
1. Redes poco profundas son ineficientes para representar funcionescomplejas
26 / 38
¿Por qué usar redes profundas?
• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.
Montufar et al. [2014], “Red neuronal (ReLu), concon d entradas, L capas, n unidades por capa oculta,puede calcular funciones con:
O
(nd
)d(L−1)
nd
,
regiones lineales.”
• Número de regiones crece de manera exponencial con profundidadL y polinomial con n, (mucho más rápido que red de una capa ocultacon nL neuronas).
26 / 38
¿Por qué usar redes profundas?
• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.
Montufar et al. [2014]
26 / 38
¿Por qué usar redes profundas?
• Una única capa oculta con número arbitrariamente grande deneuronas es un aproximador universal.
2. Los datos (o tareas) tienen en general una organización jerárquica
26 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Arquitectura de red de múltiples capas
Red con L capas ocultas.
• Entrada:
x (= h(0))
• Pre-activación capa (j):
a(j)(x) =(W(j)Th(j−1) + b
(j))
• Salida capa (j)
h(j)(x) = g(a(j)(x))
• Salida de la red (capa L+ 1)
f(x) = o(a(L+1)
)
h(1)
h(1)
h(1)
h(2)
f(x)
x1
x2
x3
W(1)
W(1) W(2)
w(3)
w(3)
w(3)
1
2
3
4
1
2
3
1,1
3,3
2,1
3,4
1
2
4
input layer
1st hidden layer
2nd hidden layer
output layer
1 b(1)11 b(2)1
1b(3)h(2)
h(2)
h(2)
W(2)1,1
W(1)
Nomenclatura:
• “3-layer neural net” o“2-hidden-layer neural net”
• Capas totalmente conectadas(“Fully-connected layers”)
• Tambien conocido como(Multi-layer Perceptron (MLP))
27 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!
• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?
• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Desafíos en Aprendizaje Profundo
• Las Redes Neuronales proporcionan una familia de funcionesparamétricas capaz de aproximar cualquier función de losdatos.
• ¿Esto resuelve todos los problemas?
1 Optimización: Ya no es convexa!• Métodos eficientes, pero sin garantías (clase 8)
2 Arquitectura: ¿Cuántas capas, neuronas, conexiones, etc.?• Conocimiento del problema / datos (inductive bias)
3 Generalización: Aproxima la función de los datos deentrenamiento ¿y en evaluación?
• Regularización (clase 7), (también en clase 19)
28 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x) Error de
Aproximación
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)
fΘ(x;D )
Error de Aproximación
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)
fΘ(x;D )
Error de Aproximación
Error de Generalización
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)
fΘ(x;D )
fΘ(x;D )
Error de Aproximación
Error de Generalización
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Espacio de funciones de predicción f(x)f*(x)
Espacio de funciones paramétricas de predicción fΘ(x)fΘ(x)
fΘ(x;D )
fΘ(x;D )
Error de Aproximación
Error de Generalización
Error de Optimización
Basado en slides de R. Vidal
29 / 38
Tres desafíos en Aprendizaje Profundo
Arquitectura(Aproximación)
Generalización Optimización
Basado en slides de R. Vidal
29 / 38
Aprendizaje basado en Optimización
Red de 50 capas Red de 100 capas
Li et al. “Visualizing the Loss Landscape of Neural Nets”, NeurIPS 2018
30 / 38
Aprendizaje basado en Optimización
• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},
• Definimos una arquitectura de red:
f(x; θ) := f (n)(f (n−1)
(· · · f (2)
(f (1) (x)
)· · ·))
.
• Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
parámetros θ =[W(1),W(2), . . . ,W(n)
]• Optimización mediante descenso por gradiente (estocástico)
• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]
31 / 38
Aprendizaje basado en Optimización
• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},
• Definimos una arquitectura de red:
f(x; θ) := f (n)(f (n−1)
(· · · f (2)
(f (1) (x)
)· · ·))
.
• Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
parámetros θ =[W(1),W(2), . . . ,W(n)
]• Optimización mediante descenso por gradiente (estocástico)
• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]
31 / 38
Aprendizaje basado en Optimización
• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},
• Definimos una arquitectura de red:
f(x; θ) := f (n)(f (n−1)
(· · · f (2)
(f (1) (x)
)· · ·))
.
• Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
parámetros θ =[W(1),W(2), . . . ,W(n)
]
• Optimización mediante descenso por gradiente (estocástico)
• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]
31 / 38
Aprendizaje basado en Optimización
• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},
• Definimos una arquitectura de red:
f(x; θ) := f (n)(f (n−1)
(· · · f (2)
(f (1) (x)
)· · ·))
.
• Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
parámetros θ =[W(1),W(2), . . . ,W(n)
]• Optimización mediante descenso por gradiente (estocástico)
• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]
31 / 38
Aprendizaje basado en Optimización
• Queremos encontrar f(x; θ) que aproxime datos en un conjuntode puntos {(x1, y1), . . . , (x1, y1)},
• Definimos una arquitectura de red:
f(x; θ) := f (n)(f (n−1)
(· · · f (2)
(f (1) (x)
)· · ·))
.
• Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
parámetros θ =[W(1),W(2), . . . ,W(n)
]• Optimización mediante descenso por gradiente (estocástico)
• Necesitamos calcular el gradiente: Algoritmo Backpropagation(¡Próxima clase!) [Repasar regla de la cadena]
31 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
En realidad, nos gustaría minimizar error de predicción esperado:
θ? = argminθ
Ex,y
{L(f(x; θ), y)
}Para obtener una buena aproximación del error esperado necesito:
• contar con muchos datos (n � 1)
• los datos sean de la misma distribución subyacente.
32 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
En realidad, nos gustaría minimizar error de predicción esperado:
θ? = argminθ
Ex,y
{L(f(x; θ), y)
}
Para obtener una buena aproximación del error esperado necesito:
• contar con muchos datos (n � 1)
• los datos sean de la misma distribución subyacente.
32 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
Planteamos el problema como una minimización:
θ = argminθ
n∑i=1
L(f(xi; θ), yi)
En realidad, nos gustaría minimizar error de predicción esperado:
θ? = argminθ
Ex,y
{L(f(x; θ), y)
}Para obtener una buena aproximación del error esperado necesito:
• contar con muchos datos (n � 1)
• los datos sean de la misma distribución subyacente.
32 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos
• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error
• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)
• Esto diferencia el aprendizaje automático de la optimización
• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:
• partición de datos en: train + validation + test• validación cruzada + test
33 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos
• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error
• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)
• Esto diferencia el aprendizaje automático de la optimización
• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:
• partición de datos en: train + validation + test• validación cruzada + test
33 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos
• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error
• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)
• Esto diferencia el aprendizaje automático de la optimización
• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:
• partición de datos en: train + validation + test• validación cruzada + test
33 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos
• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error
• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)
• Esto diferencia el aprendizaje automático de la optimización
• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:
• partición de datos en: train + validation + test• validación cruzada + test
33 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que el algoritmo entrenadofuncione bien en datos no conocidos
• A esta habilidad se le llama generalización y se mide con el error degeneralización o test error
• Error de generalización: valor esperado del error en una muestra noconocida (se asume proviene de la misma distribución subyacente)
• Esto diferencia el aprendizaje automático de la optimización
• Podemos estimar el error de generalización en un conjunto de datosno utilizado durante la etapa de entrenamiento:
• partición de datos en: train + validation + test• validación cruzada + test
33 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora
• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función
θ = argminθ
ntrain∑i=1
Li(f(xi; θ), yi)
• Podemos definir los errores en el conjunto de entrenamiento y de test,
Etrain =1
ntrain
ntrain∑i=1
Li(f(xi; θ), yi), Etest =1
ntest
ntest∑i=1
Li(f(xi; θ), yi)
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora
• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función
θ = argminθ
ntrain∑i=1
Li(f(xi; θ), yi)
• Podemos definir los errores en el conjunto de entrenamiento y de test,
Etrain =1
ntrain
ntrain∑i=1
Li(f(xi; θ), yi), Etest =1
ntest
ntest∑i=1
Li(f(xi; θ), yi)
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora
• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función
θ = argminθ
ntrain∑i=1
Li(f(xi; θ), yi)
• Podemos definir los errores en el conjunto de entrenamiento y de test,
Etrain =1
ntrain
ntrain∑i=1
Li(f(xi; θ), yi), Etest =1
ntest
ntest∑i=1
Li(f(xi; θ), yi)
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• Sea Dtrain,Dtest ∼ pdata(x, y) conjuntos de entrenamiento y testing generados apartir de la misma distribución generadora
• Entrenamos un sistema de manera de obtener los parámetros que minimizanla función
θ = argminθ
ntrain∑i=1
Li(f(xi; θ), yi)
• Podemos definir los errores en el conjunto de entrenamiento y de test,
Etrain =1
ntrain
ntrain∑i=1
Li(f(xi; θ), yi), Etest =1
ntest
ntest∑i=1
Li(f(xi; θ), yi)
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad, sobreajuste, subajustecapacity, overfitting, underfitting
• El objetivo del aprendizaje automático es que• Etrain sea muy pequeno• Etrain y Etest sean similares
• Si Etrain es grande: modelo subajusta (underfitting), modelo elegido no essuficientemente complejo como para representar los datos (poca capacidad)
• Si Etest − Etrain es grande: modelo sobreajusta (overfitting), modelo demasiadocomplejo y sobreajusta conjunto de entrenamiento (demasiada capacidad)
• Capacidad del modelo es controlada por: espacio de funciones (e.g.,polinomios de grado n), regularización, cantidad de parámetros
34 / 38
Capacidad: Ejemplo
Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,
y = b+
n∑i=1
wixi.
35 / 38
Capacidad: Ejemplo
Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,
y = b+
n∑i=1
wixi.
Evaluamos el error de ajuste utilizando un conjunto de testing
Capacidad ideal: orden ≈ 3
35 / 38
Capacidad: Ejemplo
Dado un conjunto de ntrain puntos de entrenamiento ajustamos unpolinomio de orden n,
y = b+
n∑i=1
wixi.
Evaluamos el error de ajuste utilizando un conjunto de testing
Capacidad ideal: orden ≈ 3
35 / 38
Capacidad: Ejemplo
ntrain = 5
36 / 38
Capacidad: Ejemplo
ntrain = 6
36 / 38
Capacidad: Ejemplo
ntrain = 7
36 / 38
Capacidad: Ejemplo
ntrain = 10
36 / 38
Capacidad: Ejemplo
Capacidad ideal depende del (tamaño) conjunto de
entrenamiento
ntrain = 5 ntrain = 10
36 / 38
Número de parámetros de una red
• Red de 2 capas
• 1 capa oculta (4 neuronas), 1 capa de salida (2 neuronas), 3 entradas
• 4 + 2 = 6 neuronas
• 3x4 + 4x2 = 20 pesos, 4 + 2 = 6 bias = 26 parámetros
37 / 38
Número de parámetros de una red
• Red de 3 capas
• 2 capas ocultas (4 neuronas cada una), 1 capa de salida (1 neurona)
• 4 + 4 + 1 = 9 neuronas
• 3x4 + 4x4 + 4x1 = 32 pesos, 4 + 4 +1 = 9 biases = 41 parámetros
37 / 38
Número de parámetros de una red
¿Es el número de parámetros una buena medida de la capacidad?
37 / 38
Número de parámetros de una red
w
• Redes de convolución (que vamos a ver más adelante), muyutilizadas en la práctica pueden llegar a tener decenas de capas yvarios millones de parámetros.
37 / 38
Número de parámetros de una red
Xie et al. “Exploring Randomly Wired Neural Networks for Image Recognition”, ICCV 2019
• No todas las redes neuronales tienen una estructura regular de capas!
37 / 38
Red Neuronal de Dos Capas en 16 líneas de código
• W1,W2 – parámetros a aprender (sin bias)
• Minimiza la norma 2 entre predicción y valor realEjemplo de J. Johnson
38 / 38