Redes Neuronales Con Tensorflow
Redes Neuronales Con Tensorflow
Redes Neuronales
con TensorFlow
Adonaí Vera
Co-Founder y CTO en SwitchAI
Requisitos del curso
● Fundamentos de redes
neuronales.
● Uso de Jupyter Notebooks
y Google Colab.
● Creación de proyectos de
ciencia de datos e
inteligencia artificial.
Por qué debes tomar el curso
3 5
1
PROBLEMA PRE-PROCESAR OPTIMIZAR
Redes neuronales
Llevar redes
neuronales a la
práctica.
Cargar bases de datos
Optimizar modelos
¿Cómo evitar el overfitting
y underfitting?
Transferencia de aprendizaje
Almacenar y cargar modelos
Proyecto del curso
● 27455 imágenes
● Escala de grises
● 28 x 28
● 24 clases (J - Z)
● JPEG
Lenguaje de señas
● TecPerson - Kaggle
● C0: Public Domain
Proyectos
- API CLEAN UP
- NO MORE GLOBAL
FUNCTIONS
- NOT SESSIONS
Lógica de TensorFlow
Softmax | RelU |
Sigmoid N
O
ADD D
O
Matriz Producto S
Bias
Código abierto
Google
2015
Escrita en Python
API alto nivel
El ecosistema de TensorFlow
Comunidad de TF
Imágenes Labels
Cargar bases de datos
JSON con URL a la nube
de GCP
Cargar bases
de datos Json Base64 y
.CSV
Preprocesamiento
de datos
Keras datasets
Dataset Generators
Memoria limitada
Generator en Python
Es una función que devuelve un objeto, el cual te
permite iterar en el mismo, sin almacenarlos a la
vez en memoria.
Aprende a buscar
bases de datos
¿Donde buscar?
Cómo distribuir
los datos
Distribución de bases de
datos
Testeo ValidaciónTesteo
CONFIGURACIÓN RECOMEDADA MUCHOS DATOS
Entrenamiento Entrenamiento
ValidaciónTesteo ValidaciónTesteo
Distribución de los datos según casos
CONFIGURACIÓN PROMEDIO ANDREW NG POCOS DATOS
Entrenamiento Entrenamiento
● Agregar datos de
entrenamiento a
testeo.
● Bases de datos no
balanceadas en
clases.
● Muy pocos datos.
Llevemos todos
nuestros códigos a la
acción - Crear modelo
Optimización de
precisión de modelos
En esta sección veremos
● Underfitting y overfitting.
● Recomendaciones
prácticas para ajustar mi
modelo.
● Métricas para medir
eficacia: callbacks.
● Monitoriza el
entrenamiento de modelos
con early stopping.
● Autotunnig con Keras.
Métodos de
regularización
Overfitting y underfitting
Dropout
¿Cuál regularizador utilizar?
ElasticNet
Lasso L1 Ridge L2
L1 + L2
● Convoluciones (3x3)
● Pooling (2x2)
● Flatten (imágenes)
● Neuronas (64, 128, 256, 512)
● Learning Rate (0.001) ADAM
● L1_2 (1e-5)
● Dropout (0.2)
Recomendaciones
para regularizadores
● L1, L2, L1+L2
● Agrega más datos.
● Data augmentation.
● Dropout.
● Early stopping.
● Callbacks.
Recomendaciones
funciones de activación
● Multi Clases: Softmax
● Binarios: Sigmoidal
● Regresiones: Función
lineal.
● Clase predicciones
mayor que 0: RelU.
Recomendaciones
configuración de red
● Aplica capas convoluciones y
poolings (1 layers).
● Tómate el tiempo de encontrar el
learning rate óptimo.
● Ve almacenando en cada epoch
de entrenamiento.
Recomendaciones de la red
Callback
Monitoreo del
entrenamiento en
tiempo real
Early stopping y patience
Keras Tuner
Auto tuning
Historia del Tunner de Keras
#Capas #Neuronas
#Epochs Learning
Modelos
rate
Funciones
Opcional de
activación
Cómo se hacía antes
Keras Tuner
Hablar
Ejemplo de infraestructuras de
una red convolucional
Fuente: https://arxiv.org/abs/1512.02325
Cuándo utilizar
aprendizaje por
transferencia
Cuándo utilizar modelos
pre-entrenados
Procesamiento de Visión
lenguaje natural computarizada
¿Por qué utilizarlos?
● Se necesita poca data.
● Te permite generar
iteraciones muy rápidas.
● Generaliza muy bien los
modelos.
● Transferir extracción de
características
principales.
Recomendaciones de
artículos pre-entrenados
YoloV3 AlexNet
¿Cómo saber cuál
modelo seleccionar?
Fuente: https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
Reto
ENTRADA
CAPA CAPA
SALIDA
API funcional
de Keras
Uso sistemas
pre-entrenados de
TensorFlow Hub
Introducción a
variables relevantes
del TensorBoard
En esta sección aprenderemos
● Herramienta para
visualizar resultados.
● Entender el flujo y los
tensores.
● Debuggear tu modelo.
Ejemplo práctico
de TensorBoard
Análisis y publicación
de resultados del
entrenamiento
Introducción al
despliegue de modelos
en producción
Production
Ejemplos de producción
● Redes neuronales
convolucionales.
● Data Augmentation.
● Formato TF Records para
entrenar modelos.
● Despliegue de modelos a
producción.
● Visión computarizada.