Zubnet AIAprenderWiki › Inicialización de Pesos
Entrenamiento

Inicialización de Pesos

También conocido como: Xavier Init, Kaiming Init, He Init
Cómo se establecen los pesos de una red neuronal antes de que comience el entrenamiento. Una mala inicialización puede hacer que el entrenamiento falle antes de empezar (activaciones que se desvanecen o explotan). Una buena inicialización asegura que las activaciones y gradientes mantengan magnitudes razonables a través de las capas. La inicialización Xavier (para tanh/sigmoid) y la inicialización Kaiming/He (para ReLU) son los estándares, cada una calibrada para la función de activación.

Por qué importa

La inicialización parece un detalle menor pero es crítica para entrenar redes profundas. Una red con pesos iniciales aleatorios (demasiado grandes) produce activaciones que explotan. Una con pesos demasiado pequeños produce activaciones que se desvanecen. La inicialización adecuada coloca la red en una "zona ideal" donde las señales fluyen sin explotar o desvanecerse — un prerrequisito para que el descenso de gradiente funcione en absoluto.

En profundidad

El principio central: inicializar pesos para que la varianza de las activaciones sea aproximadamente constante a través de las capas. Si cada capa amplifica la señal (la varianza crece), las activaciones explotan. Si cada capa la disminuye (la varianza se reduce), las activaciones se desvanecen. La inicialización Xavier establece pesos con varianza 2/(fan_in + fan_out). La inicialización Kaiming establece varianza 2/fan_in, teniendo en cuenta que ReLU anula la mitad de los valores.

En Transformers

Los Transformers modernos a menudo usan una inicialización escalada: los pesos de proyección de salida en las capas de attention y FFN se inicializan con desviación estándar escalada por 1/√(2×num_layers). Esto previene que el residual stream crezca demasiado a medida que se acumulan contribuciones de muchas capas. GPT-2 y muchos modelos posteriores usan este enfoque de "scaled init". Algunas arquitecturas (como muP/maximal update parameterization) llevan esto más lejos con reglas de escalado derivadas matemáticamente.

Pesos pre-entrenados

Para la mayoría de propósitos prácticos, la inicialización desde cero es rara — comienzas con pesos pre-entrenados y haces ajuste fino. Pero la inicialización aún importa para los nuevos componentes: adaptadores LoRA, nuevas cabezas de clasificación o embeddings de vocabulario extendido. La inicialización en cero para la matriz B de LoRA (para que el adaptador comience como identidad) y la inicialización adecuada para nuevos embeddings de tokens (típicamente copiando la media de los embeddings existentes) son patrones comunes que previenen que los nuevos componentes perturben el modelo pre-entrenado al inicio del ajuste fino.

← Todos los términos