La inicialización de pesos, también llamada inicialización de parámetros, es el paso previo al entrenamiento en el aprendizaje profundo que asigna valores iniciales a los parámetros entrenables de una red neuronal, como pesos y sesgos. Estos parámetros se modifican durante el entrenamiento, y la elección del método de inicialización afecta la velocidad de convergencia, la escala de las activaciones, la escala de las señales de gradiente durante la retropropagación y la calidad final del modelo. Una inicialización adecuada es necesaria para evitar problemas como gradientes que se desvanecen o explotan y la saturación de las funciones de activación.
En un perceptrón multicapa (MLP), cada capa contiene una matriz de pesos y un vector de sesgos. El método de inicialización determina los valores iniciales de estos parámetros. Aunque el artículo se centra en los pesos, los sesgos también son entrenables y típicamente se inicializan por separado. Para las redes neuronales convolucionales (CNNs), los mismos principios se aplican a los núcleos y sesgos.
Inicialización Constante
La forma más simple es la inicialización a cero, donde todos los pesos y sesgos se establecen en cero. Esto rara vez se usa para los pesos porque conduce a la simetría: todas las neuronas en una capa calculan salidas y gradientes idénticos, por lo que aprenden las mismas características. La inicialización a cero se usa comúnmente para los sesgos, pero los pesos requieren valores aleatorios para romper la simetría.
Los sesgos generalmente se inicializan a cero, pero hay excepciones. En unidades multiplicativas como la puerta de olvido de un LSTM, establecer el sesgo a 1 puede mejorar el flujo de gradiente a través de la puerta. Para neuronas ReLU, un pequeño sesgo positivo (por ejemplo, 0.1) puede prevenir el problema de ReLU muerta al asegurar gradientes no nulos en la inicialización.
Las redes neuronales recurrentes (RNNs) a menudo usan funciones de activación acotadas como sigmoide o tanh para evitar valores que explotan. Algunas investigaciones, como la de Le, Jaitly y Hinton en 2015, sugirieron inicializar los pesos recurrentes a la matriz identidad y los sesgos a cero, lo que se asemeja a conexiones residuales y LSTMs sin puerta de olvido.
Inicialización Aleatoria
La inicialización aleatoria muestrea pesos de una distribución normal o uniforme, típicamente de manera independiente. La elección de la distribución y su varianza es crítica para mantener la propagación de la señal a través de la red.
Inicialización de LeCun
La inicialización de LeCun, popularizada por Yann LeCun y colegas en 1998, tiene como objetivo preservar la varianza de las activaciones durante el paso hacia adelante. Muestrea cada peso de una distribución con media cero y varianza 1/n_in, donde n_in es el número de entradas a la capa (fan-in). Para una distribución uniforme, esto corresponde a U(±√(3/n_in)). Este método funciona bien con funciones de activación como tanh, pero puede ser subóptimo para ReLU.
Inicialización de Glorot
La inicialización de Glorot, también conocida como inicialización de Xavier, fue propuesta por Xavier Glorot y Yoshua Bengio. Equilibra dos objetivos: preservar la varianza de las activaciones en el paso hacia adelante y preservar la varianza de los gradientes en el paso hacia atrás. Para la inicialización uniforme, los pesos se muestrean de U(±√(6/(n_in + n_out))), donde n_out es el número de salidas (fan-out). Este método es efectivo para activaciones sigmoide o tanh, pero puede causar problemas con ReLU debido a su naturaleza asimétrica.
Inicialización de He
La inicialización de He, introducida por Kaiming He y colegas en 2015, está diseñada para activaciones ReLU. Establece la varianza a 2/n_in, teniendo en cuenta que ReLU anula la mitad de las activaciones. Para la distribución uniforme, los pesos se muestrean de U(±√(6/n_in)). Este método ayuda a prevenir gradientes que se desvanecen en redes profundas con ReLU.
Preservación de la Varianza y Flujo de Gradiente
El objetivo principal de la inicialización es mantener la varianza de las activaciones y gradientes estable a través de las capas. Si los pesos son demasiado pequeños, las activaciones se reducen, lo que lleva a gradientes que se desvanecen. Si son demasiado grandes, las activaciones crecen, causando gradientes que explotan. La inicialización de Glorot y He proporciona una forma fundamentada de establecer la varianza basada en fan-in y fan-out.
Para redes profundas, el producto de las matrices de pesos a través de las capas puede causar crecimiento o decaimiento exponencial. Una inicialización adecuada asegura que la señal inicial se propague sin escalado extremo, permitiendo un entrenamiento efectivo desde el principio.
Impacto en la Dinámica de Entrenamiento
La inicialización afecta no solo la velocidad de convergencia, sino también la calidad del modelo final. Una inicialización deficiente puede llevar a un entrenamiento lento, mínimos locales o fallo en la convergencia. Por ejemplo, la inicialización a cero causa simetría, mientras que pesos excesivamente grandes pueden saturar las funciones de activación, lo que lleva a gradientes pequeños.
En la práctica, la inicialización a menudo se combina con otras técnicas como la normalización por lotes, que puede reducir la sensibilidad a la inicialización. Sin embargo, una buena inicialización sigue siendo importante, especialmente para redes muy profundas o cuando no se usa normalización.
Arquitecturas Especializadas
Diferentes arquitecturas requieren estrategias de inicialización adaptadas. Para CNNs, los núcleos se inicializan de manera similar a los pesos de MLP, pero el fan-in y fan-out se calculan basándose en el tamaño del núcleo y el número de canales. Para transformadores, que usan normalización de capas y conexiones residuales, la inicialización a menudo usa desviaciones estándar más pequeñas, como 0.02, como se ve en modelos como BERT.
Para modelos de lenguaje grandes, la inicialización es un factor crítico en la estabilidad del entrenamiento. Muchos modelos modernos usan variaciones de la inicialización de He o Glorot, a veces con escalado adicional basado en la profundidad del modelo.
Consideraciones Prácticas
En la mayoría de los marcos de aprendizaje profundo, se proporcionan métodos de inicialización predeterminados, pero los profesionales pueden personalizarlos. Por ejemplo, PyTorch y TensorFlow ofrecen funciones para inicialización uniforme, normal y ortogonal. La inicialización ortogonal, que establece las matrices de pesos para que sean ortogonales, a veces se usa para RNNs para preservar las normas de gradiente.
Al entrenar redes muy profundas, es común usar conexiones residuales y una inicialización cuidadosa para evitar la degradación. La elección de la inicialización debe alinearse con la función de activación y la arquitectura de la red.
Contexto Histórico
El estudio de la inicialización de pesos se remonta a los primeros trabajos sobre redes neuronales. El artículo de LeCun de 1998 sobre aprendizaje basado en gradientes aplicado al reconocimiento de documentos introdujo la inicialización que preserva la varianza. El artículo de Glorot y Bengio de 2010 "Understanding the difficulty of training deep feedforward neural networks" destacó la importancia de la inicialización para redes profundas. El artículo de He et al. de 2015 sobre aprendizaje residual profundo refinó aún más los métodos para redes ReLU.
Estos trabajos fundamentales han dado forma a la práctica moderna, y la inicialización sigue siendo un área activa de investigación, especialmente para modelos extremadamente profundos o de gran escala.
Conclusión
La inicialización de pesos es un paso fundamental en el entrenamiento de redes neuronales. Métodos como la inicialización a cero, aleatoria, de LeCun, Glorot y He tienen cada uno casos de uso específicos y compensaciones. La elección de la inicialización puede impactar significativamente la dinámica de entrenamiento, la convergencia y el rendimiento final. Comprender estos métodos es esencial para los profesionales que trabajan con modelos de aprendizaje profundo, desde MLPs simples hasta arquitecturas complejas de transformadores.