0% encontró este documento útil (0 votos)
75 vistas150 páginas

Fundamentos de Deep Learning I

Este documento presenta los fundamentos del aprendizaje profundo a través de una introducción a las neuronas artificiales, la simulación de una neurona y el perceptrón multicapa. Explica cómo una neurona artificial funciona de manera similar a un modelo de regresión lineal, y cómo el entrenamiento de una red neuronal implica encontrar los pesos y sesgos óptimos. También muestra ejemplos de cómo una neurona puede implementar puertas lógicas AND y OR mediante el ajuste de sus parámetros.

Cargado por

jorge musaja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas150 páginas

Fundamentos de Deep Learning I

Este documento presenta los fundamentos del aprendizaje profundo a través de una introducción a las neuronas artificiales, la simulación de una neurona y el perceptrón multicapa. Explica cómo una neurona artificial funciona de manera similar a un modelo de regresión lineal, y cómo el entrenamiento de una red neuronal implica encontrar los pesos y sesgos óptimos. También muestra ejemplos de cómo una neurona puede implementar puertas lógicas AND y OR mediante el ajuste de sus parámetros.

Cargado por

jorge musaja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fundamentos de Deep

Learning I

Dr. Manuel Castillo-Cara


Deep Learning con Python y Keras
Web: www.smartcityperu.org
Índice

Background

Neurona

Simulación

Perceptron Multicapa

Cómo opera el MLP

Backpropagation

Veamos una simulación
Background
0. Background
0. Background
0. Background
Neurona
1. Neurona

NEURONA
1. Neurona

X1

X2 NEURONA

X3
1. Neurona

X1

X2 NEURONA Y1

X3
1. Neurona

X1

X2 F(X) Y1

X3
1. Neurona

X1

X2 w1x1+w2x2+w3x3 Y1

X3
1. Neurona

X1

Utiliza todas la entradas para


X2 w1x1+w2x2+w3x3 Y1 realizar una suma ponderada
de ellos.

X3
1. Neurona

X1
w1
Hay que tener en cuenta que la
suma viene dada por el peso (w)
X2 w2 w1x1+w2x2+w3x3 Y1
que se le asigna a cada una de
las entradas

w3
X3
1. Neurona

X1
w1

X2 w2 w1x1+w2x2+w3x3 Y1 ¿A qué nos suena?

w3
X3
2. Regresión lineal
2. Regresión lineal

El término independiente
nos servía para mover la recta
en vertical, i.e., en el eje y.
Por tanto, el término
independiente nos servía para
subir/bajar la recta
3. Función de la NN

X1
w1

Y1

w2
X2
y = w1x1 + w2x2
3. Función de la NN

X1
w1
Podemos verlo como una función
de regresión lineal en el que
Y1
una recta o hiperplano se ajusta
a nuestros datos de entrada

w2
X2
y = w1x1 + w2x2
3. Función de la NN

X1
w1

El término independiente, llamado


Y1 bias o sesgo, nos permite el
desplazamiento de la recta.

w2
X2
y = w1x1 + w2x2 + b
3. Función de la NN
1 b

X1
w1

Así nuestra neruona


Y1 funcionaría exactamente
como un modelo de regresión

w2
X2
y = w1x1 + w2x2 + b
Simulación
1. Ejemplo
Estudiar + Estar en casa = Aprobar el examen
1. Ejemplo
Estudiar + Estar en casa = Aprobar el examen
1 b

X1
w1

Y1

w2
X2
y = w1x1 + w2x2 + b
1. Ejemplo
Estudiar + Estar en casa = Aprobar el examen
1 0
1 b
X1
X1
w1

Y1 X2

w2
X2
y = w1x1 + w2x2 + b
1. Ejemplo
Estudiar + Estar en casa = Aprobar el examen
1 0
1 b
X1
X1
w1

Y1 X2

w2
X2 Y1
y = w1x1 + w2x2 + b
1. Ejemplo
Umbral
Estudiar + Estar en casa = Aprobar el examen
1 0

