100% encontró este documento útil (1 voto)
345 vistas131 páginas

Fundamentos de Redes Neuronales Con Python

Este documento presenta una introducción a las redes neuronales artificiales. Explica conceptos básicos como las neuronas, las capas de una red neuronal, los vectores y matrices de pesos, las funciones de activación como la sigmoidal y ReLU, y las funciones de pérdida como el error cuadrático medio. También introduce los frameworks de deep learning como Keras y los algoritmos de entrenamiento como el descenso del gradiente.

Cargado por

Rich M
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
100% encontró este documento útil (1 voto)
345 vistas131 páginas

Fundamentos de Redes Neuronales Con Python

Este documento presenta una introducción a las redes neuronales artificiales. Explica conceptos básicos como las neuronas, las capas de una red neuronal, los vectores y matrices de pesos, las funciones de activación como la sigmoidal y ReLU, y las funciones de pérdida como el error cuadrático medio. También introduce los frameworks de deep learning como Keras y los algoritmos de entrenamiento como el descenso del gradiente.

Cargado por

Rich M
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
Está en la página 1/ 131

Curso de

Bagde
Fundamentos de
del curso
Redes Neuronales
con Python y Keras
Carlos Alarcón
¿Redes neuronales
artificiales?
¿Redes neuronales artificiales?
¿Redes neuronales artificiales?
¿Redes neuronales artificiales?
¿Redes neuronales artificiales?
Redes neuronales artificiales
Redes neuronales
¿Conocimiento previo?
¿Qué herramientas
usaremos?
Frameworks
Frameworks

Keras API

Backend: TensorFlow Theano CNTK

Low-level CuDA, cuDNN BLAS, Eigen


library:

Hardware: GPU CPU


Notebooks
Deep learning
Deep learning
Artificial
Intelligence

Machine
Learning

Deep
Learning
Deep learning
Traditional Machine Learning

POLITE
OFFENSIVE
Feature
Tweet Classification Output
Engineering

Deep Learning

POLITE
OFFENSIVE

Tweet Feature Learning + Classification Output


Problemas de deep learning

Overfitting Caja negra


(Problemas de ¿Qué está
sobre ajuste) ocurriendo
adentro?
Overfitting
Overfitting
Cajas negras
Cajas negras
Cajas negras
Cajas negras
Cajas negras
Tu primera red
neuronal con Keras
La neurona: una
pequeña y poderosa
herramienta
La neurona
La neurona

X1

Wx1 Σ Función de Salida


X1*Wx1 + X2*Wx2 + b activación

Wx2

X2

b Wb

1
La neurona - Bias
B
La neurona - AND
X1

2
Σ Función de Salida
X1*Wx1 + X2*Wx2 + b activación

4
X1 X2 Σ Activation Salida
X2
1 0 1*2 + 0*4 + 5 F(x) 1, 7 >= 0 1
0, 7 < 0

0 1 0*2 + 1*4 + 5 F(x) 1, 9 >= 0 1


b 5 0, 9 < 0

1 0 0 0*2 + 0*4 + 5 F(x) 1, 5 >= 0 1


0, 5 < 0

1 1 1*2 + 1*4 + 5 F(x) 1, 11 >= 0 1


0, 11 < 0
La neurona - AND
X1

2
Σ Función de Salida
X1*Wx1 + X2*Wx2 + b activación

1
X1 X2 Σ Activation Salida
X2
1 0 1*2 + 0*1 - 3 F(x) 1, -1 >= 0 0
0, -1 < 0

0 1 0*2 + 1*1 - 3 F(x) 1, -2 >= 0 0


b -3 0, -2 < 0

1 0 0 0*2 + 0*1 - 3 F(x) 1, -3 >= 0 0


0, -3 < 0

1 1 1*2 + 1*1 - 3 F(x) 1, 0 >= 0 1


0, 0 < 0
La neurona - OR
X1

2
Σ Función de Salida
X1*Wx1 + X2*Wx2 + b activación

