Curso de Redes Neuronales Artificiales
BIENVENIDA
Objetivo
Alcances del Programa
Temario:
Código
Duración y evaluación del programa
Recursos y dinámica
Agenda
Software
Bibliografía
1
Introducción a Deep Learning
1.1
Introducción al aprendizaje automático
1.1.1
Motivación: Los paradigmas del conocimiento
1.1.2
Machine learning supervisado
1.2
¿Por qué Deep Learning?
1.2.1
Dimensión VC
1.2.2
El truco del Kernel (SVM)
1.2.3
Ingeniería de caracteristicas
1.2.4
Beneficios del deep learning
2
Preliminares
2.1
Algebra Lineal
2.1.1
Introducción
2.1.2
Motivación
2.1.3
Escalares
2.1.4
Vectores
2.1.5
Matrices
2.1.6
Tensores
2.1.7
Reducciones sobre tensores
2.1.8
Producto punto
2.1.9
Producto entre matrices y vectores
2.1.10
Multiplicación matricial
2.1.11
Normas
2.2
Cálculo Diferencial
2.2.1
Introducción
2.2.2
Motivación
2.2.3
Derivadas y diferenciación
2.2.4
Regla de la cadena
2.2.5
Interpretación geométrica de la derivada
2.2.6
Teorema fundamental del cálculo
2.2.7
Autodiferenciación
3
Redes neuronales Lineales para Regresión
3.1
Introducción
3.2
Regresiones lineales simples
3.3
Función de pérdida y función de costo
3.4
Supuestos en la regresión lineal
3.5
Regresión Lineal Múltiple
3.6
Estimación de los parámetros
3.6.1
Derivación paso a paso
3.7
Bondad de ajuste
3.8
Supuestos del modelo lineal múltiple
3.9
Regularización en la Regresión Lineal
3.9.1
Ridge Regression
3.9.2
Lasso Regression
3.9.3
Elastic Net Regression
3.9.4
Comparación de métodos
3.10
Consideraciones
3.11
Sesgo y Varianza
3.11.1
Sesgo
3.11.2
Varianza
3.11.3
Compromiso sesgo–varianza
3.11.4
En regresión lineal
3.12
Conclusión de la sección
4
Redes neuronales Lineales para Clasificación
4.1
Modelos Lineales Generalizados
4.1.1
Historia
4.1.2
Definición
4.2
Regresión Logística para Clasificación
4.3
Redes neuronales
4.3.1
Historia
4.3.2
Definición
4.3.3
Neurona
4.3.4
Redes Neuronales
Notas adicionales
5
Perceptrón Multicapa
5.1
Perceptrones multicapa
5.1.1
Capas ocultas
5.1.2
Funciones de activación
5.1.3
Discusión
5.1.4
Ejercicios
5.2
Implementación de Perceptrones Multicapa
5.2.1
Implementación desde Cero
5.2.2
Implementación
5.2.3
Ejercicios
5.3
Forward Propagation, Backward Propagation
5.3.1
Forward Propagation
5.3.2
Backpropagation
5.3.3
Resumen
5.3.4
Ejercicios
5.4
Estabilidad Numérica e Inicialización
5.4.1
Explotación y Desvanecimiento de Gradientes
5.4.2
Inicialización paramétrica
5.4.3
Ejercicios
5.5
Generalización en Deep Learning
5.5.1
Sobreajuste y Regularización
5.5.2
Inspiración de los no paramétricos
5.5.3
Early Stopping
5.5.4
Métodos clásicos de regularización para redes profundas
5.5.5
Ejercicios
5.6
Dropout
5.6.1
Dropout en la práctica
5.6.2
Implementación desde cero
5.6.3
Definición del modelo
5.6.4
Entrenamiento
5.6.5
Implementación concisa
5.6.6
Resumen
5.6.7
Ejercicios
5.6.8
Dropout en la práctica
5.6.9
Implementación desde cero
5.6.10
Definición del modelo
5.6.11
Entrenamiento
5.6.12
Implementación concisa
5.6.13
Resumen
5.6.14
Ejercicios
6
GPUs
6.1
Paralelismo y concurrencia
6.1.1
Reflexión: Concurrencia y Paralelismo
6.1.2
Relación entre concurrencia y paralelismo
6.2
Complejidad Computacional
6.2.1
Analizando la complejidad computacional en el problema de ordenamiento de números
6.2.2
Notación Big O
6.2.3
Bubble sort vs Merge sort.
6.3
El papel del hardware
6.3.1
Implementación de multiplicación de matrices en distintas arquitecturas
6.3.2
¿Es viable acelerar cualquier algoritmo en GPU / TPU?
7
Redes Neuronales Convolucionales
8
Redes Neuronales Convolucionales Modernas
9
Redes Neuronales Recurrentes
10
Redes Neuronales Recurrentes Modernas
11
Mecanismos de Atención y Transformers
Parte 3: Escalabilidad, Eficiencia y Aplicaciones
12
Algoritmos de Optimización
Miscellanea: Intro to Graph Neural Networks
13
Introducción a la Teoría de Gráficas.
13.1
¿Qué es una gráfica?
13.2
Problemas clásicos de teoría de gráficas (selección)
13.2.1
Caminos y conectividad
13.2.2
Detección de comunidades
13.2.3
Centralidad e influencia
13.2.4
Emparejamiento y asignación
13.3
Ecosistema de Herramientas para el Trabajo con Grafos
13.4
¿Por qué combinar Graficas y Deep Learning?
13.4.1
A. Multilayer Percepton en las features tabulares de Cora
13.4.2
B. Modelo basado en una capa lineal que se multiplica por la matriz de adyacencia.
13.4.3
¿Qué esta haciendo la red?
13.5
Tipos de problemas de GNN
13.6
¿Existe un Teorema de Aproximación Univeral (TAU) para GNN’s?
13.7
Enfoques de aprendizaje transductivo e inductivo
14
Graph Neural Network
14.1
PyTorch Geometric y Graph Neural Networks
14.2
Graph Convolutional Networks (GNN)
14.3
¿Cómo funcionan?
14.4
Implementación en PyTorch Geometric
14.4.1
Ejemplo: Predicción del volumen de tráfico en Wikipedia (Regresión)
14.4.2
Ejemplo: Clasificación de artículos de investigación por categoría
14.5
Graph Attention Network (GAT)
14.5.1
¿Cómo funcionan?
14.6
Implementación en PyTorch Geometric
14.6.1
Ejemplo: Clasificación de artículos de investigación por categoría (Parte II)
15
Embeddings y Graph Neural Network
15.1
¿Qué es un embedding?
15.2
Word2Vec
15.3
Node2Vec
15.3.1
Ejemplo: Aplicando el modelo de SkipGrams a Random Walks
15.4
SageConv
15.4.1
Ejemplo: Clasificación de artículos de investigación por categoría (Parte II)
15.4.2
Ejemplo: Clasificación de artículos de investigación por categoría (Parte II)
Deep Learning
Capítulo 12
Algoritmos de Optimización