X1
WX ≤ UMBRAL → Y = 0

WX > UMBRAL → Y = 1 X2

Y1
1. Ejemplo
Umbral
Estudiar + Estar en casa = Aprobar el examen
1 0

X1
WX ≤ UMBRAL → Y = 0

WX > UMBRAL → Y = 1 X2

BIAS = -UMBRAL
Y1
1. Ejemplo
Umbral
Estudiar + Estar en casa = Aprobar el examen
1 0

BIAS = -UMBRAL X1

WX + b ≤ 0 → Y = 0
X2

WX + b > 0 → Y = 1
Y1
1. Ejemplo
Modelamos el problema
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y
1. Ejemplo
Modelamos el problema
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y
1. Ejemplo
Modelamos el problema
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y

El resultado de la NN estará
condicionado por el valor de los
parámetros. Por tanto, tenemos
que buscar esos pesos y bias.
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y
X1
w1

w1x1+w2x2 + b Y1

w2
X2
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -3

-3 X1 3
3X1-4x2 - 3 Y1
0
X2 -4

-7

-4
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -3

-3 X1 3
3X1-4x2 - 3 Y1
0
X2 -4

-7
El objetivo es que salga un
resultado positivo el último
-4 Y negativo los tres primeros
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -3

-3 X1 3
3X1-4x2 - 3 Y1
0
X2 -4

-7

¡No cumple!
-4
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 2

2 X1 1
1X1+ 1x2 + 2 Y1
3
X2 1

4
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 2

2 X1 1
1X1+ 1x2 + 2 Y1
3
X2 1

¡No cumple!
4
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -6

-6 X1 4
4X1+ 5x2 - 6 Y1
-2
X2 5

-1

3
1. Ejemplo
Buscamos los parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -6

-6 X1 4
4X1+ 5x2 - 6 Y1
-2
X2 5

-1

¡SI cumple!
3
1. Ejemplo
Entender el procedimiento

X1

X2
1. Ejemplo
Entender el procedimiento

X1

X2
1. Ejemplo
Entender el procedimiento

X1

X2
1. Ejemplo
Entender el procedimiento

1 0 1

X1

0 0 0
0 X2 1
1. Ejemplo
Entender el procedimiento

1 0 1

X1 ¿Qué observamos?

0 0 0
0 X2 1
1. Ejemplo
Puerta lógica AND

1 0 1

¿Qué observamos?
X1 Que tenemos una puerta
lógica AND

0 0 0
0 X2 1
1. Ejemplo
Puerta lógica AND

1 0 1

X1 AND Podemos establecer la recta de


regresión que hemos hablado

0 0 0
0 X2 1
1. Ejemplo
Puerta lógica AND

1 0 1

X1 AND Podemos establecer la recta de


regresión que hemos hablado

0 0 0
0 X2 1
1. Ejemplo
Puerta lógica AND

1 0 1

AND
Lo podemos entender como
X1 el problema de trazar una línea
de frontera en la que separar
las clases

0 0 0
0 X2 1
1. Ejemplo
Puerta lógica OR

1 1 1

X1 OR

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica OR

1 1 1

OR
Tendríamos que ajustar
X1 los parámetros de la neurona
hasta ajustar los resultados
esperados

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica OR – Buscar parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -2

-2 X1 3
3X1+ 4x2 - 2 Y1
1
X2 4

5
1. Ejemplo
Puerta lógica OR – Buscar parámetros
Estudiar + Estar en casa = Aprobar el examen
X1 X2 Target Y 1 -2

-2 X1 3
3X1+ 4x2 - 2 Y1
1
X2 4

¡SI cumple!
5
1. Ejemplo
Puerta lógica OR

1 1 1

X1 OR Ya tenemos la línea de frontera

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica XOR

1 1 0

X1 XOR ¿Como sería con XOR?


¿Recordáis la sesión anterior?

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica XOR

