Backpropagation en la práctica

Introducción al Deep Learning en Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Backpropagation

ch2_4_v2.002.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.003.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.004.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.010.png

Introducción al Deep Learning en Python

Cálculo de pendientes para cualquier peso

  • El gradiente de un peso es el producto de:
    1. Valor del nodo que alimenta ese peso
    2. Pendiente de la activación del nodo de destino
    3. Pendiente de la pérdida respecto al nodo de salida
Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.016.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.017.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.018.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.019.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.020.png

Introducción al Deep Learning en Python

Backpropagation

ch2_4_v2.021.png

Introducción al Deep Learning en Python

Backpropagation: resumen

  • Empieza con un conjunto aleatorio de pesos
  • Usa propagación hacia adelante para predecir
  • Usa backpropagation para calcular la pendiente de la función de pérdida respecto a cada peso
  • Multiplica esa pendiente por la tasa de aprendizaje y réstala a los pesos actuales
  • Repite el ciclo hasta llegar a una zona plana
Introducción al Deep Learning en Python

Descenso de gradiente estocástico

  • Es común calcular pendientes solo en un subconjunto de datos (un batch)
  • Usa un batch distinto para la siguiente actualización
  • Vuelve a empezar cuando uses todos los datos
  • Cada pasada por los datos de entrenamiento es una época
  • Si se calculan pendientes por batch: descenso de gradiente estocástico
Introducción al Deep Learning en Python

¡Vamos a practicar!

Introducción al Deep Learning en Python

Preparing Video For Download...