Gratis Guía escrita 22 capítulos 365 min de lectura

Deep learning desde cero

Veintidós capítulos escribiendo redes neuronales con numpy hasta una que reconoce dígitos al 97,56%, y uno comprobando que PyTorch saca exactamente los mismos números.

Gera Flores, Miss Yera Gera Flores · Miss Yera
Compartir

El deep learning son redes neuronales con muchas capas que aprenden solas qué características importan. Gana cuando el dato tiene forma: píxeles vecinos, palabras en orden, sonido. Para datos en tabla suele perder, y en este libro está medido: sobre 3.000 ventas la red saca 0,5834 y una regresión logística 0,7214. Sobre imágenes se da la vuelta, 0,9756 contra 0,9622. Veintidós capítulos con todo el código ejecutado, escritos en numpy salvo el de PyTorch, que reproduce la misma tabla del libro casilla por casilla.

Hola! Bienvenida a este libro 🌸

Esto no es un artículo largo: son veintidós capítulos que se leen en orden, con ejercicios en cada uno y con todo el código ejecutado de verdad.

Cada bloque corre y su salida se compara con la publicada. Si algún día un número deja de coincidir, aquí se entera antes que tú 💜

Lo que este libro hace y casi ningún otro

Aquí las redes están escritas a mano con numpy. La neurona, el gradiente, la retropropagación, la convolución y la atención: todas en veinte líneas cada una y con sus números impresos.

No porque en el trabajo se haga así, sino porque es la única forma de que después, cuando uses PyTorch, sepas qué está pasando. Y no te lo pido de fe: el capítulo 9 coge la red que escribiste a mano, la vuelve a escribir con la librería y comprueba que backward() saca tus mismos gradientes y que la tabla de entrenamiento sale igual en las quince casillas 🔧

Y hay una segunda cosa rara: este libro empieza diciéndote cuándo no usar una red neuronal. El capítulo 1 mide, sobre datos de una distribuidora peruana, que la red pierde contra tres líneas de regresión logística. Un libro de deep learning que no diga cuándo NO usarlo es publicidad, no docencia.

Segun la forma de los datos: si estan en tabla, el gradient boosting gana casi siempre y con menos datos, menos costo y explicabilidad; si son texto, imagen, audio o video, gana el deep learning sin discusion.
La pregunta que decide no es cuanta IA quieres, es que forma tienen tus datos. La mayoria de lo que hay en una empresa esta en tablas, y ahi montar una red neuronal es pagar mas por un resultado peor.

Los números que vas a encontrar

DóndeLa redUna regresión logística
3.000 ventas en tabla (capítulo 1)0,58340,7214
Las mismas, con freno (capítulo 8)0,72070,7214
1.797 dígitos escritos a mano (capítulo 21)0,97560,9622

Esa tabla es el libro entero. La red no es mejor ni peor: es distinta, y gana donde el dato tiene forma 🖼️

Para quién es

  • 🤖 Para ti si quieres entender qué hay dentro de ChatGPT y no te conformas con la analogía del cerebro.
  • 🧐 Si te van a vender una solución con redes y quieres poder pedir la comparación contra el modelo simple.
  • 📸 Si en tu trabajo hay fotos, documentos escaneados o comentarios de clientes, que es donde esto sí paga.
  • 🔧 Si ya usaste una librería de deep learning y te quedaste con la sensación de estar apretando botones.

Hace falta saber Python y manejarte con numpy. Si eso te falta, el paso previo es Python desde cero, y si quieres el orden completo, antes va Machine learning desde cero 🐣

Qué vas a poder hacer al terminar

  • ✍️ Escribir una red neuronal completa sin importar ninguna librería.
  • 🔍 Comprobar tú misma que un gradiente está bien calculado.
  • 📉 Reconocer un sobreajuste mirando dos números, y saber qué freno poner.
  • 🖼️ Entender por qué la convolución existe y cuándo no sirve.
  • 🔺 Explicar la atención de un transformer con la matriz delante.
  • 💬 Decidir entre prompt, RAG y ajuste fino con criterio y no por moda.
  • 🏆 Y montar un clasificador de imágenes al 97,56%, que es el capítulo 21.

Comprueba que lo tienes

Un estudio de abogados quiere un asistente que responda sobre sus 4.000 contratos, y que los contratos nuevos entren cada semana. ¿Qué le propones?

  • RAG sobre los contratos
  • Ajuste fino con los 4.000 contratos
  • Ajuste fino y luego RAG encima
  • Pegar los contratos en el prompt

La trampa

Una empresa pagó tres meses de ajuste fino para que el modelo "supiera" de su catálogo. Esto es lo que le pasaron como datos de entrenamiento.

{"prompt": "¿Cuánto cuesta el producto A?", "completion": "S/ 250"}
{"prompt": "¿Cuánto cuesta el producto B?", "completion": "S/ 890"}
{"prompt": "¿Stock del producto A?",         "completion": "120 unidades"}
Qué está mal

