Articulo de referencia

Inicialización de pesos

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 entrenabl...

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 capal{\displaystyle l}contiene una matriz de pesosW(l)Rnortel1×nortel{\displaystyle W^{(l)}\in \mathbb {R} ^{n_{l-1}\times n_{l}}}y un vector de sesgob(l)Rnortel{\displaystyle b^{(l)}\in \mathbb {R} ^{n_{l}}}, dóndenortel{\displaystyle n_{l}}es el número de neuronas en esa capa. Un método de inicialización de pesos es un algoritmo para establecer los valores iniciales paraW(l),b(l){\displaystyle W^{(l)},b^{(l)}}para cada capal{\displaystyle l}.

La forma más simple es la inicialización cero :W(l)=0,b(l)=0{\displaystyle W^{(l)}=0,b^{(l)}=0}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, asumimosb=0{\displaystyle b=0}a 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 enW(l){\displaystyle W^{(l)}}independientemente de una distribución con media 0 y varianza1/nortel1{\displaystyle 1/n_{l-1}}. Por ejemplo, si la distribución es una distribución uniforme continua , entonces la distribución esU(±3/nortel1){\displaystyle {\mathcal {U}}(\pm {\sqrt {3/n_{l-1}}})}.

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 enW(l){\displaystyle W^{(l)}}de forma independiente e idéntica desdeU(±6/(nortel+1+nortel1)){\displaystyle {\mathcal {U}}(\pm {\sqrt {6/(n_{l+1}+n_{l-1})}})}. En este contexto,nortel1{\displaystyle n_{l-1}}También se le llama " fan-in ", ynortel+1{\displaystyle n_{l+1}}el " 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 enW(l){\displaystyle W^{(l)}}de norte(0,2/nortel1){\displaystyle {\mathcal {N}}(0,2/n_{l-1})}.

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 inicializandoincógnita{\displaystyle X}mediante muestreo IID de sus entradas de una distribución normal estándar, luego calcular(incógnitaincógnita)1/2incógnita{\displaystyle \left(XX^{\top }\right)^{-1/2}X}o su transpuesta, dependiendo de siincógnita{\displaystyle X}es 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úcleoK{\displaystyle K}de forma3×3×do×do{\displaystyle 3\times 3\times c\times c'}se inicializa rellenandoK[2,2,:,:]{\displaystyle K[2,2,:,:]}con las entradas de una matriz semiortogonal aleatoria de formado×do{\displaystyle c\times c'}y 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 ]

  1. Inicializa la capa de clasificación y la última capa de cada rama residual a 0.
  2. 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 porL12metro2{\displaystyle L^{-{\frac {1}{2m-2}}}}.
  3. 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 deO(1/norte){\displaystyle O(1/{\sqrt {n}})}La 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 deO(1){\displaystyle O(1)}. [ 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 queWRmiLU(incógnita)WRmiLU(incógnita)=Wincógnita{\displaystyle W\;\mathrm {ReLU} (x)-W\;\mathrm {ReLU} (-x)=Wx}Inicializa una matrizW{\displaystyle W}de formaRnorte2×metro{\displaystyle \mathbb {R} ^{{\frac {n}{2}}\times m}}por cualquier método, como la inicialización ortogonal, entonces deje queRnorte×metro{\displaystyle \mathbb {R} ^{n\times m}}matriz de pesos para ser la concatenación deW,W{\displaystyle W,-W}. [ 22 ]

Misceláneas

Para la función de activación tangente hiperbólica , a veces se utiliza una escala particular:1.7159tanh(2incógnita/3){\displaystyle 1.7159\tanh(2x/3)}A veces se le llamaba " tanh de LeCun ". Fue diseñado para que representara el intervalo[1,+1]{\displaystyle [-1,+1]}a sí mismo, asegurando así que la ganancia total sea de alrededor de 1 en "condiciones normales de funcionamiento" y que|F(incógnita)|{\displaystyle |f''(x)|}está en su máximo cuandoincógnita=1,+1{\displaystyle x=-1,+1}, lo que mejora la convergencia al final del entrenamiento. [ 23 ] [ 5 ]

En las redes neuronales auto-normalizantes , la función de activación SELUSmiLU(incógnita)=λ{incógnitasi incógnita>0αmiincógnitaαsi incógnita0{\displaystyle \mathrm {SELU} (x)=\lambda {\begin{cases}x&{\text{si }}x>0\\\alpha e^{x}-\alpha &{\text{si }}x\leq 0\end{cases}}}con parámetrosλ1.0507,α1.6733{\displaystyle \lambda \approx 1.0507,\alpha \approx 1.6733}hace que la media y la varianza de la salida de cada capa tengan(0,1){\displaystyle (0,1)}como un punto fijo atractivo. Esto hace que la inicialización sea menos importante, aunque recomiendan inicializar los pesos aleatoriamente con varianza.1/nortel1{\displaystyle 1/n_{l-1}}. [ 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

  1. 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 ].
  2. 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 .
  3. 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.
  4. 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 .
  5. 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
  6. 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 .
  7. Kumar, Siddharth Krishna (2017). "Sobre la inicialización de pesos en redes neuronales profundas". arXiv : 1704.08863 [ cs.LG ].
  8. 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 ].
  9. 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 ].
  10. 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 ].
  11. 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 ].
  12. 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 .
  13. 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 .
  14. 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 .
  15. Henaff, Mikael; Szlam, Arthur; LeCun, Yann (2017-03-15). "Redes ortogonales recurrentes y tareas de memoria larga". arXiv : 1602.06662 [ cs.NE ].
  16. Mishkin, Dmytro; Matas, Jiri (19 de febrero de 2016), Todo lo que necesitas es un buen inicio , arXiv : 1511.06422
  17. 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 . 
  18. Zhang, Hongyi; Dauphin, Yann N.; Ma, Tengyu (2019). "Fixup Initialization: Residual Learning Without Normalization". arXiv : 1901.09321 [ cs.LG ].
  19. 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 .
  20. 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.
  21. 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 ].
  22. 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 ].
  23. 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.
  24. 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.
  25. 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 . 
  26. 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 .
  27. 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.
  28. 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 .
  29. 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 .
  30. 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 .
  31. 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 .
  32. 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 . 
Obtenido de " https://en.wikipedia.org/w/index.php?title=Weight_initialization&oldid=1360746308 "