Un modelo mental útil
Una red neuronal comienza como una estructura con configuraciones numéricas vacías. La estructura indica qué cálculos se realizan y en qué orden. Los pesos proporcionan muchos de los números que utilizan esos cálculos.
Piensa en la estructura como una plantilla reutilizable de cálculo y en los pesos como los valores que rellenan sus espacios. Dos modelos pueden utilizar la misma estructura, pero comportarse de forma diferente porque contienen pesos aprendidos distintos. La analogía termina ahí: a diferencia de las configuraciones etiquetadas de un panel de control, los pesos individuales normalmente no tienen nombres como «gramática» o «gatos».
Una capa común puede esquematizarse así:
input signals x
│
▼
multiply and combine with weights W
│
▼
add a learned offset b
│
▼
apply the layer's function
│
▼
output signalsEl desplazamiento b se denomina sesgo. Los pesos y los sesgos son ambos parámetros del modelo, pero solo los pesos multiplican señales.
Cómo funcionan los pesos del modelo
Supón que una capa recibe varios números de la capa anterior. Para producir un número nuevo, multiplica cada entrada por un peso y suma los resultados:
salida = (entrada₁ × peso₁) + (entrada₂ × peso₂) + ... + sesgo
Un peso positivo impulsa la suma en la misma dirección que su entrada. Un peso negativo la impulsa en la dirección opuesta. Un peso cercano a cero hace que esa entrada contribuya poco a esta suma concreta.
Una capa real calcula muchas salidas a la vez. Sus pesos se organizan como una matriz, por lo que la forma compacta es:
y = Wx + b
Aquí, x es un vector de señales de entrada, W es una matriz de pesos, b es un vector de sesgos y y es el resultado antes de aplicar cualquier función posterior. A veces, los frameworks almacenan W transpuesta, pero la operación subyacente es la misma.
Las redes profundas repiten variaciones de esta operación en muchas capas. Un cambio temprano altera las señales que reciben las capas posteriores, por lo que su efecto puede propagarse por el resto del cálculo. Las funciones no lineales, la normalización, los parámetros reutilizados y las interacciones con otros pesos hacen que ese efecto dependa del contexto.
Por eso, el signo o el tamaño de un peso no son una medida fiable de su importancia para todo el modelo. Su significado depende de dónde se encuentre, de la escala de sus entradas, de los parámetros cercanos y de cada operación posterior que utilice la señal resultante.
Un ejemplo práctico
Considera una capa con dos entradas:
- primera entrada:
3 - segunda entrada:
2 - primer peso:
0.8 - segundo peso:
-0.5 - sesgo:
0.1
La capa calcula:
(3 × 0.8) + (2 × -0.5) + 0.1 = 1.5
Ahora cambia únicamente el segundo peso de -0.5 a 0.5:
(3 × 0.8) + (2 × 0.5) + 0.1 = 3.5
La entrada no cambió. La estructura del cálculo tampoco cambió. La salida cambió porque cambió un multiplicador aprendido.
Este pequeño ejemplo facilita la inspección de cada valor. Una red grande realiza muchas combinaciones de este tipo a la vez y después pasa los resultados por más capas. En ese contexto, un peso sigue teniendo una función local precisa, pero su contribución a la respuesta final rara vez resulta significativa de forma aislada.
Cómo se aprenden los pesos
El entrenamiento busca valores de pesos que hagan que el modelo realice mejor su tarea. Un paso de entrenamiento típico consta de cuatro partes:
- El modelo utiliza sus pesos actuales para producir una salida.
- Una función de pérdida mide el error con respecto al objetivo de entrenamiento.
- La retropropagación calcula un gradiente para cada peso. Un gradiente describe cómo cambiaría la pérdida ante un pequeño cambio en ese peso.
- Un optimizador utiliza esos gradientes para ajustar los pesos.
Una actualización simplificada es:
peso nuevo = peso anterior - tasa de aprendizaje × gradiente
La tasa de aprendizaje controla el tamaño del paso. Repetir estas actualizaciones con distintos ejemplos de entrenamiento produce gradualmente un conjunto de pesos que funciona mejor para el objetivo.
El proceso normalmente no asigna un concepto humano a cada número. El aprendizaje está distribuido. Un comportamiento útil puede depender de patrones repartidos entre muchos pesos, y un mismo peso puede participar en muchos comportamientos.
Además, los pesos no tienen por qué comenzar en cero. Las redes neuronales suelen comenzar con valores cuidadosamente aleatorizados. Si unidades equivalentes comenzaran de forma idéntica, podrían recibir actualizaciones idénticas y no aprender funciones diferentes.
Por qué importan los pesos
Los pesos son el resultado duradero del entrenamiento. Una vez finalizado el entrenamiento, los valores aprendidos pueden guardarse en un checkpoint y cargarse posteriormente, en lugar de reaprenderse cada vez que se utilizan.
Cambiar los pesos cambia el comportamiento del modelo incluso cuando el código y la arquitectura permanecen fijos. El fine-tuning hace esto deliberadamente al continuar el entrenamiento desde un checkpoint existente. Otras técnicas pueden cambiar la forma en que se representan los pesos. Por ejemplo, almacenarlos con menor precisión numérica puede reducir el uso de memoria, aunque el equilibrio entre memoria y calidad de salida depende del modelo y del método.
Los pesos también representan gran parte del almacenamiento y la memoria de trabajo necesarios para ejecutar un modelo entrenado. Más valores y más bytes por valor generalmente requieren más memoria. Esta relación es útil, pero no constituye una medida completa del rendimiento. La sobrecarga de ejecución, los cálculos temporales, la longitud de entrada, el procesamiento por lotes y el hardware también importan.
Lo más importante es que los pesos son necesarios, pero no suficientes. Un tensor de pesos solo tiene significado cuando se coloca en la parte correspondiente de una arquitectura compatible. Un paquete de modelo utilizable también puede necesitar configuración, procesamiento de entradas, decodificación de salidas y código de ejecución. Los pesos no especifican la interfaz completa del producto, las reglas de seguridad, el sistema de recuperación ni las herramientas que rodean al modelo.
Conceptos erróneos comunes
«Los pesos y los parámetros son lo mismo»
A veces se utilizan ambas palabras indistintamente. En la definición estricta, todo peso es un parámetro, pero no todo parámetro es un peso. Los sesgos y algunos valores de escala también son parámetros. Aun así, los frameworks y los proveedores de modelos pueden llamar «archivo de pesos» a un archivo que contiene todos los parámetros aprendidos.
«Un peso más grande siempre es más importante»
La magnitud de un peso solo tiene sentido en su contexto. Una entrada con una escala pequeña y un peso grande puede tener el mismo efecto local que una entrada con una escala grande y un peso pequeño. Las capas posteriores pueden amplificar, cancelar, redirigir o ignorar el resultado.
«Cada peso almacena un hecho»
En conjunto, los pesos codifican patrones aprendidos durante el entrenamiento. No son filas de una tabla de hechos. Un solo hecho o capacidad puede involucrar muchos valores, mientras que un valor puede afectar a muchas entradas. Los modelos pueden reproducir parte del contenido de entrenamiento, pero eso no convierte los pesos en una copia directamente consultable del conjunto de datos.
«Los pesos son todo el sistema de IA»
Un checkpoint no es una aplicación completa. Se necesitan la arquitectura y la configuración correspondientes para interpretar sus tensores. Un producto de IA también puede añadir instrucciones, recuperación, herramientas, filtros y lógica de interfaz que no están contenidos en los pesos del modelo.
«El modelo actualiza sus pesos cada vez que lo utilizas»
La inferencia ordinaria lee pesos fijos para calcular salidas. La conversación inmediata puede afectar a las salidas posteriores mediante el contexto proporcionado, pero eso no equivale a volver a entrenar los pesos. El sistema solo los cambia cuando incluye un proceso explícito de entrenamiento o adaptación.
Cómo encajan los pesos en el sistema más amplio
La arquitectura define el recorrido del cálculo. Los parámetros proporcionan valores aprendidos a lo largo de ese recorrido. Los pesos multiplican señales, mientras que los sesgos y otros tipos de parámetros cumplen sus propias funciones. El entrenamiento ajusta esos valores; la inferencia utiliza los valores resultantes para procesar nuevas entradas.
Lee ¿Qué son los parámetros del modelo? a continuación para conocer la categoría más amplia que incluye pesos, sesgos y otros valores aprendidos. Consulta Parámetros del modelo frente a pesos del modelo para conocer la distinción directa. Vuelve a ¿Qué es una red neuronal? para saber cómo las capas ponderadas se combinan en una red completa, o continúa con ¿Qué es el entrenamiento en IA? para saber cómo se aprenden esos valores.