Una red neuronal es un sistema matemático que aprende patrones a partir de datos para generar predicciones, igual que tu cerebro reconoce un número escrito a mano sin pensarlo. Aquí vas a entender cómo funciona usando un ejemplo simple: convertir un número dibujado a mano en un número digital, como lo hace un sistema de reconocimiento óptico de caracteres.
Este contenido es para ti si estás empezando en inteligencia artificial y quieres entender la base de modelos como ChatGPT sin perderte en fórmulas complejas.
Cómo se representa una imagen en una red neuronal
Imagina que dibujas a mano un número tres y lo digitalizas en una cuadrícula de 20 píxeles por 20 píxeles. Eso te da 400 píxeles en total, y cada píxel guarda un valor de brillo entre 0 % y 100 %.
Esos 400 números forman una matriz, y esa matriz es tu capa de entrada. Cada neurona de entrada no es más que un dato numérico que representa el brillo de un píxel [00:25].
¿Qué es una neurona en una red neuronal? En la capa de entrada, una neurona es simplemente un número que representa un dato, como el brillo de un píxel. En las capas internas, es una operación matemática que detecta patrones.
Qué hace la capa de salida
Al final de la red está la capa de salida, que también son datos. Para reconocer dígitos del cero al nueve necesitas 10 neuronas, una por cada número posible.
Estas neuronas no responden con un sí o un no rotundo. Devuelven probabilidades expresadas en decimales entre 0 y 1: 0,5 es 50 %, 0,9 es 90 %. Si dibujas un tres parecido a un ocho, el tres puede activarse al 90 % y el ocho al 84 % [01:45]. Así funciona tanto la inteligencia humana como la artificial: por probabilidad.
Qué son las capas ocultas y los pesos
Entre la entrada y la salida están las capas ocultas, donde ocurre la magia. Estas neuronas sí ejecutan operaciones matemáticas para hacer emerger patrones desde los datos [02:45].
En el ejemplo se eligen tres capas ocultas con 15 neuronas cada una, pero el número es arbitrario. La cantidad correcta depende del problema:
- Más neuronas y más capas exigen más procesador y memoria.
- Demasiadas capas a veces generan menos inteligencia, como una persona sobreespecializada que ya no aprende cosas nuevas.
- Un gran modelo de lenguaje usa una arquitectura mucho mayor que un clasificador de dígitos.
Lo que estas capas detectan son patrones estadísticos: líneas, curvas, círculos, diagonales. El nueve tiene un círculo arriba, el seis abajo, el tres son dos medios círculos. La red descubre esos patrones sola, sin que tú los programes condición por condición [04:20].
Qué son los pesos en una red neuronal
Las conexiones entre neuronas se expresan con números llamados pesos, que representan la fuerza de la relación entre una neurona y las neuronas de la capa siguiente. Algunas conexiones son fuertes, otras débiles.
¿Qué es un peso en una red neuronal? Es un número que define qué tan intensa es la conexión entre dos neuronas. Empieza en un valor aleatorio y se ajusta durante el entrenamiento.
Cómo se entrena una red neuronal
El entrenamiento empieza inicializando todos los pesos con números aleatorios. Después le pasas una gran cantidad de datos etiquetados, por ejemplo miles de imágenes de números dibujados a mano con su respuesta correcta.
Al principio la red se equivoca todo el tiempo: dice que un cuatro es un cinco, que un uno es un cero. Cada error se le reporta a la red, y mediante un proceso llamado retropropagación la red revisa qué pesos estaban mal ajustados y los corrige [06:50].
Para ajustar esos pesos se usan funciones matemáticas como la sigmoide o ReLU, junto con sus derivadas. Es cálculo diferencial sencillo aplicado a vectores y matrices.
Qué es una época en machine learning
Cuando completas el entrenamiento pasando todos tus datos una vez, eso se llama una época o epoch. Una sola época rara vez basta porque la red empezó aleatoria, así que normalmente entrenas durante muchas épocas hasta que los pesos queden bien ajustados [07:55].
Después pruebas la red con datos que reservaste aparte para validar si está respondiendo correctamente.
¿Qué es una época en redes neuronales? Es una pasada completa por todo el conjunto de datos de entrenamiento. Suele necesitarse repetirla muchas veces para que la red aprenda bien.
Al final del entrenamiento puede ocurrir que la primera capa oculta detecte rayitas, la segunda detecte curvitas y la tercera combine ambas. La capa de salida produce entonces una matriz de 10 probabilidades, donde la neurona del número correcto se activa con el porcentaje más alto.
Por qué esto es la base de ChatGPT y los grandes modelos de lenguaje
En este ejemplo la entrada son píxeles. Pero si reemplazas los 400 píxeles por tokens, que son fragmentos de texto como palabras, sílabas o letras, puedes construir la estructura base de un modelo de lenguaje.
El idioma inglés tiene alrededor de 50 000 tokens [09:40]. Si pones 50 000 neuronas en la entrada y 50 000 en la salida, ya tienes el esqueleto de algo como ChatGPT o un traductor.
Una red neuronal sola no alcanza para crear ChatGPT. Necesitas dos piezas adicionales:
- Una arquitectura matemática llamada transformador.
- Un mecanismo conocido como atención.
Las matemáticas detrás de todo esto son álgebra lineal, vectores, matrices y un poco de cálculo diferencial. En código se trabaja con un tipo de dato especial llamado tensor, y librerías como TensorFlow facilitan la implementación.
La mayoría de programadores no sabe cómo funciona una red neuronal por dentro. Si llegaste hasta aquí, ya estás en ese grupo selecto. Cuéntame en los comentarios qué parte te resultó más reveladora.