Están enseñando hechos, y el ajuste fino enseña comportamiento. El modelo aprende el estilo de la respuesta (cifra corta con S/ delante) y luego se inventa los precios con toda la seguridad del mundo. Peor todavía: el día que sube el precio del producto A, hay que reentrenar. Eso era una tabla y un RAG.

El libro, capítulo por capítulo

  • 1️⃣ Cuándo una red ayuda y cuándo es un error caro.
  • 2️⃣ La neurona, y la prueba de que una regresión logística es una.
  • 3️⃣ Las activaciones, y por qué sin ellas diez capas son una.
  • 4️⃣ Apilar capas: el XOR que paró el campo veinte años.
  • 5️⃣ Descenso de gradiente, y por qué sin escalar no hay paso que sirva.
  • 6️⃣ Retropropagación, comprobada peso a peso.
  • 7️⃣ Entrenar de verdad, y los tres botones que al subirlos empeoran.
  • 8️⃣ Los tres frenos del sobreajuste, escritos a mano.
  • 9️⃣ PyTorch, que saca tus mismos gradientes y tu misma tabla.
  • 🔟 Normalizar por lotes, y el error de producción que trae debajo.
  • 1️⃣1️⃣ La convolución, con imágenes de dígitos.
  • 1️⃣2️⃣ Texto y embeddings, y por qué no distinguen antónimos.
  • 1️⃣3️⃣ Recurrentes y LSTM, con el gradiente que se desvanece medido.
  • 1️⃣4️⃣ La atención, en seis líneas de numpy.
  • 1️⃣5️⃣ Del transformer al LLM: tokens, temperatura y el bucle que escribe.
  • 1️⃣6️⃣ Prompt, RAG o ajuste fino, con un buscador escrito a mano.
  • 1️⃣7️⃣ Transferencia: reutilizar una red entrenada, y por qué aquí pierde.
  • 1️⃣8️⃣ Generar dígitos nuevos con un modelo de difusión en numpy.
  • 1️⃣9️⃣ El proyecto final: dígitos al 97,56%.
  • 2️⃣0️⃣ Referencias y dónde seguir.

Con qué vas a practicar

Con tres cosas, y ninguna hay que descargarla a mano:

  • 📊 El CSV de ventas de los otros libros, para los capítulos donde el dato va en tabla.
  • 🔢 Los 1.797 dígitos escritos a mano que vienen dentro de scikit-learn, para la convolución y el proyecto final.
  • 💬 Unos comentarios de clientes que escribí yo, con la forma de los que le llegan a una distribuidora, para los capítulos de texto.

Veintiuno de los veintidós capítulos corren con numpy y scikit-learn y nada más. El de PyTorch necesita PyTorch, y se instala con pip install torch 🧰

El cuaderno, si prefieres tocarlo

Hay un cuaderno con el recorrido principal del libro: la comparación contra la regresión logística, la neurona a mano, el XOR, la convolución y la atención. Sirve para lo que la página no puede: cambiar un número, volver a ejecutar y ver qué se movió.

Escribe la red tú misma

El cuaderno corre de arriba abajo y no necesitas instalar nada: ábrelo en Google Colab y ejecuta. Todo sale de numpy.

Para abrirlo: descarga el cuaderno, entra a Google Colab, elige Subir y arrástralo. El CSV lo lee solo desde internet, así que no hace falta descargarlo salvo que quieras mirarlo en Excel.

Y hay algo más, que es lo que de verdad se usa para practicar: cada capítulo tiene su propio cuaderno, con su código y sus ejercicios con una celda vacía debajo para que los hagas tú. El botón está al final de cada capítulo, y al lado va el de soluciones para cuando ya te hayas peleado un rato 📓

Si lo tuyo es la empresa y no el aprendizaje

El capítulo 18 es el que más se usa en proyectos reales: cuándo conviene un prompt, cuándo RAG y cuándo ajustar un modelo, con un buscador escrito a mano y sus dos formas de fallar medidas.

Si prefieres trabajarlo conmigo y sobre los datos de tu empresa, eso es la consultoría, y si es para un equipo, el Full Day IA 💜

Preguntas frecuentes sobre este libro

¿Necesito saber matemáticas?

Derivadas ayuda, y no hace falta. El capítulo 5 explica el gradiente con una tabla de números en vez de con fórmulas, y el 6 comprueba cada derivada moviendo los pesos a mano en lugar de pedirte que te la creas.

¿Por qué numpy y no PyTorch?

Porque PyTorch esconde justo lo que hay que entender. Con numpy, la retropropagación son seis líneas que puedes leer. Pero el libro no te deja ahí: el capítulo 9 es PyTorch entero, y llega después de que ya hayas escrito la red a mano, que es el orden que hace que la librería se entienda en una tarde.

¿Sirve para trabajar con LLM?

Sí, y es de lo más útil que tiene. Los capítulos 13 al 18 van de embeddings, atención, tokens, temperatura y RAG, todo escrito a mano. Después de eso, las decisiones de un proyecto con LLM dejan de ser adivinanza.

¿Cuánto tiempo toma?

Con los ejercicios, unas dos semanas a un capítulo por día. Los capítulos 5, 6 y 7 son los más densos y los que más rinde hacer despacio.