2
X1 X2 Σ Activation Salida
X2
1 0 1*2 + 0*2 - 2 F(x) 1, 0 >= 0 1
0, 0 < 0

0 1 0*2 + 1*2 - 2 F(x) 1, 0 >= 0 1


b -2 0, 0 < 0

1 0 0 0*2 + 0*2 - 2 F(x) 1, -2 >= 0 0


0, -2 < 0

1 1 1*2 + 1*2 - 2 F(x) 1, 2 >= 0 1


0, 2 < 0
La neurona

(0,1) (1,1) (0,1) (1,1)

(0,0) (1,0) (0,0) (1,0)

AND OR
La neurona - XOR

(0,1) (1,1)

(0,0) (1,0)

XOR
La neurona - XOR

(0,1) (1,1)

(0,0) (1,0)

XOR
La neurona - XOR

(0,1) (1,1)

(0,0) (1,0)

XOR
La neurona - XOR
1
W(1)
b 1
W(2)
b

X1 Σ
Salida

X2 Σ
1

b
Σ
Arquitectura de
una red neuronal
Redes neuronales - Capas
Capas ocultas /
hidden layers
Capa de entrada /
Input layer

Capa de salida/
Output layer
Redes neuronales - Capas
Capas ocultas /
hidden layers
Capa de entrada /
Input layer

Capa de salida/
Output layer

Características Características
Generales Especificas
Redes neuronales - Vectores
W1
W2

W3 W4

W1
W2
W3
W4

W1
W2
W3
W4
Redes neuronales - Vectores

W1

x1,
W2

W3 W4

W1
W2
w1,w2,w3,w4 x2,
W3
w1,w2,w3,w4
W4

w1,w2,w3,w4 x3,
W1
W2
W3
W4
x4
Redes neuronales - Vectores

x1,
w1,w2,w3,w4 w1x1+w2x2+w3x3+w4x4
w1,w2,w3,w4
x2, w1x1+w2x2+w3x3+w4x4
w1,w2,w3,w4 x3, w1x1+w2x2+w3x3+w4x4

x4
Redes neuronales - Vectores

w1x1 + w2x2 + w3x3 + w4x4 + b a


w1x1 + w2x2 + w3x3 + w4x4 + b b
w1x1 + w2x2 + w3x3 + w4x4 + b c
Redes neuronales - Matrices
Redes neuronales - Matrices
(3,4) (4,3)
5,2,6
3,2,4,5 96,42,64
7,3,1 114,41,95
3,4,1,9
8,5,1 116,51,55
6,9,2,1
7,2,8
3*5 + 2*7 + 4*8 +5*7 = 96
3*2 + 2*3 + 4*5 +5*2 = 42
3*6 + 2*1 + 4*1 +5*8 = 64
Redes neuronales

X1

X2
Redes neuronales

X1

X2
Funciones de
activación
Redes neuronales

X1

X2
Funciones de activación

Discretas Continuas
Conjunto finito de Valores dentro de
valores algun intervalo
La neurona - AND
X1

2
Σ Función de Salida
X1*Wx1 + X2*Wx2 + b activación

1
X1 X2 Σ Activation Salida
X2
1 0 1*2 + 0*1 - 3 F(x) 1, -1 >= 0 0
0, -1 < 0

b -3 0 1 0*2 + 1*1 - 3 F(x) 1, -2 >= 0 0


0, -2 < 0
1
0 0 0*2 + 0*1 - 3 F(x) 1, -3 >= 0 0
0, -3 < 0

1 1 1*2 + 1*1 - 3 F(x) 1, 0 >= 0 1


0, 0 < 0
Función
escalón/escalonada/threshold
Función signo/signum
Función sigmoidal/sigmoid
Función tangente
hiperbólica/tanh
Función lineal rectificada/ReLU
Softmax
W
1
W
2
W W
3 4
W
1.6 0.51
W 1
2 Z 0.55 0.18
WW
3 4
0.98 0.31
W
W1
2
W
3 W
4
Función de pérdida
Función de pérdida

Data

Weights Capa 1

