04 - CONVOLUTIONAL NETWORKS
Contents
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.