02 - NEURAL NETWORKS

Redes de neuronas artificiales

1.1 - Introducción a las redes de neuronas artificiales: Video 17mins
Introducimos el concepto de redes de neuronas artificiales como una simplificación de su análogo biológico.

1.2 - Entrenamiento del perceptrón: Video 11mins
Describimos el algoritmo de entrenamiento del perceptrón.

1.3 - Perceptrón multicapa: Video 14mins
Ensamblamos una red de neuronas artificiales compuesta por varias capas de perceptrones.

1.4 - Backpropagation: Video 11mins
Explicamos el algoritmo principal para entrenar redes neuronales.

1.5 - Funciones de activación: Video 7mins
Introducimos las funciones de activación de neuronas y la función softmax para la salida de la red.

1.6 - Esquemas de entrenamiento: Video 17mins
Describimos distintas estrategias de entrenamiento: con batches, mini-batches y en línea y comprobamos experimentalmente su convergencia.

1.7 - Sobreajuste (overfitting): Video 15mins
Explicamos la intuición de los errores de predicción por sobreajuste y algunas técnicas para mitigarlo (early stopping, regularización)

1.8 - Introducción a Keras: Video 22mins
Damos las nociones fundamentales del uso de Keras, la librería de alto nivel de Tensorflow para la construcción de redes neuronales.

REFERENCIA: Logistic classification with cross-entropy loss

LABORATORIO 1

LAB 1 - Customized loss function: Video 6mins
En este laboratorio crearás un modelo con Tensorflow/Keras y expandirás la función de pérdida para la optimización con regularizadores L1 y L2.

Autoencoders

2.1 - Introducción a autoencoders: Video 14mins
Introducimos la noción de autoencoder, como una arquitectura de red neuronal para aprendizaje no supervisado.

2.2 - Autoencoders en Tensorflow: Video 9mins
Mostramos cómo implementar autoencoders con Tensroflow y cómo obtener la representación en el espacio latente de nuevos datos de entrada.

2.3 - Interpretabilidad de autoencoders: Video 13mins
Ilustramos cómo podemos darle significado intuitivo a los pesos aprendidos por un autoencoder.

2.4 - Interpretabilidad de autoencoders (2): Video 4mins
Puntualizamos un aspecto del video anterior.

2.5 - Denoising autoencoders: Video 10mins
Explicamos cómo se pueden usar los autoencoders para aplicaciones de eliminación de ruido.

LABORATORIO 2

LAB 2 - Sparse autoencoders: Video 9mins
En este laboratorio crearás un Sparse Autoencoder en el que las neuronas de la representación latente adquirirán funciones más especializadas.

Arquitecturas multimodales

3.1 - Problemas multimodales: Video 11mins
Describimos el caso de uso en el que tenemos varias fuentes de información de naturaleza distinta de cada objeto de nuestro dataset (p.ej. imágenes y datos vectoriales), y queremos generar modelos que se aprovechen de esa información.

3.2 - Arquitecturas multimodales en Tensorflow: Video 15mins
Explicamos cómo podemos usar el API funcional de Tensorflow para construir redes que solucionen problemas multimodales.

LABORATORIO 3

LAB 3 - Pair-wise image classification: Video 9mins
En este laboratorio montarás una arquitectura de red con múltiples entradas para una tarea de clasificación de pares de imágenes.

The Vanishing Gradient

4.1 - El gradiente desvaneciente: Video 15min
Describimos uno de los problemas que impiden que las redes neuronales se puedan entrenar.

4.2 - Histogramas de pesos: Video 8mins
Mostramos cómo podemos hacerle seguimiento a la evolución de los pesos de una red durante el entrenamiento.

4.3 - Observando el gradiente desvaneciente con TensorBoard: Video 15mins
Desarrollamos un caso práctico donde mostramos como utilizar TensorBoard para inspeccionar la evolución de los pesos de una red durante el entrenamiento.

Inicialización de pesos

5.1 - Estrategias para acelerar el entrenamiento: Video 6mins
Ponemos en perspectiva las distintas aproximaciones que estamos desarrollando para solventar los problemas del gradiente en el entrenamiento de las redes neuronales.

5.2 - Inicialización de pesos: Video 18mins
Explicamos la intuición y la justificación de las estrategias de inicialización de pesos.

5.3 - Observando los efectos de la inicialización de pesos: Video 18mins
Desarrollamos unos experimentos para poder observar en la práctica lo aprendido anteriormente.

LABORATORIO 4

LAB 4 - Tensorflow callbacks: Video 8mins
El objetivo de este laboratorio es que te familiarices con el mecanismo de callbacks de Tensorflow con el cual podrás incluir instrumentación en tu modelo para realizarle seguimiento a lo que necesites durante el entrenamiento del mismo.