¿Este libro entrena modelos grandes?

No, y el capítulo 22 dice exactamente qué deja fuera: el entrenamiento a escala, las GPU, la visión moderna y el audio. Los modelos que generan imágenes sí están, en el capítulo 20, aunque en versión de juguete. Lo que sí te deja es entender la maquinaria de todos ellos.

¿El código de verdad funciona?

Sí, y no es una promesa: cada bloque se ejecuta automáticamente y su salida se compara con lo publicado. Los errores también: cuando el libro dice que algo va a fallar, se comprueba que falle y con ese mensaje.

Después de este libro

Nos vemos en el capítulo 1. Que tengas un hermoso día! 🌟

Los 22 capítulos

Se leen en orden. Cada uno supone el anterior.

  1. 1 Cuándo una red neuronal ayuda y cuándo es un error caro Empezamos midiendo: sobre los datos de este libro la red pierde contra una regresión logística, y pierde más cuanto más grande es.
  2. 2 La neurona Multiplicar, sumar, aplastar. Y comprobar que la regresión logística que ya conoces es exactamente esto.
  3. 3 Las activaciones Sin función de activación, diez capas son una. Lo comprobamos, y de paso vemos por qué casi nadie usa ya la sigmoide en el medio.
  4. 4 Apilar capas El XOR, que paró el campo veinte años. Y la diferencia entre poder representar algo y llegar a encontrarlo.
  5. 5 Cómo sabe la red hacia dónde corregir La pérdida, la pendiente y el paso. Y por qué sin escalar no existe ningún paso que funcione, que era lo que quedó pendiente.
  6. 6 Repartir la culpa hacia atrás La regla de la cadena con capas, comprobada peso a peso. Y el gradiente desvanecido, por fin medido.
  7. 7 Entrenar una red Más neuronas, más vueltas y más paso: los tres botones que todo el mundo sube, medidos uno por uno. Los tres la empeoran.
  8. 8 Frenar el sobreajuste Penalizar los pesos, apagar neuronas al azar y ensuciar las entradas. Uno funciona, uno ayuda a medias y uno casi no.
  9. 9 PyTorch hace en cuatro líneas lo que escribiste a mano La misma red de los capítulos anteriores, ahora con la librería que se usa en el trabajo. Y la comprobación de que sale lo mismo.
  10. 10 Normalizar por lotes para que la red no se atasque Cuatro capas que no aprenden y tres líneas que las destraban. Y el error de producción que esas mismas tres líneas provocan.
  11. 11 La convolución Un filtro de nueve números que recorre la imagen. Escrito a mano y medido contra los píxeles sueltos, moviendo los dígitos.
  12. 12 Dónde está y qué forma tiene, no solo qué es Detectar es decir dónde. Segmentar es decir qué píxeles. Las dos construidas a mano sobre el clasificador que ya tienes, con IoU y supresión de no máximos.
  13. 13 Convertir palabras en números que signifiquen algo One-hot dice que bodega y minimarket no se parecen en nada. Los embeddings arreglan eso, y traen su propio problema.
  14. 14 Buscar por significado entre un millón de trozos Del coseno a fuerza bruta al índice que mira un rincón. Y por qué juntar dos búsquedas a veces empeora.
  15. 15 Redes que leen en orden La recurrente y la LSTM escritas a mano, y la medición de por qué las dos se quedaron cortas.
  16. 16 La atención Cada palabra mira a las demás y se queda con lo que le sirve. Escrita en seis líneas de numpy.
  17. 17 Qué está pasando cuando le escribes a un modelo de lenguaje Tokens, el bloque completo, el bucle que escribe palabra a palabra y qué hace de verdad la temperatura.
  18. 18 Prompt, RAG o ajuste fino La pregunta que llega a las empresas, con un buscador de RAG escrito a mano y sus dos formas de fallar medidas.
  19. 19 Reutilizar lo que otra red ya aprendió Congelar la capa oculta de una red entrenada y medir qué pasa. Salió lo contrario de lo que yo esperaba.
  20. 20 Generar dígitos nuevos en vez de reconocerlos Un modelo de difusión escrito en numpy, en 35 segundos y sin ninguna librería de deep learning. Le pides un 7 y te dibuja un 7.
  21. 21 Una red que reconoce dígitos Todo el libro en un archivo, sin importar ninguna librería de deep learning. Y por fin la red gana.
  22. 22 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.

Los 149 ejercicios de este libro están también en 21 cuadernos que se abren en Colab sin instalar nada. Escribes tu respuesta y el cuaderno te dice si te salió 💛

Y 10 ejercicios más sobre datos públicos: Setenta mil fotos de ropa en 28 por 28 →

El libro entero en PDF

Con el índice, los 22 capítulos y las soluciones de todos los ejercicios al final de cada uno. Te lo mando a tu correo 💛

4,0 MB · Se lee igual y gratis acá, siempre.

¿Quieres llevarlo más lejos?

Esta guía te deja operando. El curso te deja diseñando, midiendo y gobernando sistemas de IA que trabajan solos.

Ver los cursos
¿Tienes alguna duda o consulta?