04 - CONVOLUTIONAL NETWORKS

Introducción

01 - Tareas de analítica de imágenes: Video 17mins
Revisamos los tipos de tareas de analítica de imágenes más comunes: clasificación, detección de objetos y segmentación.

02 - Construcción de datasets anotados de imágenes: Video 13mins
Mostramos algunos datasets anotados de imágenes para aprendizaje supervisado y discutimos los costos de adquisición, pertinencia respecto a la tarea que tenemos como objetivo, planificación de campañas de adquisición de datos, etc.

03 - Servicios en la nube para analítica de imágenes: Video 8mins
Mostramos algunos servicios en la nube que ofrecen predicciones de modelos ya entrenados.

04 - Ejemplo de modelo de clasificación de imágenes: Video 13mins
Demostramos el uso Teaching Machine como ejemplo de juguete para crear un dataset de imágenes, entrenar un modelo y ponerlo en servicio desde el navegador.

Redes convolucionales

05 - Intuición sobre convolución: Video 13mins
Explicamos la noción básica de convolución como una operación entre dos funciones

06 - Convolución 1D: Cálculo y operación: Video 9mins
Calculamos con numpy y a mano la convolución 1D entre vectores.

07 - Convolución 2D: Video 11mins
Extendemos la noción de convolución a imágenes.

08 - Ejemplo de convoluciones 2D: Video 17mins
Realizamos convoluciones en 2D con las herramientas de numpy y de Tensorflow y vemos con ejemplos los efectos de distintos tipos de filtros como feature detectors.

09 - Jerarquías de convoluciones 2D: Video 13mins
Explicamos cómo podemos hacer convoluciones 2D sobre el resultado de convoluciones previas, conformando jerarquías de feature detectors de distintos niveles de abstracción.

10 - Ensamblando convoluciones: Video 14mins
Mostramos cómo finalmente podemos ensamblar distintas capas convolucionales y capas densas (perceptrones) para conformar una red convolucional de principio a fin.

11 - Una red convolucional en Tensorflow: Video 20mins
Finalmente, explicamos cómo construir arquitecturas de redes convolucionales con Tensorflow y varios ejemplos prácticos.

12 - Dropout: Video 15mins
Detallamos el mecanismo de Dropout como medio de regularización en redes neuronales.

13 - Pooling: Video 16mins
Detallamos el mecanismo de Pooling como medio de reducción de la dimensionalidad de la salida de las capas convolucionales de una red.

LABORATORIO 1

LAB 1 - Convolutions: Video 15mins
En este laboratorio implementarás las convoluciones y operaciones asociadas para consolidar tu entendimiento de las mismas.

Arquitecturas de redes convolucionales

14 - Competencias sobre Imagenet: Video 10mins
Describimos el conjunto de competencias asociadas al dataset de Imagenet a través de las cuales evolucionó el campo de las redes convolucionales desde 2012.

15 - AlexNet y VGG: Video 13mins
Describimos las arquitecturas de AlexNet y VGG, que fueron abrieron el camino para el uso de CNNs para imágenes de manera generalizada y que, a día de hoy, constituyen puntos de partida excelentes para empezar a abordar cualquier problema nuevo.

16 - ResNet: Video 6mins
Describimos la familia de redes de ResNet, basadas en aprender los residuales incrementales entre las entradas y las salidas de las capas.

17 - Inception and 1x1 convolutions: Video 12 mins
Explicamos las convoluciones 1x1 como medio para reducir la dimensionalidad en los canales de cualquier mapa de activación, y describimos la familia de redes Inception que usan filtros de distintas resoluciones en una misma capa.

18 - Usando arquitecturas de Redes Convolucionales: Video 18 mins
Demostramos cómo usar las redes preentrenadas disponibles dentro de tensorflow.keras.applications e introducimos el repositorio de modelos de Tensorflow Hub.

19 - Transfer learning: Video 15mins
Explicamos cómo usar transfer learning para reutilizar redes preentrenadas en nuestros problemas específicos.

20 - Ejemplo de transfer learning: Video 17mins
Implementamos y analizamos un ejemplo de transfer learning desde AlexNet a nuestro problema de clasificación de imágenes con un subconjunto del dataset CIFAR.

LABORATORIO 2

LAB 2 - Transfer learning: Video 20mins
En este laboratorio usarás modelos publicados en tensorflow hub para distintas tareas de transfer learning.

Detección de objetos

21 - Introducción a la detección de objetos: Video 5mins
Describimos la tarea de detección de objetos y los retos que se presentan en términos de datasets y arquitecturas de redes.

22 - Datasets para la detección de objetos: Video 10mins
Mostramos la organización de un dataset anotado para detección de objetos, tomando como ejemplo Open Images V6 Dataset.

23 - Two stage detectors: Video 12mins
Explicamos el mecanismo de funcionamiento de los detectores de dos etapas: una de propuesta de regiones, seguida por una clasificación.

24 - Two stage detectors example: Video 11mins
Mostramos un ejemplo de clasificación de parches de imágenes con distintos modelos para un esquema de detección de dos etapas, junto con las dificultades y retos que plantea.

25 - One stage detectors: Video 15mins
Describimos los principios de los detectores de una etapa y cómo se organiza la salida que esperamos de una red convolucional de detección de objetos.

26 - Definiendo anchor boxes: Video 10mins
Explicamos cómo generar un conjunto de anchor boxes (region priors) para nuestro detector de una etapa, basado en clustering con KMeans.

27 - Función de pérdida: Video 15mins
Explicamos cómo se construye la salida de una red de detección de objetos con convoluciones 1x1 y mostramos los componentes de la función de pérdida para entrenamiento.

28 - Arquitecturas para la detección de objetos: Video 14mins
Mencionamos algunas de las arquitecturas más utilizadas para la detección de objetos y sus principios generales.

LABORATORIO 3

LAB 3 - Detección de objetos: Video 15mins
En este laboratorio te familiarizarás con las estructuras de salida de una red de detección de objetos.

Segmentación semántica

29 - Introducción a la segmentación: Video 13mins
Revisamos los datalles de la segmentación de imágenes y los retos que nos genera.

30 - Tipos de convoluciones: Video 15mins
Revisamos las tipos de convoluciones vistos hasta ahora (strided, 1x1) y vemos cómo se pueden generar nuevos tipos de convoluciones maniplando los filtros o las imágenes previamente a realizar la operación de convolución en sí.

31 - Convoluciones transpuestas: Video 15mins
Explicamos cómo se realiza una convolución transpuesta y cómo nos puede ayudar a aumentar las dimensiones de los mapas de activación en una red convolucional.

32 - Intuición de las convoluciones transpuestas: Video 17mins
Realizamos algunos experimentos con tensorflow para reforzar la intuición sobre las convoluciones transpuestas.

33 - La arquitectura UNet: Video 18mins
Describimos la arquitectura de UNet, que es un buen punto de partida para muchos problemas de segmentación de imágenes, por su sencillez y eficacia.

34 - Convoluciones atrous: Video 13mins
Explicamos el mecanismo y la intuición de las convoluciones atrous, usadas en varias arquitecturas de redes convolucionales para la segmentación.

35 - Arquitecturas de segmentación: Video 15mins
Describimos brevemente las arquitecturas de Mask R-CNN y DeepLap, así como los conceptos de Backbone y Spatial Pyramids que se usan en muchas architecturas.

LABORATORIO 4

LAB 4 - Segmentación de objectos: Video 12mins
En este laboratorio crearás architecturas de segmentación basadas en UNet para poder apreciar los efectos de sus distintos componentes.