Capítulo 22 de 22 10 secciones 7 min

Compartir

Referencias y dónde seguir

Las librerías que ahora sí tocan, los papers que hay detrás de cada capítulo y lo que este libro no cubre.

Este es el mapa para cuando yo ya no esté al lado. Después de escribir las redes a mano, la parada que yo recomiendo es PyTorch, que es lo que se usa hoy para investigar y cada vez más para producción. Aquí dejo su documentación, los papers originales de cada idea del libro y el orden en que yo los leería 📚

Hola! Este es el mapa para cuando yo ya no esté al lado

Dieciocho capítulos escribiendo redes con numpy. Ahora toca lo contrario: aprender las librerías que hacen todo eso por ti 🐣

Y va a ser fácil, que es justamente la gracia de haberlo hecho a mano. Cuando leas nn.Linear(64, 10) vas a saber que son 650 números; cuando veas loss.backward() vas a saber qué está calculando; y cuando algo no entrene, vas a tener dónde mirar.

Las librerías, por orden

LibreríaDóndePara qué
PyTorch pytorch.org/docs La que yo aprendería primero. Se escribe casi como numpy
Keras keras.io La más rápida para montar algo estándar
TensorFlow tensorflow.org/api_docs Debajo de Keras, y fuerte en despliegue
Hugging Face huggingface.co/docs Modelos ya entrenados, que es como empieza casi todo proyecto real

Y una recomendación que va en serio: casi nunca vas a entrenar desde cero. Lo normal es bajar un modelo ya entrenado de Hugging Face y ajustarlo, o usarlo tal cual. Entrenar desde cero es lo que hicimos en este libro para entenderlo, no lo que se hace un martes cualquiera 🧰

El paper de cada capítulo

Casi todas las ideas del libro salen de un paper concreto, y varios se leen sorprendentemente bien:

Léelos en ese orden si te animas. Y si un paper se te atraganta, no es culpa tuya: están escritos para gente que ya trabaja en eso 💛

Y antes de que cierres el libro, contéstate una: ¿qué es lo primero que vas a construir tú con esto? No tiene que ser grande. Tiene que ser tuyo, que es lo que hace que se quede 💜

Lo que yo estudiaría, en este orden

  • 1️⃣ Deep Learning, de Goodfellow, Bengio y Courville. Gratis y completo en esa página. Es el libro de referencia del campo, denso pero honesto.
  • 2️⃣ Dive into Deep Learning, gratis y con todo el código ejecutable en PyTorch. Es el que más se parece a lo que hicimos aquí, con librería en vez de a mano.
  • 3️⃣ El tutorial oficial de PyTorch. Dos tardes y ya montas lo del capítulo 21 en veinte líneas.
  • 4️⃣ Neural Networks: Zero to Hero, de Andrej Karpathy. Construye un modelo de lenguaje desde cero en video, con el mismo espíritu de este libro y bastante más lejos.

Lo que este libro no cubre

Prefiero decírtelo yo a que lo descubras cuando te lo pidan 🙃

  • ⚙️ El entrenamiento de verdad. Optimizadores mejores que el descenso simple (Adam sobre todo), tasas de aprendizaje que cambian solas, y todo lo que hace falta para que entrenar una semana no se caiga.
  • 🖼️ Visión moderna. Nuestra convolución del capítulo 11 es de juguete. Las arquitecturas reales, la detección de objetos y la segmentación son un campo entero.
  • 🔊 Audio y video. Ni los mencionamos.
  • 🎨 Los modelos que generan imágenes de verdad. La difusión está en el capítulo 20, pero en versión de juguete: 8 por 8 píxeles y diez categorías. Lo que hace falta para llegar a una imagen grande a partir de una frase es otro libro entero.
  • 🖥️ Las GPU. Todo lo del libro corre en el procesador porque es chiquito. Entrenar de verdad es aprender a mover datos entre tarjetas.
  • 🚀 Poner una red en producción. El capítulo 21 del libro de machine learning aplica igual, y encima con modelos que pesan gigas.

Y sobre lo que sí cubre

El libro entero corre sin TensorFlow y sin PyTorch, porque en el entorno donde se escribe no están instalados. Al principio pareció una limitación y creo que salió al revés.

Sin librería que esconda el cálculo, la neurona, el gradiente, la retropropagación, la convolución y la atención hubo que escribirlas. Y una vez escritas, ya no hay ninguna parte de una red que tengas que dar por buena porque alguien lo dijo 🔧

Lo que sí hay es MLPClassifier de scikit-learn, que se usó en los capítulos 1 y 3 para comparar contra lo hecho a mano. Y los dígitos de los capítulos 11, 20 y 21 vienen dentro de scikit-learn, así que no hay nada que descargar.

Dónde practicar

Los otros libros de esta casa

Sobre los datos de este libro

Se usaron tres cosas. El CSV de ventas de los otros libros, para los capítulos tabulares. Los 1.797 dígitos que vienen dentro de scikit-learn, para la convolución y el proyecto final. Y unos comentarios de clientes que escribí yo para los capítulos de texto, con la forma de los que le llegan a una distribuidora.

Los números del libro salen de correr el código sobre eso. Si corres tú lo mismo, te tienen que salir iguales; si no salen, escríbeme.

Y si quieres correrlo sin copiar y pegar capítulo por capítulo, ahí está el cuaderno del libro: la comparación del capítulo 1, la neurona, el XOR, la convolución y la atención, en un solo archivo que se abre en Google Colab 📓

Y ya está

Si llegaste hasta acá, gracias de verdad 💛

Este libro empieza diciendo cuándo no usar una red neuronal y termina con una que reconoce números al 97,56%. Entre medio hay unas cuantas veces donde el resultado me desmintió: la red perdiendo contra tres líneas de regresión, el identity ganando en el capítulo 3, la explicación del escalado que no aguantó la comprobación, el XOR que se atascó nueve de cada diez veces.

Todas están ahí sin maquillar, porque creo que esa es la parte que más se parece al trabajo de verdad 🌸

Que tengas lindo día!

¿Le sirve a alguien que conoces?

Pásale el libro. Es gratis, está entero y no pide registro 🐣

Instagram y TikTok no dejan compartir enlaces desde la web: esos dos copian la URL para que la pegues en tu historia.

¿Tienes alguna duda o consulta?