Weights Capa 2

Predicción
Función de pérdida
Data

Weights Capa 1

Weights Capa 2

Predicción Valor real

Función de
pérdida
MSE - Mean squared error
MSE - Mean squared error
MSE - Mean squared error

Error
Cross Entropy

Verdad Predicción

1 0.5
Log(0.5) = −0,301029996
0 0.3 p(x0) = 1 0,301029996

0 0.2
Función de pérdida
Data

Weights Capa 1

Weights Capa 1

Predicción Valor real

Función de
pérdida
Descenso del
gradiente
Descenso del gradiente

Función de pérdida

Peso inicial

Minimo global
Descenso del gradiente
Descenso del gradiente
Learning rate

Función de pérdida

Peso inicial

Minimo global
Descenso del gradiente -
Learning rate
Descenso del gradiente
Descenso del gradiente -
Mínimos
Función de pérdida

Mínimo local

Mínimo global
Momentum

Función de pérdida

Mínimo local

Mínimo global
Descenso del gradiente -
Optimizadores
Descenso del gradiente
Descenso del gradiente
Descenso del gradiente
Descenso del gradiente
Descenso del gradiente
Descenso del gradiente
Backpropagation
Backpropagation
Data

Pesos Capa 1

Pesos Capa 2
Actualizar
pesos

Predicción Valor real

Función de
Optimizador
pérdida
Backpropagation
Capas ocultas /
hidden layers
Capa de entrada /
Input layer

Capa de salida/
Output layer
Backpropagation
Backpropagation
Backpropagation
Backpropagation
Backpropagation
Backpropagation

¿Cómo distribuimos
este error?
Backpropagation
Backpropagation
Backpropagation - Derivadas
parciales

Costo(Activación(z))

Error
Backpropagation - Derivadas
parciales
Backpropagation -
Derivadas parciales
Playground -
Tensorflow
Dimensiones,
tensores y reshape
Dimensiones de los datos

Tensor
Matrix
Scalar Vector

dim = 0 dim = 1 dim = 2 dim = 3 dim = n


Matrix - 2d
(Ejemplos, Características)
Tensor - 3d

(Ejemplos, Serie de tiempo, Características)

Características

Ejemplos

Serie de tiempo
Tensor - 4d - Images
(Ejemplos, Ancho, Alto, Canales de
color)

Canales

Alto
Ejemplos

Ancho
Creando nuestra red
neuronal usando
numpy y matemáticas
Manejo de datos
Train, validation y test
Manejo de los datos

ENTRENAMIENTO TEST
Manejo de los datos

ENTRENAMIENTO VALIDACIÓN TEST


Set de datos de validación
Set de datos de test

TEST
Resolviendo un problema
de clasificación binaria
Entrenamiento del
modelo de clasificación
binaria
Regularización -
Dropout
Overfitting
Overfitting
Overfitting
Regularización
Regularización

Reducir la complejidad
en el modelo
Regularización

W1 W1
Regularización
Regularización
Dropout
Dropout

0.5 2.1 0.6 1.5 0 2.1 0.6 0

0.6 0.2 1.1 2.3 0 0.2 0 2.3


Dropout 50%

3.0 0.8 1.5 1.2 3.0 0 1.5 0

2.2 0.7 2.2 0.9 2.2 0 0 0.9


Dropout
Reduciendo el
overfitting
Resolviendo un problema
de clasificación múltiple
Entrenamiento del
modelo de clasificación
múltiple
Resolviendo un
problema de regresión
Entrenamiento del
modelo de regresión
Análisis de resultados
del modelo de regresión
¿Qué sigue por aprender
de redes neuronales?
¿Qué funciones utilizar?
Más por aprender

- CNN (Convolutional neural network)


- NLP (Natural language process)
- Sequences
- Hyper parameters tuning
- Gans (Generative adversarial networks)
- LSTM (Long short-term memory)
- Callbacks
- Tensorboard
- Y un mundo más de posibilidades
Carlos Andrés Alarcón
@Alarcon7a

También podría gustarte