1 1 0

XOR
Es imposible modelar el problema
X1 Con una única neurona, i.e., es
imposible separar linealmente
ambas clases

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica XOR

1 1 0

X1 XOR ¿Como lo solucionamos?

0 0 1
0 X2 1
1. Ejemplo
Puerta lógica XOR
1 -6

X1 4
1 1 0 4X1+ 5x2 - 6 Y1

X2 5
X
XOR
1 -3
1

0 X1
0 1 4

0 1
4X1 - 2x2 - 3 Y1
X
2 X2 -2
1. Ejemplo
Puerta lógica XOR
1 -6

X1 4
1 1 0 4X1+ 5x2 - 6 Y1

X2 5
X
XOR
1 -3
1

0 X1
0 1 4

0 1
4X1 - 2x2 - 3 Y1
X
2 X2 -2
1. Ejemplo
Puerta lógica XOR
1 -6

X1 4
1 1 0 4X1+ 5x2 - 6 Y1

X2 5
X
XOR
Tenemos que combinar
1
varias neuronas -3
1

0 X1
0 1 4

0 1
4X1 - 2x2 - 3 Y1
X
2 X2 -2
1. Ejemplo
Arquitectura de redes neuronales

Son la base de las redes profundas, actualmente muy utilizadas con mucho éxito.

Cada capa extrae características cada vez más complejas
Perceptrón multicapa
1. Definición

Una neurona no puede representar toda la información
– Problema de linealidad como XOR

Necesitamos una agrupación de neuronas
1. Definición

Una neurona no puede representar toda la información
– Problema de linealidad como XOR

Necesitamos una agrupación de neuronas
1. Definición

Una neurona no puede representar toda la información
– Problema de linealidad como XOR

Necesitamos una agrupación de neuronas
1. Definición

Una neurona no puede representar toda la información
– Problema de linealidad como XOR

Necesitamos una agrupación de neuronas
1. Definición

Una neurona no puede representar toda la información
– Problema de linealidad como XOR

Necesitamos una agrupación de neuronas
2. Secuencialidad de neuronas

Si ponemos neuronas de forma secuencial
1 b 1 b

X1
w1

w2
X2
2. Secuencialidad de neuronas

Si ponemos neuronas de forma secuencial
1 b 1 b

X1
w1
¿Qué nos aporta?

w2
X2
2. Secuencialidad de neuronas

Si ponemos neuronas de forma secuencial
1 b 1 b

X1
w1 ¿Qué nos aporta?
Conocimiento
jerarquizado

w2
X2
3. Conocimiento Jerarquizado

X1

Y1

X2

Y3

X3
Y2

X4
3. Conocimiento Jerarquizado
Neurona especializada
en es estudio
X1

Y1

X2

Y3

X3
Y2

X4
3. Conocimiento Jerarquizado
Neurona especializada
en el estudio
X1

Y1

X2

Y3

X3
Y2

Neurona especializada
X4 en la motivación
3. Conocimiento Jerarquizado
Neurona especializada
en el estudio
X1

Y1 Neurona especializada
en el resultado del
examen
X2

Y3

X3
Y2

Neurona especializada
X4 en la motivación
3. Conocimiento Jerarquizado
Ejemplo
Si el estudio es bajo y
X1
motivación alto →
posiblemente suspenda
Y1

X2

Y3

X3
Y2

X4
4. Problema

El problema es que la concatenación de regresiones
lineales es igual a una regresión lineal

+…+ =
4. Problema
4. Problema

Nuestra red colapsa


como tener una neurona
4. Problema

Nuestra red colapsa


como tener una neurona

¿Como lo solucionamos?
4. Problema

Que nuestras funciones sufran una distorsión para
romper la linealidad

+…+ =

¿Entoces distosionamos
las funciones?
4. Problema

Que nuestras funciones sufran una distorsión para
romper la linealidad

+…+ =/=

Así el resultado no es
Lineal
4. Problema

