En el aprendizaje profundo , la inicialización de pesos o parámetros describe el paso inicial en la creación de una red neuronal . Una red neuronal contiene parámetros entrenables que se modifican durante el entrenamiento: la inicialización de pesos es el paso previo al entrenamiento que consiste en asignar valores iniciales a estos parámetros.
La elección del método de inicialización de pesos afecta la velocidad de convergencia, la escala de activación neuronal dentro de la red, la escala de las señales de gradiente durante la retropropagación y la calidad del modelo final. Una inicialización adecuada es necesaria para evitar problemas como gradientes que se desvanecen o explotan y la saturación de la función de activación .
Cabe destacar que, si bien este artículo se titula "Inicialización de pesos", tanto los pesos como los sesgos se utilizan en una red neuronal como parámetros entrenables, por lo que este artículo describe cómo se inicializan ambos. De manera similar, los parámetros entrenables en las redes neuronales convolucionales (CNN) se denominan núcleos y sesgos, y este artículo también los describe.
Inicialización constante
Analizamos los principales métodos de inicialización en el contexto de un perceptrón multicapa (MLP). Las estrategias específicas para inicializar otras arquitecturas de red se abordan en secciones posteriores.
Para una MLP, solo hay dos tipos de parámetros entrenables, llamados pesos y sesgos. Cada capacontiene una matriz de pesosy un vector de sesgo, dóndees el número de neuronas en esa capa. Un método de inicialización de pesos es un algoritmo para establecer los valores iniciales parapara cada capa.
La forma más simple es la inicialización cero :La inicialización a cero se suele utilizar para inicializar los sesgos, pero no para inicializar los pesos, ya que produce simetría en la red, lo que provoca que todas las neuronas aprendan las mismas características.
En esta página, asumimosa menos que se indique lo contrario.
Las redes neuronales recurrentes suelen utilizar funciones de activación con rango limitado, como sigmoide y tanh, ya que la activación sin límite puede provocar valores explosivos. (Le, Jaitly, Hinton, 2015) [ 1 ] sugirieron inicializar los pesos en las partes recurrentes de la red a la identidad y sesgo cero, de forma similar a la idea de conexiones residuales y LSTM sin puerta de olvido.
En la mayoría de los casos, los sesgos se inicializan a cero, aunque en algunas situaciones se puede usar una inicialización distinta de cero. Por ejemplo, en unidades multiplicativas, como la puerta de olvido de LSTM , el sesgo se puede inicializar a 1 para permitir una buena señal de gradiente a través de la puerta. [ 2 ] Para neuronas con activación ReLU , se puede inicializar el sesgo a un valor positivo pequeño como 0,1, de modo que el gradiente sea probablemente distinto de cero en la inicialización, evitando el problema de la ReLU muerta. [ 3 ] : 305 [ 4 ]
Inicialización aleatoria
La inicialización aleatoria consiste en muestrear los pesos a partir de una distribución normal o una distribución uniforme , generalmente de forma independiente .
Inicialización de LeCun
La inicialización de LeCun , popularizada en (LeCun et al., 1998), [ 5 ] está diseñada para preservar la varianza de las activaciones neuronales durante el paso hacia adelante.
Muestra cada entrada enindependientemente de una distribución con media 0 y varianza. Por ejemplo, si la distribución es una distribución uniforme continua , entonces la distribución es.
Inicialización de Glorot
La inicialización de Glorot (o inicialización de Xavier ) fue propuesta por Xavier Glorot y Yoshua Bengio . [ 6 ] Fue diseñada como un compromiso entre dos objetivos: preservar la varianza de activación durante el paso hacia adelante y preservar la varianza del gradiente durante el paso hacia atrás.
Para una inicialización uniforme, muestrea cada entrada ende forma independiente e idéntica desde. En este contexto,También se le llama " fan-in ", yel " fan-out ". Cuando el fan-in y el fan-out son iguales, entonces la inicialización de Glorot es la misma que la inicialización de LeCun.
Él inicializa
Como la inicialización de Glorot funciona mal para la activación ReLU, [ 7 ] Kaiming He et al. [ 8 ] propusieron la inicialización de He (o inicialización de Kaiming ) para redes con activación ReLU . Muestrea cada entrada ende .
Inicialización ortogonal
(Saxe et al. 2013) [ 9 ] propusieron la inicialización ortogonal : inicializar las matrices de pesos como matrices semiortogonales uniformemente aleatorias (según la medida de Haar ) , multiplicadas por un factor que depende de la función de activación de la capa. Fue diseñado de tal manera que si se inicializa una red lineal profunda de esta forma, entonces su tiempo de entrenamiento hasta la convergencia es independiente de la profundidad. [ 10 ]
El muestreo de una matriz semiortogonal aleatoria uniforme se puede realizar inicializandomediante muestreo IID de sus entradas de una distribución normal estándar, luego calcularo su transpuesta, dependiendo de sies alto o ancho. [ 11 ]
Para los núcleos de CNN con anchos y alturas impares, la inicialización ortogonal se realiza de esta manera: se inicializa el punto central con una matriz semiortogonal y se rellenan las demás entradas con cero. Como ilustración, un núcleode formase inicializa rellenandocon las entradas de una matriz semiortogonal aleatoria de formay las demás entradas con cero. (Balduzzi et al., 2017) [ 12 ] lo usaron con paso 1 y relleno de ceros. Esto a veces se denomina inicialización delta ortogonal . [ 11 ] [ 13 ]
En relación con este enfoque, la inicialización unitaria propone parametrizar las matrices de pesos como matrices unitarias , de modo que en la inicialización sean matrices unitarias aleatorias (y durante todo el entrenamiento, permanecen unitarias). Se ha comprobado que esto mejora el modelado de secuencias largas en LSTM. [ 14 ] [ 15 ]
La inicialización ortogonal se ha generalizado a la inicialización de varianza unitaria secuencial por capas (LSUV) . Es un método de inicialización dependiente de los datos y puede utilizarse en redes neuronales convolucionales . Primero inicializa los pesos de cada capa convolucional o totalmente conectada con matrices ortonormales. Luego, procediendo desde la primera hasta la última capa, realiza una pasada hacia adelante sobre un minilote aleatorio y divide los pesos de la capa por la desviación estándar de su salida, de modo que su salida tenga una varianza aproximadamente igual a 1. [ 16 ] [ 17 ]
Corrección de inicialización
En 2015, la introducción de conexiones residuales permitió entrenar redes neuronales muy profundas, mucho más profundas que las aproximadamente 20 capas del estado del arte anterior (como la VGG-19 ). Las conexiones residuales dieron lugar a sus propios problemas y estrategias de inicialización de pesos. A estos métodos se les denomina a veces "sin normalización", ya que el uso de conexiones residuales puede estabilizar tanto el entrenamiento de una red neuronal profunda que la normalización se vuelve innecesaria.
La inicialización de Fixup está diseñada específicamente para redes con conexiones residuales y sin normalización por lotes, como sigue: [ 18 ]
- Inicializa la capa de clasificación y la última capa de cada rama residual a 0.
- Inicialice cada dos capas usando un método estándar (como la inicialización de He) y escale solo las capas de peso dentro de las ramas residuales por.
- Agregue un multiplicador escalar (inicializado en 1) en cada rama y un sesgo escalar (inicializado en 0) antes de cada capa de convolución, lineal y de activación elemento a elemento.
De manera similar, la inicialización de T-Fixup está diseñada para Transformers sin normalización de capas . [ 19 ] : 9
Otros
En lugar de inicializar todos los pesos con valores aleatorios del orden deLa inicialización dispersa inicializó solo un pequeño subconjunto de los pesos con valores aleatorios más grandes y los demás pesos a cero, de modo que la varianza total sigue estando en el orden de. [ 20 ]
La inicialización de paseo aleatorio se diseñó para MLP de manera que, durante la retropropagación, la norma L2 del gradiente en cada capa realiza un paseo aleatorio insesgado a medida que uno se mueve de la última capa a la primera. [ 21 ]
La inicialización lineal de Looks fue diseñada para permitir que la red neuronal se comportara como una red lineal profunda en la inicialización, ya queInicializa una matrizde formapor cualquier método, como la inicialización ortogonal, entonces deje quematriz de pesos para ser la concatenación de. [ 22 ]
Misceláneas
Para la función de activación tangente hiperbólica , a veces se utiliza una escala particular:A veces se le llamaba " tanh de LeCun ". Fue diseñado para que representara el intervaloa sí mismo, asegurando así que la ganancia total sea de alrededor de 1 en "condiciones normales de funcionamiento" y queestá en su máximo cuando, lo que mejora la convergencia al final del entrenamiento. [ 23 ] [ 5 ]
En las redes neuronales auto-normalizantes , la función de activación SELUcon parámetroshace que la media y la varianza de la salida de cada capa tengancomo un punto fijo atractivo. Esto hace que la inicialización sea menos importante, aunque recomiendan inicializar los pesos aleatoriamente con varianza.. [ 24 ]
Historia
La inicialización aleatoria de pesos se ha utilizado desde los perceptrones de Frank Rosenblatt . Un trabajo temprano que describió la inicialización de pesos específicamente fue (LeCun et al., 1998). [ 5 ]
Antes de la era del aprendizaje profundo de la década de 2010, era común inicializar modelos mediante "preentrenamiento generativo" utilizando un algoritmo de aprendizaje no supervisado que no fuera retropropagación, ya que era difícil entrenar directamente redes neuronales profundas mediante retropropagación. [ 25 ] [ 26 ] Por ejemplo, una red de creencias profundas se entrenó utilizando divergencia contrastiva capa por capa, comenzando desde abajo. [ 27 ]
(Martens, 2010) [ 20 ] propuso la Optimización sin Hessiano, un método cuasi-Newton para entrenar directamente redes profundas. El trabajo generó gran entusiasmo porque era posible inicializar redes sin una fase de preentrenamiento. [ 28 ] Sin embargo, un artículo de 2013 demostró que con hiperparámetros bien elegidos, el descenso de gradiente de momento con inicialización de pesos era suficiente para entrenar redes neuronales, sin necesidad de un método cuasi-Newton ni de preentrenamiento generativo, una combinación que todavía se utiliza en 2024. [ 29 ]
Desde entonces, el impacto de la inicialización en el ajuste de la varianza se ha vuelto menos importante, con métodos desarrollados para ajustar automáticamente la varianza, como la normalización por lotes que ajusta la varianza del paso hacia adelante, [ 30 ] y los optimizadores basados en momento que ajustan la varianza del paso hacia atrás. [ 31 ]
Existe una tensión entre usar una inicialización cuidadosa de los pesos para disminuir la necesidad de normalización y usar la normalización para disminuir la necesidad de una inicialización cuidadosa de los pesos, y cada enfoque tiene sus ventajas y desventajas. Por ejemplo, la normalización por lotes hace que los ejemplos de entrenamiento en el minilote se vuelvan dependientes, una característica indeseable, mientras que la inicialización de los pesos depende de la arquitectura. [ 32 ]
Véase también
Referencias
- ↑ Le, Quoc V.; Jaitly, Navdeep; Hinton, Geoffrey E. (2015). "Una forma sencilla de inicializar redes recurrentes de unidades lineales rectificadas". arXiv : 1504.00941 [ cs.NE ].
- ↑ Jozefowicz, Rafal; Zaremba, Wojciech; Sutskever, Ilya (1 de junio de 2015). "Una exploración empírica de arquitecturas de redes recurrentes" . Actas de la 32.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 2342–2350 .
- ↑ Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Aprendizaje profundo . Computación adaptativa y aprendizaje automático. Cambridge, Massachusetts: The MIT Press. ISBN 978-0-262-03561-3.
- ↑ Lu, Lu; Shin, Yeonjong; Su, Yanhui; Karniadakis, George Em (2019). "Dying ReLU e inicialización: teoría y ejemplos numéricos". Comunicaciones en Física Computacional . 28 (5): 1671-1706 . arXiv : 1903.06733 . doi : 10.4208/cicp.OA-2020-0165 .
- 1 2 3 LeCun, Yann; Bottou, Leon; Orr, Genevieve B.; Müller, Klaus-Robert (1998), "Efficient BackProp" , en Orr, Genevieve B.; Müller, Klaus-Robert (eds.), Neural Networks: Tricks of the Trade , Berlín, Heidelberg: Springer, pp. 9–50 , doi : 10.1007/3-540-49430-8_2 , ISBN 978-3-540-49430-0, consultado el 5 de octubre de 2024
- ↑ Glorot, Xavier; Bengio, Yoshua (31 de marzo de 2010). "Comprender la dificultad de entrenar redes neuronales profundas de alimentación directa" . Actas de la Decimotercera Conferencia Internacional sobre Inteligencia Artificial y Estadística . Actas de talleres y conferencias de JMLR: 249–256 .
- ↑ Kumar, Siddharth Krishna (2017). "Sobre la inicialización de pesos en redes neuronales profundas". arXiv : 1704.08863 [ cs.LG ].
- ↑ He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2015). "Profundizando en los rectificadores: superando el rendimiento a nivel humano en la clasificación de ImageNet". arXiv : 1502.01852 [ cs.CV ].
- ↑ Saxe, Andrew M.; McClelland, James L.; Ganguli, Surya (2013). "Soluciones exactas a la dinámica no lineal del aprendizaje en redes neuronales lineales profundas". arXiv : 1312.6120 [ cs.NE ].
- ↑ Hu, Wei; Xiao, Lechao; Pennington, Jeffrey (2020). "Beneficio demostrable de la inicialización ortogonal en la optimización de redes lineales profundas". arXiv : 2001.05992 [ cs.LG ].
- 1 2 Martens, James; Ballard, Andy; Desjardins, Guillaume; Swirszcz, Grzegorz; Dalibard, Valentin; Sohl-Dickstein, Jascha; Schoenholz, Samuel S. (2021). "Entrenamiento rápido de redes neuronales profundas sin conexiones de salto ni capas de normalización mediante Deep Kernel Shaping". arXiv : 2110.01765 [ cs.LG ].
- ↑ Balduzzi, David; Frean, Marcus; Leary, Lennox; Lewis, JP; Ma, Kurt Wan-Duo; McWilliams, Brian (17 de julio de 2017). "El problema de los gradientes fragmentados: si las redes neuronales convolucionales son la respuesta, ¿cuál es la pregunta?" . Actas de la 34.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 342–350 .
- ↑ Xiao, Lechao; Bahri, Yasaman; Sohl-Dickstein, Jascha; Schoenholz, Samuel; Pennington, Jeffrey (2018-07-03). "Isometría dinámica y una teoría de campo medio de CNN: cómo entrenar redes neuronales convolucionales básicas de 10 000 capas" . Actas de la 35.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 5393–5402 . arXiv : 1806.05393 .
- ↑ Arjovsky, Martin; Shah, Amar; Bengio, Yoshua (2016-06-11). "Redes neuronales recurrentes de evolución unitaria" . Actas de la 33.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 1120–1128 . arXiv : 1511.06464 .
- ↑ Henaff, Mikael; Szlam, Arthur; LeCun, Yann (2017-03-15). "Redes ortogonales recurrentes y tareas de memoria larga". arXiv : 1602.06662 [ cs.NE ].
- ↑ Mishkin, Dmytro; Matas, Jiri (19 de febrero de 2016), Todo lo que necesitas es un buen inicio , arXiv : 1511.06422
- ↑ Xie, Di; Xiong, Jiang; Pu, Shiliang (2017). Todo lo que necesitas va más allá de una buena inicialización: explorando una mejor solución para entrenar redes neuronales convolucionales extremadamente profundas con ortonormalidad y modulación . Conferencia IEEE sobre Visión por Computadora y Reconocimiento de Patrones (CVPR). págs. 6176–6185 .
- ↑ Zhang, Hongyi; Dauphin, Yann N.; Ma, Tengyu (2019). "Fixup Initialization: Residual Learning Without Normalization". arXiv : 1901.09321 [ cs.LG ].
- ↑ Huang, Xiao Shi; Pérez, Felipe; Ba, Jimmy; Volkovs, Maksims (21 de noviembre de 2020). "Mejora de la optimización de transformadores mediante una mejor inicialización" . Actas de la 37.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 4475–4483 .
- 1 2 Martens, James (21 de junio de 2010). "Aprendizaje profundo mediante optimización sin matriz hessiana" . Actas de la 27.ª Conferencia Internacional sobre Aprendizaje Automático (ICML'10). Madison, WI, EE. UU.: Omnipress: 735–742 . ISBN 978-1-60558-907-7.
- ↑ Sussillo, David; Abbott, LF (2014). "Inicialización de paseo aleatorio para el entrenamiento de redes de alimentación directa muy profundas". arXiv : 1412.6558 [ cs.NE ].
- ↑ Balduzzi, David; Frean, Marcus; Leary, Lennox; Lewis, JP; Kurt Wan-Duo Ma; McWilliams, Brian (2017). "El problema de los gradientes fragmentados: si las resnets son la respuesta, ¿entonces cuál es la pregunta?". arXiv : 1702.08591 [ cs.NE ].
- ↑ LeCun, Y. (1989). "Generalización y estrategias de diseño de redes" (PDF) . En Pfeifer, R.; Schreter, Z.; Fogelman, F.; Steels, L. (eds.). Connectionism in Perspective: Actas de la Conferencia Internacional Connectionism in Perspective, Universidad de Zúrich, 10-13 de octubre de 1988. Ámsterdam: Elsevier.
- ↑ Klambauer, Günter; Unterthiner, Thomas; Mayr, Andrés; Hochreiter, Sepp (2017). "Redes neuronales autonormalizadas" . Avances en los sistemas de procesamiento de información neuronal . 30 . Curran asociados, Inc.
- ↑ Bengio, Y. (2009). "Learning Deep Architectures for AI" (PDF) . Foundations and Trends in Machine Learning . 2 : 1–127 . CiteSeerX 10.1.1.701.9550 . doi : 10.1561/2200000006 .
- ↑ Erhan, Dumitru; Courville, Aaron; Bengio, Yoshua; Vincent, Pascal (31 de marzo de 2010). "¿Por qué el preentrenamiento no supervisado ayuda al aprendizaje profundo?" . Actas de la Decimotercera Conferencia Internacional sobre Inteligencia Artificial y Estadística . Actas de talleres y conferencias de JMLR: 201–208 .
- ↑ Bengio, Yoshua; Lamblin, Pascal; Popovici, Dan; Larochelle, Hugo (2006). "Entrenamiento codicioso por capas de redes neuronales profundas" . Avances en sistemas de procesamiento de información neuronal . 19. MIT Press.
- ↑ Glorot, Xavier; Bordes, Antoine; Bengio, Yoshua (14 de junio de 2011). "Redes neuronales rectificadoras dispersas profundas" . Actas de la Decimocuarta Conferencia Internacional sobre Inteligencia Artificial y Estadística . Actas de talleres y conferencias de JMLR: 315–323 .
- ↑ Sutskever, Ilya; Martens, James; Dahl, George; Hinton, Geoffrey (26 de mayo de 2013). "Sobre la importancia de la inicialización y el impulso en el aprendizaje profundo" (PDF) . Actas de la 30.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 1139–1147 .
- ↑ Bjorck, Nils; Gomes, Carla P; Selman, Bart; Weinberger, Kilian Q (2018). "Understanding Batch Normalization" . Advances in Neural Information Processing Systems . 31. Curran Associates, Inc. arXiv : 1806.02375 .
- ↑ Balles, Lukas; Hennig, Philipp (2018-07-03). "Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients" . Actas de la 35.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 404–413 . arXiv : 1705.07774 .
- ↑ Brock, Andrew; De, Soham; Smith, Samuel L.; Simonyan, Karen (2021). "Reconocimiento de imágenes a gran escala de alto rendimiento sin normalización". arXiv : 2102.06171 [ cs.CV ].
Lecturas adicionales
- Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). «8.4 Estrategias de inicialización de parámetros» . Aprendizaje profundo . Computación adaptativa y aprendizaje automático. Cambridge, Mass: The MIT Press. ISBN 978-0-262-03561-3.
- Narkhede, Meenal V.; Bartakke, Prashant P.; Sutaone, Mukul S. (28 de junio de 2021). "Una revisión sobre estrategias de inicialización de pesos para redes neuronales". Artificial Intelligence Review . 55 (1). Springer Science and Business Media LLC: 291– 322. doi : 10.1007/s10462-021-10033-z . ISSN 0269-2821 .
- Aprendizaje automático
- Redes neuronales artificiales
- Aprendizaje profundo