Introducción al Aprendizaje Profundo
Introducción al Aprendizaje Profundo
Profundo(Deep Learning)
MÓDULO 1
2
Sobre mí
Aurea Soriano-Vargas
Personal profile
Peruvian Professional in Computer
Science in Quarantine
Research Interests
Current Position
Information Visualization, Visual
Analytics(Visual Data Mining), Image Postdoctoral researcher at State
Processing and Machine Learning. University of Campinas
PhD MSc
Computer Science from University of São Computer Science from University of São
Paulo, Brazil in 2018 Paulo, Brazil in 2013
4
Mollendo - Arequipa
Mollendo - Arequipa
6
UNICAMP
7
UNICAMP
8
¿Quiénes somos nosotros? ¿Quiénes son ustedes?
Preliminares de Matemática
Optimización
Álgebra Lineal
11
lee
12
lee lee
13
lee lee
la matemática la matemática
14
lee lee
la matemática la matemática
15
lee lee
la matemática la matemática
16
lee lee
la matemática la matemática
17
lee lee
la matemática la matemática
Lee la matemática
que está por from [Link] import
detrás de DL RandomForestClassifier
18
lee lee
la matemática la matemática
19
Vectores
Ciencia de la Computación: Vector es un arreglo unidimensional de escalares de valor real.
20
Producto Punto
Producto interno o producto escalar de vectores.
Simétrico, 
21
Norma de un vector
Función que asigna un vector a un valor escalar (medida del tamaño del vector)
Propiedades:
Escalamiento: 
Desigualdad triangular: 
Debe ser no negativo: 
22
Norma de un vector
Para p=2, norma
■ norma euclidiana.
■ más utilizada
■ con el subíndice 2 omitido
■ valores absolutos
Para p= , norma
23
Hiperplanos
● Subespacio cuya dimensión es uno menos que la de su espacio ambiental.
○ En un espacio 2D, línea recta (es decir, 1D)
○ En 3D, plano (es decir, 2D)
○ En un espacio vectorial de dimensión d, un hiperplano tiene d-1 dimensiones  y divide el
espacio en dos medios espacios
24
Matrices
Suma o resta
Multiplicación escalar
Multiplicación de matrices
25
Matrices
Transpuesta de la matriz: tiene las filas y columnas intercambiados
Algunas propiedades
26
Tensores
Los tensores son matrices n-dimensionales de escalares
● Los vectores son tensores de primer orden, 
● Las matrices son tensores de segundo orden, 
● Por ejemplo, un tensor de cuarto orden es 
27
Manifolds
● Los hiperplanos generalizan el concepto de planos en espacios de alta dimensión.
○ Los manifolds informalmente son una generalización del concepto de superficies
en espacios de alta dimensión.
28
Manifolds
● Espacios topológicos (matemática).
● Manifold n-dimensional: espacio topológico con la propiedad de que cada punto tiene una
vecindad que es homeomorfa al espacio euclidiano de dimensión n
○ Un manifold localmente se asemeja al espacio euclidiano cerca de cada punto.
○ De manera informal, un espacio euclidiano es localmente liso, no tiene agujeros, bordes
u otros cambios repentinos y no tiene vecindarios que se crucen
○ Aunque los manifolds pueden tener una estructura muy compleja a gran escala, la
semejanza del espacio euclidiano a pequeña escala permite aplicar conceptos
matemáticos estándar.
31
Derivadas de Funciones Explícitas
32
Derivadas de Orden Superior
La derivada de la primera derivada de una función f(x)  es la segunda derivada de f(x)

La segunda derivada cuantifica cómo está cambiando la tasa de cambio de f(x)
● Por ejemplo, en física, si la función describe el desplazamiento de un objeto, la primera derivada da la
velocidad del objeto (es decir, la tasa de cambio de posición)
● La segunda derivada da la aceleración del objeto (es decir, la tasa de cambio de la velocidad)
33
Derivadas Parciales
● Hasta ahora, analizamos las funciones de una sola variable, donde 
● Las funciones que dependen de muchas variables se denominan funciones multivariadas.
● Sea  una función multivariada con n variables
○ La entrada es un vector n-dimensional  y la salida es un escalar y
○ La función de mapeamiento es:

● La derivada parcial de y con respecto a su i-ésimo parámetro  es
34
Gradiente
● Vector gradiente de la función: Derivadas parciales de una función multivariada con respecto a
todas sus variables de entrada
35
Cálculo Integral
● Para una función f(x) definida en el dominio [a,b], la integral definida de la función se
denota
36
Optimización
● Optimizar una función objetivo: encontrar el valor de un argumento que minimiza o maximiza la
función
○ La mayoría de los algoritmos de optimización se formulan en términos de minimizar
una función f (x)
○ La maximización se logra minimizando lo negativo de una función objetivo (por
ejemplo, minimizar -f (x))
○ En los problemas de minimización, la función objetivo = función de costo o función
de pérdida o función de error.
37
Optimización
● La optimización y el aprendizaje automático tienen objetivos relacionados pero algo diferentes
○ Meta en optimización: minimizar una función objetivo
■ Para un conjunto de ejemplos de entrenamiento, reducir el error de entrenamiento
○ Objetivo en ML: encontrar un modelo adecuado para predecir sobre ejemplos de
datos
■ Para un conjunto de ejemplos de prueba, reduzca el error de generalización
● Para una función empírica dada g (curva púrpura discontinua), los algoritmos de optimización intentan
encontrar el punto de riesgo empírico mínimo
38
Puntos Estacionarios
● Puntos estacionarios (o puntos críticos) de una función diferenciable f(x) de una variable: los
puntos donde la derivada de la función es cero, es decir, f '(x) = 0
● Los puntos estacionarios pueden ser:
○ Mínimo, un punto donde la derivada cambia de negativa a positiva.
○ Máximo, un punto donde la derivada cambia de positiva a negativa.
○ Punto de Silla, la derivada es positiva o negativa en ambos lados del punto
● Los puntos mínimo y máximo se conocen colectivamente como puntos extremos.
● La naturaleza de los puntos estacionarios se puede determinar basándose en la segunda
derivada de f(x) en el punto
○ Si f’’(x)>0, el punto es un mínimo
○ Si f’’(x)<0, el punto es un máximo
○ Si f’’(x)=0, no es concluyente, el punto puede ser un punto de silla, pero
puede que no
● El mismo concepto también se aplica a los gradientes de funciones multivariadas.
39
Puntos Estacionarios
● Puntos estacionarios (o puntos críticos) de una función diferenciable f(x) de una variable: los
puntos donde la derivada de la función es cero, es decir, f '(x) = 0
● Los puntos estacionarios pueden ser:
○ Mínimo, un punto donde la derivada cambia de negativa a positiva.
○ Máximo, un punto donde la derivada cambia de positiva a negativa.
○ Punto de Silla, la derivada es positiva o negativa en ambos lados del punto
● Los puntos mínimo y máximo se conocen colectivamente como puntos extremos.
● La naturaleza de los puntos estacionarios se puede determinar basándose en la segunda
derivada de f(x) en el punto
○ Si f’’(x)>0, el punto es un mínimo
○ Si f’’(x)<0, el punto es un máximo
○ Si f’’(x)=0, no es concluyente, el punto puede ser un punto de silla, pero
puede que no
● El mismo concepto también se aplica a los gradientes de funciones multivariadas.
40
Mínimo Local
● Entre los desafíos en la optimización de los parámetros del modelo en ML se encuentran los
mínimos locales, los puntos de silla y los gradientes de fuga (vanishing gradients).
● Para una función objetivo f(x), si el valor en un punto x es el mínimo de la función objetivo en
todo el dominio de x, entonces es el mínimo global
● Si el valor de f(x) en x es menor que los valores de la función objetivo en cualquier otro punto
en la vecindad de x, entonces es el mínimo local
● Las funciones objetivo en ML suelen tener muchos mínimos locales
● Cuando la solución del algoritmo de optimización está cerca del mínimo local, el gradiente de
la función de pérdida se acerca o se vuelve cero (gradientes que desaparecen)
● Por tanto, la solución obtenida en la iteración final puede ser un mínimo local, en lugar del
mínimo global
41
Punto de Silla
● El gradiente de una función f(x)  en un punto de silla es 0, pero no es un punto mínimo o
máximo
○ Los algoritmos de optimización pueden detenerse en los puntos de silla, sin
alcanzar un mínimo.
42
Introducción
Mapa de Aprendizaje
escenario tarea método
Teoría de Aprendizaje
Aprendizaje Aprendizaje de
Regresión Semisupervisado Transferencia
Aprendizaje No Aprendizaje de
Modelo Lineal Supervisado Refuerzo
44
Mapa de Aprendizaje
Regresión
Modelo Lineal
Aprendizaje Profundo
(Deep Learning)
Modelo No Lineal
Clasificación
45
Clasificación - Deep Learning
Función
46
Clasificación - Deep Learning
Estructura Jerárquica
Función
47
Clasificación - Deep Learning
• Reconocimiento de Imágenes
Estructura Jerárquica “mono”
Función
“perro”
Cada posible objeto
pertenece a una clase
48
Clasificación - Deep Learning
• Reconocimiento de Imágenes Datos de entrenamiento
Estructura Jerárquica “mono”
“mono”
“gato”
Función
“gato”
“perro”
Cada posible objeto “perro”
pertenece a una clase
49
Aprendizaje Profundo:
¿Exageración o esperanza?
50
51
52
Sinónimos
53
Sinónimos
Aprendizaje de representación
(Representation Learning)
54
Sinónimos
Aprendizaje de representación
(Representation Learning)
55
Sinónimos
Aprendizaje de representación
(Representation Learning)
56
Sinónimos
Aprendizaje de representación
(Representation Learning)
[Link]
¿Por qué Deep Learning (DL) es útil?
● Las características diseñadas manualmente a menudo están sobreespecificadas, incompletas y
requieren mucho tiempo para diseñarlas y validarlas y no escalables en la práctica.
● ¿Podemos aprender las características subyacentes directamente a partir de los datos?
● El aprendizaje profundo proporciona un marco de aprendizaje muy flexible (¿casi?) universal para
representar información mundial, visual y lingüística.
● Puede aprender tanto sin supervisión como supervisado
● Utiliza grandes cantidades de datos de entrenamiento
En ~ 2010, DL comenzó a superar a otras técnicas de ML
primero en habla y visión, luego en NPL
¿Por qué Deep Learning (DL) es útil?
Características de bajo Características de Características de
nivel nivel medio nivel alto
63
Citaciones al artículo científico
"LeNet"
• Recordemos: LeNet era una red moderna de clasificación visual que reconocía los dígitos de
los códigos postales. Sus citaciones se ven así:
• La década de 2000 fue una época dorada para el aprendizaje automático y marcó el ascenso
de los modelos gráficos. Pero no es así para las redes neuronales.
64
Citaciones al artículo científico
"LeNet"
• Recordemos: LeNet era una red moderna de clasificación visual que reconocía los dígitos de
los códigos postales. Sus citaciones se ven así:
Segunda Fase
• La década de 2000 fue una época dorada para el aprendizaje automático y marcó el ascenso
de los modelos gráficos. Pero no es así para las redes neuronales.
65
Citaciones al artículo científico
"LeNet"
• Recordemos: LeNet era una red moderna de clasificación visual que reconocía los dígitos de
los códigos postales. Sus citaciones se ven así:
• La década de 2000 fue una época dorada para el aprendizaje automático y marcó el ascenso
de los modelos gráficos. Pero no es así para las redes neuronales.
66
Citaciones al artículo científico
"LeNet"
• Recordemos: LeNet era una red moderna de clasificación visual que reconocía los dígitos de
los códigos postales. Sus citaciones se ven así:
• La década de 2000 fue una época dorada para el aprendizaje automático y marcó el ascenso
de los modelos gráficos. Pero no es así para las redes neuronales.
67
Aprendizaje de Redes Neuronales Profundas
Yann Lecun
68
Aprendizaje de Redes Neuronales Profundas
percepciones modelado teórico
intuitivas
estudios empíricos
implementaciones
prácticas
análisis científicos
Yann Lecun
69
Fama de Deep Learning
DEEP NEURAL
NETWORKS
70
Fama de Deep Learning
71
Clasificación de Imágenes
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
1000 clases 1.4M/50k/100k imágenes
[Link]
72
Clasificación de Imágenes
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
73
Entonces, ¿qué es el aprendizaje profundo
(automático) (Deep (Machine) Learning)?
Algunas ideas diferentes:
Composición (jerárquica)
Cascada de transformaciones no lineales
Varias capas de representaciones
Aprendizaje integral
Aprendizaje de representaciones basadas en el objetivo.
Aprendizaje de extracción de características.
Representaciones distribuidas
Ninguna neurona "codifica" todo
Grupos de neuronas trabajan juntas
74
Entonces, ¿qué es el aprendizaje profundo
(automático) (Deep (Machine) Learning)?
Algunas ideas diferentes:
Composición (jerárquica)
Cascada de transformaciones no lineales
Varias capas de representaciones
Aprendizaje integral
Aprendizaje de representaciones basadas en el objetivo.
Aprendizaje de extracción de características.
Representaciones distribuidas
Ninguna neurona "codifica" todo
Grupos de neuronas trabajan juntas
75
Aprendizaje automático tradicional
Visión
características extraídas
manualmente
tu clasificador favorito
(hand-crafted) “carro”
SIFT/HOG
fijo aprendido
Voz
características extraídas
manualmente tu clasificador favorito
(hand-crafted) \ˈd ē p\
MFCC
fijo aprendido
NLP
características extraídas
Este curso es dinámico y muy manualmente tu clasificador favorito
detallado. (hand-crafted) “+”
Bag-of-words
fijo aprendido 76
Ingeniería de funciones
HoG Textons
77
Composición jerárquica
Visión
Voz
muestra banda motif fonema palabra
formant
espectral
NLP
Este curso es dinámico y muy caracter palabra sujeto/ claúsula oración historia
detallado. predicado
78
Deep Learning - Composición Jerárquica
“carro”
79
Deep Learning - Composición Jerárquica
80
Feature visualization of convolutional net trained on ImageNet from [Zeiler & Fergus 2013]
Entonces, ¿qué es el aprendizaje profundo
(automático) (Deep (Machine) Learning)?
Algunas ideas diferentes:
Composición (jerárquica)
Cascada de transformaciones no lineales
Varias capas de representaciones
Aprendizaje integral
Aprendizaje de representaciones basadas en el objetivo.
Aprendizaje de extracción de características.
Representaciones distribuidas
Ninguna neurona "codifica" todo
Grupos de neuronas trabajan juntas
81
Deep Learning - Aprendizaje Integral
Una jerarquía de transformaciones de características entrenables
Cada módulo transforma su representación de entrada en una de nivel
superior.
Las funciones de alto nivel son más globales e invariables
Las funciones de bajo nivel se comparten entre categorías
82
Entonces, ¿qué es el aprendizaje profundo
(automático) (Deep (Machine) Learning)?
Algunas ideas diferentes:
Composición (jerárquica)
Cascada de transformaciones no lineales
Varias capas de representaciones
Aprendizaje integral
Aprendizaje de representaciones basadas en el objetivo.
Aprendizaje de extracción de características.
Representaciones distribuidas
Ninguna neurona "codifica" todo
Grupos de neuronas trabajan juntas
83
Representaciones Distribuidas (Ejemplo Básico)
Local vs Distribuido
84
Representaciones Distribuidas (Ejemplo Básico)
Local vs Distribuido
85
Representaciones Distribuidas (Ejemplo Básico)
86
¡El poder de las representaciones distribuidas!
Local
Distribuido
87
Perceptron
Perceptron: Forward Propagation
89
Perceptron: Forward Propagation
90
Perceptron: Forward Propagation
91
Perceptron: Forward Propagation
92
Perceptron: Forward Propagation
93
Funciones de Activación
Funciones de Activación: Importancia
Objetivo: introducir no linealidades a la red.
No linealidades necesarias para aprender representaciones complejas (no lineales) de datos;
de lo contrario, la red neuronal sería sólo una función lineal
Funciones de activación
Por ejemplo si queremos construir una
lineales producen decisiones
red neuronal para distinguir puntos
lineales sin importar el
verdes vs rojos.
tamaño de la red
Funciones de Activación: Importancia
Objetivo: introducir no linealidades a la red.
No linealidades necesarias para aprender representaciones complejas (no lineales) de datos;
de lo contrario, la red neuronal sería sólo una función lineal
101
Funciones de Activación Comunes
Función Sigmoidea Tangente Hiperbólica Rectified Linear Unit (ReLU)
[Link]
Funciones de activación
¿Cómo entrenamos?
4 + 2 = 6 neuronas (sin contar las entradas)
[3 x 4] + [4 x 2] = 20 pesos
4 + 2 = 6 biases (sesgos)
26 parámetros aprendibles
Demo
Entrenamiento
(Forward)
Muestra de datos Reenvíelo a (Backpropagate)
Actualizar los
etiquetados través de la red, Retropropagar
pesos de la red
(lote/batch) obtenga los errores
predicciones
Función objetivo
Función de costo
Riesgo empírico
Pérdida de Entropía Cruzada Binaria (Binary
Cross Entropy Loss)
Puede ser usada con modelos que retornan una probabilidad entre 0 y 1
Pérdida: Error cuadrado Medio
Puede ser usada con modelos de regresión que retorna números reales
continuos
Entrenando Redes Neuronales
Optimización de la Pérdida
Queremos encontrar lo pesos de la red que logren la menor pérdida:
127
Optimización de la Pérdida
Queremos encontrar lo pesos de la red que logren la menor pérdida:
Recordemos que:
128
Optimización de la Pérdida
Recordemos
que la pérdida
es una función
de los pesos de
la red.
129
Optimización de la Pérdida
Aleatoriamente escogemos un valor inicial (w0,w1)
130
Optimización de la Pérdida
Calculamos la gradiente,
131
Optimización de la Pérdida
Tomamos un pequeño paso en dirección contraria a la gradiente
132
Gradiente Descendiente
Repetimos hasta convergencia
133
Gradiente Descendiente
Algoritmo:
a. Calcular la gradiente:
134
Calculando Gradientes: Backpropagation
135
Calculando Gradientes: Backpropagation
Notación Lagrange
136
Calculando Gradientes: Backpropagation
137
Calculando Gradientes: Backpropagation
139
Calculando Gradientes: Backpropagation
Tenemos que repetir esto para cada peso en la red usando gradientes a partir de las últimas
capas.
140
Arquitecturas Profundas
Principales tipos de arquitecturas profundas
feed-forward
Feed-back
• Neural nets • Hierar. Sparse Coding
• Conv Nets • Deconv Nets
entrada entrada
Bi-directiona
Recurrent
• Stacked • Recurrent Neural nets
Auto-encoders • Recursive Nets
• DBM • LISTA
l
entrada
entrada
142
Optimización en la Práctica
Entrenar Redes Neuronales es difícil
145
Funciones de Pérdida pueden ser difíciles de
Optimizar
Inicio aleatorio.
147
Especificando la tasa de Aprendizaje
Tasas de aprendizaje grandes se exceden, se vuelven inestables y
divergen
Inicio aleatorio.
148
Especificando la tasa de Aprendizaje
Tasas de aprendizaje estables convergen y evitan mínimos locales
Inicio aleatorio.
149
¿Cómo manejar eso?
Idea1:
Intentar diferentes tasas de aprendizaje y ver la que mejor se ajusta.
Idea2:
Hacer algo más inteligente.
Diseñar una tasa de aprendizaje adaptativo que se adapte al
panorama.
150
Tasas de Aprendizaje Adaptativos
● Las tasas de aprendizaje no son fijas.
● Pueden ser grandes o pequeñas dependiendo de:
○ Cuán grande es la gradiente
○ Cuán rápido el aprendizaje se está dando
○ El tamaño de pesos particulares
○ Etc.
151
Algoritmos de Gradiente Descendiente
● SGD (Stochastic Gradient Descent)
● Adam
● Adadelta
● Adagrad
● RMSProp
[Link].*
152
Gradiente en la Práctica
Gradiente Descendiente
Algoritmo:
a. Calcular la gradiente:
154
Gradiente Descendiente
Algoritmo:
a. Calcular la gradiente:
b. Calcular la gradiente
156
Gradiente Descendiente Estocástica
Algoritmo:
b. Calcular la gradiente:
b. Calcular la gradiente
158
Gradiente Descendiente Estocástica
Algoritmo:
b. Calcular la gradiente
160
Sobreajuste en la Práctica
El problema de Sobreajuste (OverFitting)
Desajuste: el modelo no tiene la capacidad
de aprender a partir de los datos
Ajuste Ideal
162
Regularización: ¿Qué es?
163
Regularización I: Dropout
Durante el entrenamiento, aleatoriamente colocar algunas
activaciones como 0.
164
Regularización I: Dropout
Durante el entrenamiento, aleatoriamente colocar algunas activaciones
como 0.
● Normalmente abandonar el 50% de las activaciones en la capa
● Obliga a la red a no depender de ningún nodo
165
Regularización I: Dropout
Durante el entrenamiento, aleatoriamente colocar algunas activaciones
como 0.
● Normalmente abandonar el 50% de las activaciones en la capa
● Obliga a la red a no depender de ningún nodo
166
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
167
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
168
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
169
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
170
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
171
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
172
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
173
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
174
Regularización II: Early Stopping
Parar el entrenamiento antes de tener la chance de un sobreajuste
175
Revisión
Matemática Entrenamiento
Práctica
Historia - Perceptron
Redes Neuronales
176
Librerías
Frameworks
178
Tensorflow
TensorFlow es una API de matemáticas de bajo nivel, similar a Numpy. Sin embargo, a
diferencia de Numpy, TensorFlow está diseñado para el aprendizaje profundo.
179
Otras herramientas
TensorFlow no es el único juego. Estas son algunas de las mejores alternativas compatibles. La
mayoría de estos están escritos en C ++.
180
Keras
● Keras es una capa sobre TensorFlow que facilita mucho la creación de
redes neuronales.
● Proporciona una API de nivel superior para varias rutinas de aprendizaje
automático.
● A menos que esté investigando estructuras completamente nuevas de
redes neuronales profundas, es poco probable que necesite programar
TensorFlow directamente.
● Keras es una instalación separada de TensorFlow. Para instalar Keras,
use pip install keras (después de instalar TensorFlow).
181
FIN