Que nuestras funciones sufran una distorsión para
romper la linealidad

+…+ =/=

Añadimos funciones
de activación
5. Arquitectura de redes
neuronales

Son la base de las redes profundas, actualmente muy utilizadas con mucho éxito.

Cada capa extrae características cada vez más complejas
Función de activación
1. ¿Donde se encuentra?
1 b

X1
w1

Y1

w2
X2
y = w1x1 + w2x2 + b
1. ¿Donde se encuentra?
1 b

X1 En cada neurona
w1

Y1

w2
X2
y = w1x1 + w2x2 + b
2. ¿Como la representamos?

X1

w1x1+w2x2+w3x3
X2 Y1

X3
2. ¿Como la representamos?

X1

f(w1x1+w2x2+w3x3)
X2 Y1

X3
2. ¿Como la representamos?

X1 ¿Qué realiza la función de ativación?

f(w1x1+w2x2+w3x3)
X2 Y1

X3
2. ¿Como la representamos?

X1 ¿Qué realiza la función de ativación?

f(w1x1+w2x2+w3x3)
X2
Y1

X3
Distorsiona la salida dotándola de
No linealidad
3. Recordemos la que vimos
Función de activación Binaria
Estudiar + Estar en casa = Aprobar el examen
1 0

X1
WX ≤ UMBRAL → Y = 0

WX > UMBRAL → Y = 1 X2

BIAS = -UMBRAL
Y1
3. Recordemos la que vimos
Función de activación Binaria

WX ≤ UMBRAL → Y = 0

f(WX) → Y = {0, 1}
WX > UMBRAL → Y = 1

BIAS = -UMBRAL
3. Recordemos la que vimos
Función de activación Binaria

f(WX) → Y = {0, 1}
3. Recordemos la que vimos
Función de activación Binaria

Dependiendo del umbral es 0 ó 1


Problema linal → no nos interesa

f(WX) → Y = {0, 1}
4. Función de activación
Sigmoide
4. Función de activación
Sigmoide

Los valores muy grandes se saturan en 1


Los valores muy pequeños se saturan en 0
4. Función de activación
Sigmoide

Los valores muy grandes se saturan en 1


Los valores muy pequeños se saturan en 0

Por tanto, nos permite:


1) Distorsionar la señal
2) Representar probabilidades entre 0 y 1
4. Función de activación
Tangente hiperbólica (TANH)
4. Función de activación
Tangente hiperbólica (TANH)

Parecida a la Sigmoide pero con un


rango de -1 a 1
4. Función de activación
Rectificada Lineal (ReLU)
4. Función de activación
Rectificada Lineal (ReLU)

Función lineal cuando es positiva


Constante a 0 cuando el valor de entrada
es negativo
Cómo opera el MLP
1. Problema
1. Problema

¿Cómo ver geométricamente el efecto


de una función de activación?
2. Función de activación binaria
2. Función de activación binaria
2. Función de activación binaria
2. Función de activación binaria

Todo lo que está encima del hiperplano


será una clase y lo que está debajo otra
2. Función de activación binaria

Todo lo que está encima del hiperplano


será una clase y lo que está debajo otra
2. Función de activación binaria

Neceistamos distorsionar la señal


para acomodar el problema inicial
3. Otras Funciones de activación
3. Otras Funciones de activación
3. Otras Funciones de activación
3. Otras Funciones de activación
3. Otras Funciones de activación

Pero la frontera no deja de ser una


Línea recta, ¿Cómo resolvemos el problema?
4. Encontrar el hiperplano
4. Encontrar el hiperplano

¿Cómo trazar esa frontera?


4. Encontrar el hiperplano
X1

X2
4. Encontrar el hiperplano
X1

X2
4. Encontrar el hiperplano
X1

X2

Puede cambiar la orientación


cambiando parámetros
4. Encontrar el hiperplano
Aumentamos las neuronas

X1

S
X2

S
4. Encontrar el hiperplano
Aumentamos las neuronas

