M7 · Métodos

Redes Neuronales

25 horas40 % sincrónicoAgosto – Septiembre5 unidades
Objetivos

Que los estudiantes comprendan el aprendizaje profundo como un problema de optimización sobre una función compuesta; implementen y entrenen perceptrones multicapa para clasificación y regresión; se inicien en arquitecturas convolucionales para imágenes; y operen con soltura un framework moderno de entrenamiento.

Distribución de las 25 horas del módulo por unidad. Tocá una unidad para ir a sus contenidos.

Qué toma de los módulos anteriores

Lo que este módulo da por aprendido

De M1

producto matricial, dimensiones, normas; representación tensorial.

De M4

gradiente, derivadas parciales, regla de la cadena, descenso por gradiente, convexidad y su ausencia, regularización.

De M2

verosimilitud y entropía cruzada, sobreajuste desde la perspectiva estadística.

De M5

partición de datos, métricas de clasificación, validación, ajuste de hiperparámetros.

De M3

entorno reproducible, control de versiones del código y de los pesos.

Contenidos

Cinco unidades

Unidad 1Del modelo lineal a la red4 h
  • Perceptrón: definición, regla de aprendizaje, límite del separador lineal y el problema XOR.
  • Por qué apilar capas: composición de funciones y no linealidad; el rol de la función de activación.
  • Funciones de activación: sigmoide, tanh, ReLU y variantes; saturación y neuronas muertas.
  • Teorema de aproximación universal: qué afirma, qué no afirma y por qué no resuelve el problema práctico.
  • La red como grafo de cómputo; notación matricial de la propagación hacia adelante (retoma M1).
PrácticaNotebook 1: perceptrón y MLP mínimo implementados a mano en NumPy, resolviendo XOR y una clasificación binaria simple.
Unidad 2Entrenamiento: retropropagación y optimización6 h
  • Funciones de pérdida: error cuadrático, entropía cruzada binaria y categórica; su relación con la verosimilitud vista en M2.
  • Retropropagación como regla de la cadena sobre el grafo de cómputo; diferenciación automática.
  • Descenso por gradiente estocástico y por lotes; tamaño de lote, época, tasa de aprendizaje y sus efectos.
  • Optimizadores: momento, RMSProp, Adam; planificación de la tasa de aprendizaje.
  • Inicialización de pesos y normalización de entradas; normalización por lotes.
  • Patologías del entrenamiento: gradientes que se desvanecen o explotan, mesetas, divergencia; lectura de la curva de pérdida.
PrácticaNotebook 2: retropropagación implementada a mano para una red de dos capas y verificación numérica del gradiente; luego la misma red en el framework, comparando resultados.
Unidad 3Redes multicapa en la práctica5 h
  • Diseño de la arquitectura: número de capas y unidades, capa de salida y activación según la tarea.
  • Regularización: L1/L2 (retoma M4), dropout, early stopping, aumento de datos.
  • Diagnóstico de sobreajuste y subajuste con curvas de aprendizaje; qué hacer en cada caso.
  • Preprocesamiento de entradas: escalado, codificación de categóricas, embeddings de baja dimensión.
  • Búsqueda de hiperparámetros en redes: qué vale la pena buscar y qué no; costo computacional.
  • Comparación honesta contra los modelos de M5: cuándo una red no aporta nada sobre un gradient boosting.
PrácticaNotebook 3: MLP sobre datos tabulares reales, con regularización y ajuste de hiperparámetros, comparado contra el mejor modelo de M5 sobre el mismo conjunto.
Unidad 4Redes convolucionales6 h
  • La imagen como tensor; por qué una MLP sobre píxeles no escala.
  • Convolución discreta: filtro, paso, relleno, mapas de activación; convolución como extractor de características.
  • Agrupamiento (pooling), profundidad y campo receptivo; arquitectura típica de una CNN de clasificación.
  • Arquitecturas de referencia: LeNet, AlexNet, VGG, ResNet y la idea de conexión residual.
  • Transferencia de aprendizaje y ajuste fino: por qué es la estrategia razonable con datos limitados.
  • Visualización de filtros y de mapas de activación como herramienta de interpretación.
PrácticaNotebook 4: clasificación de imágenes con una CNN entrenada desde cero y con transferencia de aprendizaje sobre un modelo preentrenado, comparando costo y desempeño.
Unidad 5Frameworks, cómputo y práctica profesional4 h
  • TensorFlow/Keras y PyTorch: modelo de programación, API secuencial y funcional, bucle de entrenamiento explícito.
  • GPU en Colab: uso, límites, tiempos y reproducibilidad; fijación de semillas.
  • Registro de experimentos, guardado y carga de modelos, versionado de pesos (retoma M3).
  • Panorama de arquitecturas actuales: autocodificadores, noción de atención y transformadores, modelos preentrenados de gran escala.
  • Consideraciones de uso responsable: sesgo en los datos de entrenamiento, opacidad del modelo, costo energético.
PrácticaNotebook 5: mismo modelo implementado en los dos frameworks, con guardado, recarga y verificación de reproducibilidad.

Evaluación

Dos entregas: (i) resolución de un problema tabular con MLP comparado contra los modelos de M5; (ii) un problema de clasificación de imágenes con transferencia de aprendizaje, con informe de las decisiones de arquitectura y entrenamiento.

Datos de trabajo

Conjunto tabular transversal de la Diplomatura, un conjunto de imágenes de dominio aplicado (imágenes médicas o satelitales de acceso público) y un conjunto de referencia tipo Fashion-MNIST para las primeras pruebas.

Bibliografía

  • Géron, A. (2022). Hands-On Machine Learning..., 3ª ed., caps. 10 a 14.
  • Goodfellow, I., Bengio, Y. y Courville, A. (2016). Deep Learning (referencia teórica).
  • Chollet, F. (2021). Deep Learning with Python, 2ª ed.
  • Documentación oficial de Keras y de PyTorch.