Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Generando caras con TensorFlow

Generando caras con TensorFlow

Introducción a deep learning y las redes neuronales, a traves de un demo de una red DCGAN que aprende a generar rostros.

Avatar for Gabriela Oropeza

Gabriela Oropeza

November 02, 2019

More Decks by Gabriela Oropeza

Other Decks in Technology

Transcript

  1. Agenda • ¿Qué es deep learning (aprendizaje profundo)? • Algunos

    casos de uso actuales • ¿Qué son las redes neuronales? • Tipos de redes neuronales • Redes GAN • Demo: Generando caras • Recursos gratis para aprender y experimentar
  2. ¿Qué es “deep learning”? • Algoritmos para el aprendizaje automático

    (machine learning) donde se utilizan modelos de transformaciones no lineales para encontrar abstracciones o patrones en los datos a través de ejemplos. • Existen 3 grandes paradigmas de aprendizaje: supervisado, no supervisado y por refuerzo. • En 1958, Frank Rosenblatt creó el perceptrón, un algoritmo de reconocimiento de patrones basado en una red de aprendizaje de computadora que utilizaba adición y sustracción simples.
  3. Aplicaciones de Deep Learning Predicción de terremotos Traducción y transformación

    entre audio-texto Detección de enfermedades Asistentes de voz
  4. Redes neuronales “Las redes neuronales son un magnífico paradigma de

    programación, inspirado en la biología que permite al computador aprender a través de la observación de datos.” - Michael Nielsen 1 2 5 25 50 100 4 7 16 76 151 X • ¿Como resolverian X?
  5. Redes neuronales funcion de perdida -> mean squared error función

    de activación -> softmax, RELU, sigmoid función de optimización> stochastic gradient descent
  6. Redes neuronales profundas Una red neuronal profunda (DNN) es una

    red neuronal artificial (ANN) con múltiples capas entre las capas de entrada y salida. El DNN encuentra la manipulación matemática correcta para convertir la entrada en la salida, ya sea una relación lineal o no lineal. La red se mueve a través de las capas calculando la probabilidad de cada salida.
  7. Pasos para entrenar una red neuronal 5 Vestibulum congue tem

    pus Realizar predicciones con datos nuevos Utilizar en m undo real 4 Vestibulum congue tem pus Iniciar con parte de los datos y evaluar Ajustar parám etros y red de ser necesario Entrenar y evaluar con el set de validación 3 Vestibulum congue tem pus Escoger la arquitectura, cantidad de capas, funciones de optim ización y activación Escoger los parám etros de entrenar 5 Validar el desem peño de la red 4 Entrenar nuestra red 3 Crear nuestra red neural Vestibulum congue tem pus 2 Preparar los datos Lim pieza de los datos Transform ar los datos (z-score) Dividir en sets para entrenar y validar 2 1 Recolectar los datos Utilizar sets de datos públicos Recolectar y digitalizar datos propios Analizar la calidad de los datos
  8. Arquitecturas de redes neuronales profundas • Redes full conectadas (Fully

    Connected) • Redes recurrentes (RNN) • Redes convolucionales (CNN) • Redes generativas antagónicas (GAN)
  9. Redes generativas antagónicas (GAN) • Fueron presentadas por Ian Goodfellow

    et al. en 2014. • Consiste en un sistema de dos redes neuronales que compiten mutuamente en una especie de juego de suma cero. • Una red genera los candidatos y otra los evalúa. • La red generativa aprende a asignar elementos de un espacio latente a una distribución de datos determinada, mientras la red discriminativa diferencia entre elementos de la distribución de datos originales y los candidatos producidos por el generador. “Las GAN son una clase de modelos generativos profundos que tienen como objetivo aprender una distribución objetivo de una manera no supervisada.” - Kurach K., Lucic M., Zhai X., et al. 2018
  10. Redes Convolucionales (CNN) • Es una clase de DNN, comúnmente

    aplicada al análisis de imágenes visuales. • Las CNN son simplemente redes neuronales que utilizan la convolución en lugar de la multiplicación matricial general en al menos una de sus capas.
  11. Redes Convolucionales (CNN) • Las capas de CNN: ◦ convolucionales

    ◦ activación RELU ◦ agrupación (pooling) ◦ full conectadas ◦ normalización
  12. Recursos de aprendizaje gratuito • Tutoriales en la documentación de

    TensorFlow ◦ https://www.tensorflow.org/tutorials • Cursos en Udacity ◦ https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187 ◦ https://www.udacity.com/course/intro-to-machine-learning--ud120 • Clases de Stanford en youtube: ◦ https://www.youtube.com/user/stanfordonline/playlists • Especializacion en Deep Learning Coursera & deeplearning.ai ◦ https://www.coursera.org/specializations/deep-learning