X1

S
X2

S
4. Encontrar el hiperplano
Aumentamos las neuronas
Pero cada una tiene una
orientación diferente
Las juntamos...
S

X1

S
X2

S
4. Encontrar el hiperplano
Segunda capa oculta

X1

S
X2

S
4. Encontrar el hiperplano
Segunda capa oculta
Obtenemos la superposción
geométrica con un “bulto”
S al medio

X1

S
X2

S
4. Encontrar el hiperplano
Segunda capa oculta

Qué podemos “cortar” con la intersección


del hiperplano con la “montaña”
4. Encontrar el hiperplano
Segunda capa oculta

Qué podemos “cortar” con la intersección


del hiperplano con la “montaña”

Por lo que se pueden resolver problemas


complejos
5. Arquitectura de redes
neuronales

Son la base de las redes profundas, actualmente muy utilizadas con mucho éxito.

Cada capa extrae características cada vez más complejas
– Necesitamos un conjunto de neuronas para resolver problemas no lineales.
Backpropagation
1. Contexto

En 1958 se publica el artículo de Perceptron, i.e., desarrollo de una única neurona.
– Pero al poco tiempo muestran diferentes estudios con todas las limitaciones como
hemos visto.
– Se llega al periodo de “Invierno de la Inteligencia Artificial” que dura 15
años de inactividad en desarrollo.
– Básicamente las limitaciones son muchas y se corta la financiación.

Pero volvemos a la “Primavera de la IA” en 1986 con la llegada del artículo que
desarrolla algoritmo Backpropagation de David E. Rumelhart et al.
– Básicamente exponen un algoritmo el cual una red neuronal ajusta
“automáticamente” sus parámetros.
– Entra en acción el “Gradiente Descendiente” pero lo veremos en la siguiente
sesión.
1. Contexto

X1
S
S
YP Coste

S S
X2

S
2. Conexiones e iteraciones

Cómo computamos el error


S

X1
S
S
YP Coste

S S
X2

S
2. Conexiones e iteraciones

w S

X1
S
S
YP Coste

S S
X2

S
2. Conexiones e iteraciones

w S

X1
S
S
YP Coste

S S
X2

S Imaginemos que la predicción


fluye por el camino señalado
2. Conexiones e iteraciones
O por este… y así sucesivamente
w S

X1
S
S
YP Coste

S S
X2

S
2. Conexiones e iteraciones

w S

X1 w
S
S
YP Coste

S S
w
X2

S Además el valor viene dado por


encademiento del error previo
2. Conexiones e iteraciones

w S

X1 w
S
S
YP Coste

S S
w
X2

S Backpropagatión nos ajustará los errores


para que el coste sea el mínimo.
Para ello, utilizará el Gradiente Descendiente
3. Pensemos en el día a día
3. Pensemos en el día a día
3. Pensemos en el día a día

¿De quién es la culpa?


3. Pensemos en el día a día

Tenemos que analizar toda la


Cadena para ver quién es el culpable
3. Pensemos en el día a día
Viendo el porcentaje de implicación
de cada neurona en la predicción y,
así, corregirlo

Para ello, analizamos el error


y vamos analizando hacia atrás
para corregirlo
3. Pensemos en el día a día
Cuando lleguemos a la primera capa
tendremo el error de cada neurona
y sus parámetros
4. En MLP

X1
S
S
YP Coste

S S
X2

S
4. En MLP

X1
S
S
YP Coste

S S
X2

S
4. En MLP

X1
S
S
YP Coste

S S
X2

S
4. En MLP

X1
S
S
YP Coste

S S
X2

S
4. En MLP

X1
S
S
YP Coste

S S
X2

S Con una sola iteración hacia atrás


tenemos identificado el error e
implicancia de parámetros y neuronas
Veamos una simulación
¡GRACIAS!

Dr. Manuel Castillo-Cara


Deep Learning con Python y Keras
Web: www.smartcityperu.org

También podría gustarte