Curso
IA de 10.º: Aprendizaje profundo e IA multimodal
Construye y entrena redes neuronales en PyTorch para imágenes, texto y sonido.
Haz las lecciones en orden. Al final puedes calcular la salida de una neurona, comparar las activaciones ReLU, sigmoide y softmax, y escribir el paso hacia adelante de una red pequeña con NumPy. Puedes elegir una pérdida, explicar el descenso de gradiente y la retropropagación, y escribir un guion con el bucle completo de entrenamiento y prueba en PyTorch. Puedes entrenar un clasificador de imágenes con una CNN, entrenar un clasificador de sentimiento para distinguir reseñas positivas de negativas, explicar cómo la atención pondera los otros tokens, y clasificar clips de sonido cortos. Puedes reducir el sobreajuste, ajustar un modelo preentrenado a clases nuevas, agrupar los errores y hallar su causa, y presentar un monitor inteligente de fauna probado con imágenes no vistas.
Cómo usar estas lecciones
- Empieza en la lección que dice Haz esto. Sigue adelante cuando puedas hacer tú solo la línea bajo el título.
- Juega primero los Juegos. Luego haz las Pruebas. 8 de 10 correctas para aprobar. Las Fichas están en papel. Las respuestas están abajo.
- Cada lección se apoya en la anterior. Anota cada entrenamiento: los ajustes, la curva de pérdida y la puntuación de la prueba.
- Las lecciones de código usan Python y PyTorch en un cuaderno en línea gratis con una GPU. Bastan modelos pequeños y conjuntos pequeños. Usa solo conjuntos abiertos que tengas permiso de usar, y nunca entrenes con fotos de personas sin su permiso.
Cada lección tiene juegos, pruebas y fichas.
0 de 36
Fundamentos de redes neuronales
- 1NeuronasCalcula la salida de una neurona a partir de entradas, pesos y sesgo.
- Escribe la suma ponderada más el sesgo.
- Calcúlala a mano para tres entradas.
- Calcúlala en código con un producto escalar.
- 2ActivacionesCompara las activaciones ReLU, sigmoide y softmax.
- Dibuja cada activación.
- Explica por qué una red necesita una activación no lineal.
- Usa softmax para convertir puntuaciones en probabilidades.
- 3Capas y redesApila capas para formar una red.
- Escribe una capa como una multiplicación de matrices.
- Sigue la forma de los datos en cada capa.
- Cuenta los parámetros de una red.
- 4Una red pequeñaEscribe el paso hacia adelante de una red pequeña con NumPy.
- Construye una red de dos capas en NumPy.
- Pasa un lote de entradas por ella.
- Comprueba la forma de la salida.
Entrenamiento de redes neuronales
- 5PérdidaElige una pérdida para una tarea y calcúlala.
- Usa el error cuadrático medio para regresión.
- Usa la entropía cruzada para clasificación.
- Di qué significa que la pérdida baje.
- 6Descenso de gradienteExplica cómo el descenso de gradiente mueve los pesos cuesta abajo.
- Halla la pendiente de una curva de pérdida.
- Da pasos con una tasa de aprendizaje.
- Mira qué pasa si la tasa es demasiado grande o demasiado pequeña.
- 7RetropropagaciónSigue la retropropagación del error hacia atrás por la red.
- Usa la regla de la cadena en una red diminuta.
- Calcula un gradiente a mano.
- Compruébalo con la diferenciación automática.
- 8Entrena una redEntrena una red pequeña y dibuja la pérdida.
- Entrena con mini-lotes.
- Dibuja la pérdida de entrenamiento y de validación.
- Para cuando la pérdida de validación deja de mejorar.
Bibliotecas de aprendizaje profundo
- 9TensoresCrea y cambia la forma de tensores de PyTorch.
- Crea tensores y comprueba su forma y su tipo.
- Cambia su forma, apílalos y córtalos.
- Mueve tensores a una GPU.
- 10MódulosConstruye un modelo con módulos de torch.nn.
- Crea una subclase de nn.Module.
- Usa capas Linear y de activación.
- Imprime el modelo y su número de parámetros.
- 11OptimizadoresEntrena con los optimizadores SGD y Adam.
- Usa zero_grad, backward y step.
- Compara SGD y Adam en una tarea.
- Usa un calendario de tasa de aprendizaje.
- 12Guion de entrenamientoEscribe un guion con el bucle completo de entrenamiento y prueba.
- Carga datos con un DataLoader.
- Entrena, valida y prueba.
- Guarda el mejor modelo.
Visión por computadora
- 13Imágenes como tensoresCarga imágenes como tensores y normalízalas.
- Carga una imagen como canales, alto y ancho.
- Cambia su tamaño y normalízala.
- Muestra un lote como una cuadrícula.
- 14ConvolucionesExplica cómo un filtro de convolución encuentra bordes.
- Desliza un filtro 3×3 sobre una imagen a mano.
- Aplica filtros de bordes en código.
- Explica stride, padding y pooling.
- 15CNNConstruye una red neuronal convolucional, una CNN.
- Apila capas de convolución, activación y pooling.
- Aplana y añade una cabeza clasificadora.
- Sigue las formas por la red.
- 16Clasificador de imágenesEntrena un clasificador de imágenes con una CNN.
- Entrena con un conjunto pequeño de imágenes.
- Informa de la exactitud en la prueba.
- Muestra imágenes que clasificó mal.
Procesamiento del lenguaje natural
- 17TokenizaciónHaz la tokenización: convierte el texto en tokens e identificadores.
- Compara tokens de palabra y de subpalabra.
- Construye un vocabulario.
- Rellena las secuencias hasta la misma longitud.
- 18EmbeddingsExplica cómo los embeddings acercan las palabras parecidas.
- Usa una capa de embedding.
- Halla las palabras más cercanas a una palabra.
- Dibuja embeddings en dos dimensiones.
- 19Modelos de textoConstruye un modelo de texto que lee una secuencia de tokens.
- Promedia embeddings en un solo vector.
- Usa una capa recurrente simple.
- Compara las dos.
- 20Clasificador de sentimientoEntrena un clasificador de sentimiento para distinguir reseñas positivas de negativas.
- Entrena con un conjunto de reseñas.
- Informa de exactitud, precisión y exhaustividad.
- Halla reseñas que lo engañan, como el sarcasmo.
Transformers
- 21AtenciónExplica cómo la atención pondera los otros tokens.
- Explica las consultas, las claves y los valores.
- Calcula los pesos de atención de una frase corta.
- Di por qué la atención ayuda con el significado a larga distancia.
- 22Bloques transformerNombra las partes de un bloque transformer.
- Nombra la atención multicabeza, la capa feed-forward y las capas de normalización.
- Explica las conexiones residuales.
- Explica las codificaciones de posición.
- 23Modelos preentrenadosUsa un modelo preentrenado transformer para una tarea.
- Carga un modelo preentrenado y un tokenizador.
- Clasifica texto con él.
- Compáralo con tu propio modelo de sentimiento.
- 24Mapas de atenciónLee un mapa de atención.
- Dibuja los pesos de atención como un mapa de calor.
- Halla a qué palabras atiende un token.
- Di por qué la atención no es una explicación completa.
Audio e IA multimodal
- 25El sonido como datosConvierte el sonido en una forma de onda y un espectrograma.
- Carga audio y dibuja su forma de onda.
- Explica la tasa de muestreo.
- Haz un espectrograma.
- 26Clasificador de audioClasifica clips de sonido cortos con un clasificador de audio.
- Trata los espectrogramas como imágenes.
- Entrena una CNN con ellos.
- Prueba con ruido de fondo.
- 27Entradas multimodalesExplica cómo un modelo combina entradas multimodales de imágenes y texto.
- Explica codificadores separados para cada entrada.
- Explica un espacio de embeddings compartido.
- Nombra tres aplicaciones multimodales.
- 28Imagen y textoEmpareja imagen y texto: une imágenes con pies de foto con un modelo preentrenado.
- Obtén embeddings de imágenes y de pies de foto.
- Ordena los pies de foto de cada imagen.
- Busca imágenes con una consulta de texto.
Mejora del modelo
- 29RegularizaciónReduce el sobreajuste con regularización: dropout y decaimiento de pesos.
- Añade dropout.
- Añade decaimiento de pesos.
- Compara las curvas de validación.
- 30Aumento de datosHaz aumento de datos: añade imágenes volteadas y recortadas al conjunto de entrenamiento.
- Aplica volteos, recortes y cambios de color.
- Aumenta solo el conjunto de entrenamiento.
- Mide el cambio en la exactitud de la prueba.
- 31Aprendizaje por transferenciaUsa el aprendizaje por transferencia para ajustar un modelo preentrenado a clases nuevas.
- Congela las capas preentrenadas.
- Sustituye y entrena la cabeza.
- Descongela y ajusta con una tasa de aprendizaje pequeña.
- 32Análisis de erroresHaz un análisis de errores: agrupa los errores y halla su causa.
- Lee una matriz de confusión de muchas clases.
- Ordena los errores en grupos.
- Elige la corrección para el grupo más grande.
Proyecto de aprendizaje profundo
- 33Datos de faunaElige y divide un conjunto abierto de imágenes de fauna.
- Elige un conjunto abierto de cámaras trampa o de fauna.
- Elige de cinco a diez especies.
- Divide por lugar para que la prueba sea justa.
- 34Ajusta el modeloAjusta el modelo clasificador de imágenes a clases de fauna.
- Ajusta un modelo preentrenado.
- Sigue la exactitud de validación.
- Guarda el mejor punto de control.
- 35Interfaz de demostraciónConstruye una interfaz de demostración que muestra predicciones de imágenes subidas.
- Acepta una imagen subida.
- Muestra las tres especies principales y sus puntuaciones.
- Muestra «no estoy seguro» cuando la confianza es baja.
- 36Monitor inteligente de faunaPresenta un monitor inteligente de fauna: la exactitud en imágenes no vistas y los errores principales.
- Informa de la exactitud en imágenes no vistas.
- Muestra los errores principales y sus causas.
- Di qué cambiarías después.