En el aprendizaje automático , la normalización es una técnica estadística con diversas aplicaciones. Hay dos formas principales de normalización, a saber, la normalización de datos y la normalización de activación . La normalización de datos (o escalado de características ) incluye métodos que reescalan los datos de entrada para que las características tengan el mismo rango, media, varianza u otras propiedades estadísticas. Por ejemplo, una opción popular de método de escalado de características es la normalización min-max , donde cada característica se transforma para tener el mismo rango (típicamenteoEsto resuelve el problema de que diferentes características tengan escalas muy diferentes, por ejemplo, si una característica se mide en kilómetros y otra en nanómetros.
Por otro lado, la normalización de la activación es específica del aprendizaje profundo e incluye métodos que reescalan la activación de las neuronas ocultas dentro de las redes neuronales .
La normalización se utiliza a menudo para:
- aumentar la velocidad de convergencia del entrenamiento,
- reducir la sensibilidad a las variaciones y escalas de características en los datos de entrada,
- reducir el sobreajuste ,
- y producir una mejor generalización del modelo a datos no vistos.
Las técnicas de normalización a menudo se justifican teóricamente por reducir el desplazamiento de la covarianza, suavizar los paisajes de optimización y aumentar la regularización , aunque se justifican principalmente por el éxito empírico. [ 1 ]
Normalización por lotes
La normalización por lotes ( BatchNorm ) [ 2 ] opera sobre las activaciones de una capa para cada mini-lote.
Consideremos una red neuronal de alimentación directa simple, definida mediante la encadenación de módulos:
donde cada módulo de red puede ser una transformación lineal, una función de activación no lineal, una convolución, etc.es el vector de entrada,es el vector de salida del primer módulo, etc.
BatchNorm es un módulo que se puede insertar en cualquier punto de la red de alimentación directa. Por ejemplo, supongamos que se inserta justo después, entonces la red funcionaría en consecuencia:
El módulo BatchNorm no opera sobre entradas individuales. En cambio, debe operar sobre un lote de entradas a la vez.
Concretamente, supongamos que tenemos un lote de entradas, introducidos todos a la vez en la red. En el centro de la red obtendríamos algunos vectores:
El módulo BatchNorm calcula la media y la varianza de estos vectores coordenada por coordenada:
dóndeindexa las coordenadas de los vectores yindexa los elementos del lote. En otras palabras, estamos considerando el-ésima coordenada de cada vector en el lote, y calculando la media y la varianza de estos números.
Luego, normaliza cada coordenada para que tenga media cero y varianza unitaria:
Eles una pequeña constante positiva comoañadido a la varianza para la estabilidad numérica, para evitar la división por cero .
Finalmente, aplica una transformación lineal:
Aquí,yson parámetros dentro del módulo BatchNorm. Son parámetros aprendibles, normalmente entrenados mediante descenso de gradiente .
A continuación se muestra una implementación en Python de BatchNorm:
import numpy as npdef batchnorm ( x , gamma , beta , epsilon = 1e-9 ): # Media y varianza de cada característica mu = np . mean ( x , axis = 0 ) # forma (N,) var = np . var ( x , axis = 0 ) # forma (N,)# Normalizar las activaciones x_hat = ( x - mu ) / np . sqrt ( var + epsilon ) # forma (B, N)# Aplicar la transformación lineal y = gamma * x_hat + beta # forma (B, N)regresar yInterpretación
ypermitir que la red aprenda a deshacer la normalización, si esto es beneficioso. [ 3 ] BatchNorm puede interpretarse como la eliminación de las transformaciones puramente lineales, de modo que sus capas se centren únicamente en modelar los aspectos no lineales de los datos, lo cual puede ser beneficioso, ya que una red neuronal siempre puede ampliarse con una capa de transformación lineal en la parte superior. [ 4 ] [ 3 ]
En la publicación original se afirma que BatchNorm funciona reduciendo el cambio de covarianza interna, aunque esta afirmación tiene tanto partidarios [ 5 ] [ 6 ] como detractores. [ 7 ] [ 8 ]
Casos especiales
El artículo original [ 2 ] recomendaba usar BatchNorms solo después de una transformación lineal, no después de una activación no lineal. Es decir,, noAdemás, el sesgono importa, ya que se cancelaría con la resta media posterior, por lo que es de la forma. Es decir, si una BatchNorm está precedida por una transformación lineal, entonces el término de sesgo de esa transformación lineal se establece en cero. [ 2 ]
Para las redes neuronales convolucionales (CNN), BatchNorm debe preservar la invariancia de traslación de estos modelos, lo que significa que debe tratar todas las salidas del mismo núcleo como si fueran puntos de datos diferentes dentro de un lote. [ 2 ] Esto a veces se denomina BatchNorm espacial, o BatchNorm2D, o BatchNorm por canal. [ 9 ] [ 10 ]
Concretamente, supongamos que tenemos una capa convolucional bidimensional definida por:
dónde:
- es la activación de la neurona en la posiciónen el-ésimo canal del-capa.
- es un tensor de núcleo. Cada canalcorresponde a un núcleo, con índices.
- es el término de sesgo para el-ésimo canal del-capa.
Para preservar la invariancia traslacional, BatchNorm trata todas las salidas del mismo kernel en el mismo lote como más datos en un lote. Es decir, se aplica una vez por kernel.(equivalentemente, una vez por canal)), no por activación:
dóndees el tamaño del lote,es la altura del mapa de características yes el ancho del mapa de características.
Es decir, aunque solo haypuntos de datos en un lote, todosLas salidas del kernel en este lote se tratan por igual. [ 2 ]
Posteriormente, la normalización y la transformación lineal también se realizan por núcleo:
Consideraciones similares se aplican a BatchNorm para convoluciones n -dimensionales.
A continuación se muestra una implementación en Python de BatchNorm para convoluciones 2D:
import numpy as npdef batchnorm_cnn ( x , gamma , beta , epsilon = 1e-9 ): # Calcula la media y la varianza para cada canal . media = np.media ( x , axis = ( 0 , 1 , 2 ) , keepdims = True ) varianza = np.var ( x , axis = ( 0 , 1 , 2 ) , keepdims = True )# Normaliza el tensor de entrada. x_hat = ( x - media ) / np . sqrt ( var + epsilon )# Escala y desplaza el tensor normalizado. y = gamma * x_hat + betaregresar yPara redes neuronales recurrentes multicapa (RNN), BatchNorm generalmente se aplica solo para la parte de entrada a oculta , no para la parte oculta a oculta . [ 11 ] Sea el estado oculto de la-enésima capa en el tiemposer. La RNN estándar, sin normalización, satisfacedóndeson pesos y sesgos, yes la función de activación. Al aplicar BatchNorm, esto se convierte enEn BatchNorm para RNN, existen dos formas posibles de definir qué es un "lote": por fotograma y por secuencia . Concretamente, consideremos aplicar una RNN para procesar un lote de oraciones.ser el estado oculto de la-capa para el-ésimo token del-ésima oración de entrada. Entonces, BatchNorm por marco significa normalizar sobre:y secuencialmente significa normalizar sobre:La normalización por lotes a nivel de fotograma es adecuada para tareas causales como la predicción del siguiente carácter, donde los fotogramas futuros no están disponibles, lo que obliga a la normalización por fotograma. La normalización por lotes a nivel de secuencia es adecuada para tareas como el reconocimiento de voz, donde las secuencias completas están disponibles, pero con longitudes variables. En un lote, las secuencias más cortas se rellenan con ceros para que coincidan con el tamaño de la secuencia más larga del lote. En tales configuraciones, no se recomienda la normalización a nivel de fotograma, ya que el número de fotogramas sin rellenar disminuye a lo largo del eje temporal, lo que da lugar a estimaciones estadísticas cada vez peores. [ 11 ]
mejoras
BatchNorm ha sido muy popular y se han intentado muchas mejoras. Algunos ejemplos incluyen: [ 13 ]
- Procesamiento por lotes fantasma: divida aleatoriamente un lote en sublotes y aplique BatchNorm por separado a cada uno;
- descomposición del peso eny;
- y combinando BatchNorm con GroupNorm.
Un problema particular de BatchNorm es que, durante el entrenamiento, la media y la varianza se calculan sobre la marcha para cada lote (generalmente como una media móvil exponencial ), pero durante la inferencia, la media y la varianza se congelan a partir de las calculadas durante el entrenamiento. Esta disparidad entre entrenamiento y prueba degrada el rendimiento. La disparidad se puede reducir simulando la media móvil durante la inferencia: [ 13 ] : Ec. 3
dóndees un hiperparámetro que debe optimizarse en un conjunto de validación.
Otros trabajos intentan eliminar BatchNorm, como por ejemplo ResNet sin normalizador. [ 14 ]
Normalización de capas
La normalización de capas ( LayerNorm ) [ 15 ] es una alternativa popular a BatchNorm. A diferencia de BatchNorm, que normaliza las activaciones en toda la dimensión del lote para una característica dada, LayerNorm las normaliza en todas las características dentro de una única muestra de datos. En comparación con BatchNorm, el rendimiento de LayerNorm no se ve afectado por el tamaño del lote. Es un componente clave de los modelos Transformer .
Para una entrada de datos y una capa dadas, LayerNorm calcula la mediay varianzasobre todas las neuronas de la capa. Similar a BatchNorm, parámetros entrenables(escala) y(desplazamiento) se aplican. Se define por:
dónde:
y el índiceabarca las neuronas de esa capa.
Ejemplos
Por ejemplo, en CNN, LayerNorm se aplica a todas las activaciones de una capa. En la notación anterior, tenemos:
Observe que el índice de lotesse elimina, mientras que el índice del canalse añade.
En las redes neuronales recurrentes [ 15 ] y los transformadores [ 16 ] LayerNorm se aplica individualmente a cada paso de tiempo. Por ejemplo, si el vector oculto en una RNN en el paso de tiempoes, dóndees la dimensión del vector oculto, entonces se aplicará LayerNorm con:
dónde:
Normalización de capas de raíz cuadrática media
Normalización de la capa de raíz cuadrática media ( RMSNorm ): [ 17 ]
Esencialmente, es LayerNorm donde aplicamosTambién se denomina normalización L2 . Es un caso especial de la normalización Lp o normalización de potencia .dóndees una constante.
Adaptado
La norma de capa adaptativa ( adaLN ) calcula laen un LayerNorm no de la activación de la capa en sí, sino de otros datos. Se propuso por primera vez para CNN, [ 18 ] y se ha utilizado eficazmente en transformadores de difusión (DiT). [ 19 ] Por ejemplo, en un DiT, la información de condicionamiento (como un vector de codificación de texto) es procesada por un perceptrón multicapa en, que luego se aplica en el módulo LayerNorm de un transformador.
Normalización de peso
La normalización de pesos ( WeightNorm ) [ 20 ] es una técnica inspirada en BatchNorm que normaliza las matrices de pesos en una red neuronal, en lugar de sus activaciones.
Un ejemplo es la normalización espectral , que divide las matrices de pesos por su norma espectral . La normalización espectral se utiliza en redes generativas antagónicas (GAN), como la GAN de Wasserstein . [ 21 ] El radio espectral se puede calcular de manera eficiente mediante el siguiente algoritmo:
Matriz de ENTRADAy suposición inicial
Iterara la convergenciaEste es el vector propio decon valor propio.
DEVOLVER
Al reasignarDespués de cada actualización del discriminador, podemos establecer un límite superior.y, por lo tanto, límite superior.
El algoritmo puede acelerarse aún más mediante la memorización : en el paso, almacenar. Luego, en el paso, usarcomo la suposición inicial para el algoritmo. Dado queestá muy cerca de, así esa, permitiendo así una rápida convergencia.
Normalización específica de CNN
Existen algunas técnicas de normalización de activación que solo se utilizan para redes neuronales convolucionales (CNN).
Normalización de la respuesta
La normalización de respuesta local [ 22 ] se utilizó en AlexNet . Se aplicó en una capa convolucional, justo después de una función de activación no lineal. Se definió de la siguiente manera:
dóndees la activación de la neurona en la ubicacióny canalEs decir, cada píxel de un canal se ve suprimido por las activaciones del mismo píxel en sus canales adyacentes.
Los hiperparámetros se seleccionan utilizando un conjunto de validación.
Era una variante de la normalización de contraste local anterior . [ 23 ]
dóndees la activación promedio en una pequeña ventana centrada en la ubicacióny canal. Los hiperparámetrosy el tamaño de la ventana pequeña se seleccionan utilizando un conjunto de validación.
Métodos similares se denominaron normalización divisiva , ya que dividen las activaciones por un número que depende de dichas activaciones. Originalmente se inspiraron en la biología, donde se utilizaron para explicar las respuestas no lineales de las neuronas corticales y el enmascaramiento no lineal en la percepción visual. [ 24 ]
Ambos tipos de normalización local fueron obviados por la normalización por lotes, que es una forma de normalización más global. [ 25 ]
La normalización de la respuesta reapareció en ConvNeXT-2 como normalización global de la respuesta . [ 26 ]
Normalización de grupo
La normalización de grupo ( GroupNorm ) [ 27 ] es una técnica que también se utiliza exclusivamente para CNN. Se puede entender como la LayerNorm para CNN aplicada una vez por grupo de canales.
Supongamos que en una capa, hay canales, luego se divide en grupos. A continuación, se aplica LayerNorm a cada grupo.
Normalización de instancias
La normalización de instancia ( InstanceNorm ), o normalización de contraste , es una técnica desarrollada inicialmente para la transferencia de estilo neuronal y que también se utiliza exclusivamente para CNN. [ 28 ] Puede entenderse como la LayerNorm para CNN aplicada una vez por canal, o equivalentemente, como una normalización de grupo donde cada grupo consta de un solo canal:
Normalización de instancias adaptativa
La normalización de instancia adaptativa ( AdaIN ) es una variante de la normalización de instancia, diseñada específicamente para la transferencia de estilo neuronal con CNN, en lugar de solo CNN en general. [ 29 ]
En el método AdaIN de transferencia de estilo, tomamos una CNN y dos imágenes de entrada, una para el contenido y otra para el estilo . Cada imagen se procesa a través de la misma CNN y en una capa determinada., se aplica AdaIn.
Dejarser la activación en la imagen de contenido, ysea la activación en la imagen de estilo. Luego, AdaIn calcula primero la media y la varianza de las activaciones de la imagen de contenido., luego usa esos como elpara InstanceNorm en. Tenga en cuenta queen sí mismo permanece sin cambios. Explícitamente, tenemos:
Transformers
Algunos métodos de normalización fueron diseñados para su uso en transformadores .
El transformador original de 2017 utilizó la configuración "post-LN" para sus LayerNorms. Su entrenamiento resultó complejo y requirió un ajuste preciso de los hiperparámetros y un "calentamiento" de la tasa de aprendizaje , que comienza con un valor bajo y aumenta gradualmente. Se descubrió que la convención pre-LN, propuesta varias veces en 2018, [ 30 ] era más fácil de entrenar, ya que no requería calentamiento, lo que conducía a una convergencia más rápida. [ 31 ]
FixNorm [ 32 ] y ScaleNorm [ 33 ] normalizan los vectores de activación en un transformador. El método FixNorm divide los vectores de salida de un transformador por sus normas L2 y luego los multiplica por un parámetro aprendido.El ScaleNorm reemplaza todos los LayerNorms dentro de un transformador dividiéndolos con la norma L2 y luego multiplicándolos por un parámetro aprendido.(compartido por todos los módulos ScaleNorm de un transformador). La normalización de consulta-clave ( QKNorm ) [ 34 ] normaliza los vectores de consulta y clave para que tengan una norma L2 unitaria.
En nGPT , muchos vectores se normalizan para tener una norma L2 unitaria: [ 35 ] vectores de estado oculto, vectores de incrustación de entrada y salida, columnas de la matriz de pesos y vectores de consulta y clave.
Misceláneas
La normalización del gradiente ( GradNorm ) [ 36 ] normaliza los vectores de gradiente durante la retropropagación.
Véase también
Referencias
- ↑ Huang, Lei (2022). Técnicas de normalización en aprendizaje profundo . Conferencias de síntesis sobre visión por computadora. Cham: Springer International Publishing. doi : 10.1007/978-3-031-14595-7 . ISBN 978-3-031-14594-0.
- 1 2 3 4 5 Ioffe, Sergey; Szegedy, Christian (2015-06-01). "Normalización por lotes: aceleración del entrenamiento de redes neuronales profundas mediante la reducción del desplazamiento de covariables internas" . Actas de la 32.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 448–456 . arXiv : 1502.03167 .
- 1 2 Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). "8.7.1. Normalización por lotes". Aprendizaje profundo . Computación adaptativa y aprendizaje automático. Cambridge, Massachusetts: The MIT Press. ISBN 978-0-262-03561-3.
- ↑ Desjardins, Guillaume; Simonyan, Karen; Pascanu, Razvan; kavukcuoglu, koray (2015). "Redes neuronales naturales" . Avances en sistemas de procesamiento de información neuronal . 28. Curran Associates, Inc.
- ↑ Xu, Jingjing; Sol, Xu; Zhang, Zhiyuan; Zhao, Guangxiang; Lin, Junyang (2019). "Comprensión y mejora de la normalización de capas" . Avances en los sistemas de procesamiento de información neuronal . 32 . Curran Associates, Inc. arXiv : 1911.07013 .
- ↑ Awais, Muhammad; Bin Iqbal, Md. Tauhid; Bae, Sung-Ho (noviembre de 2021). "Revisiting Internal Covariate Shift for Batch Normalization". IEEE Transactions on Neural Networks and Learning Systems . 32 (11): 5082– 5092. Bibcode : 2021ITNNL..32.5082A . doi : 10.1109/TNNLS.2020.3026784 . ISSN 2162-237X . PMID 33095717 .
- ↑ 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 .
- ↑ Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (2018). "¿Cómo ayuda la normalización por lotes a la optimización?" . Avances en sistemas de procesamiento de información neuronal . 31 . Curran Associates, Inc.
- ↑ "BatchNorm2d — Documentación de PyTorch 2.4" . pytorch.org . Consultado el 26 de septiembre de 2024 .
- ↑ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "8.5. Normalización por lotes" . Sumérgete en el aprendizaje profundo . Cambridge, Nueva York, Puerto Rico, Melbourne, Nueva Delhi, Singapur: Cambridge University Press. ISBN 978-1-009-38943-3.
- 1 2 Laurent, Cesar; Pereyra, Gabriel; Brakel, Philemon; Zhang, Ying; Bengio, Yoshua (marzo de 2016). "Redes neuronales recurrentes normalizadas por lotes". 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) . IEEE. págs. 2657–2661 . arXiv : 1510.01378 . doi : 10.1109 /ICASSP.2016.7472159 . ISBN 978-1-4799-9988-0.
- ^ Cooijmans, Tim; Ballas, Nicolás; Laurent, César; Gülçehre, Çağlar; Courville, Aarón (2016). "Normalización de lotes recurrentes". arXiv : 1603.09025 [ cs.LG ].
- 1 2 Summers, Cecilia; Dinneen, Michael J. (2019). "Cuatro cosas que todos deberían saber para mejorar la normalización por lotes". arXiv : 1906.03548 [ cs.LG ].
- ↑ 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 ].
- 1 2 Ba, Jimmy Lei; Kiros, Jamie Ryan; Hinton, Geoffrey E. (2016). "Layer Normalization". arXiv : 1607.06450 [ stat.ML ].
- ↑ Phuong, Mary; Hutter, Marcus (19 de julio de 2022). "Algoritmos formales para transformadores". arXiv : 2207.09238 [ cs.LG ].
- ↑ Zhang, Biao; Sennrich, Rico (2019-10-16). "Normalización de capas de raíz cuadrática media". arXiv : 1910.07467 [ cs.LG ].
- ↑ Perez, Ethan; Strub, Florian; De Vries, Harm; Dumoulin, Vincent; Courville, Aaron (2018-04-29). "FiLM: Razonamiento visual con una capa de condicionamiento general" . Actas de la Conferencia AAAI sobre Inteligencia Artificial . 32 (1). arXiv : 1709.07871 . doi : 10.1609/aaai.v32i1.11671 . ISSN 2374-3468 .
- ↑ Peebles, William; Xie, Saining (2023). "Modelos de difusión escalables con transformadores" : 4195–4205 . arXiv : 2212.09748 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Salimans, Tim; Kingma, Diederik P. (2016-06-03). "Normalización de pesos: una reparametrización simple para acelerar el entrenamiento de redes neuronales profundas". arXiv : 1602.07868 [ cs.LG ].
- ↑ Miyato, Takeru; Kataoka, Toshiki; Koyama, Masanori; Yoshida, Yuichi (16 de febrero de 2018). "Normalización espectral para redes generativas adversarias". arXiv : 1802.05957 [ cs.LG ].
- ↑ Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E (2012). "Clasificación de ImageNet con redes neuronales convolucionales profundas" . Avances en sistemas de procesamiento de información neuronal . 25. Curran Associates, Inc.
- ↑ Jarrett, Kevin; Kavukcuoglu, Koray; Ranzato, Marc' Aurelio; LeCun, Yann (septiembre de 2009). "¿Cuál es la mejor arquitectura multietapa para el reconocimiento de objetos?" . 2009 IEEE 12.ª Conferencia Internacional sobre Visión por Computadora . IEEE. págs. 2146–2153 . doi : 10.1109/iccv.2009.5459469 . ISBN 978-1-4244-4420-5.
- ↑ Lyu, Siwei; Simoncelli, Eero P. (2008). "Representación no lineal de imágenes mediante normalización divisiva". Conferencia IEEE de 2008 sobre Visión por Computadora y Reconocimiento de Patrones . Vol. 2008. págs. 1–8 . doi : 10.1109/CVPR.2008.4587821 . ISBN 978-1-4244-2242-5. ISSN 1063-6919 . PMC 4207373 . PMID 25346590 .
- ↑ Ortiz, Anthony; Robinson, Caleb; Morris, Dan; Fuentes, Olac; Kiekintveld, Christopher; Hassan, Md Mahmudulla; Jojic, Nebojsa (2020). "Normalización de contexto local: una revisión de la normalización local" : 11276–11285 . arXiv : 1912.05845 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Woo, Sanghyun; Debnath, Shoubhik; Hu, Ronghang; Chen, Xinlei; Liu, Zhuang; Kweon, In So; Xie, Saining (2023). "ConvNeXt V2: Co-Designing and Scaling ConvNets With Masked Autoencoders" : 16133–16142 . arXiv : 2301.00808 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ^ Wu, Yuxin; Él, Kaiming (2018). "Normalización de grupo" : 3– 19.
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Ulyanov, Dmitry; Vedaldi, Andrea; Lempitsky, Victor (2017-11-06). "Normalización de instancias: el ingrediente que falta para una estilización rápida". arXiv : 1607.08022 [ cs.CV ].
- ↑ Huang, Xun; Belongie, Serge (2017). "Transferencia de estilo arbitraria en tiempo real con normalización de instancia adaptativa" : 1501–1510 . arXiv : 1703.06868 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ^ Wang, Qiang; Li, Bei; Xiao, Tong; Zhu, Jingbo; Li, Changliang; Wong, Derek F.; Chao, Lidia S. (2019). "Aprendizaje de modelos de transformadores profundos para traducción automática". arXiv : 1906.01787 [ cs.CL ].
- ^ Xiong, Ruibin; Yang, Yunchang; Él, Di; Zheng, Kai; Zheng, Shuxin; Xing, Chen; Zhang, Huishuai; Lan, Yanyan; Wang, Liwei; Liu, Tie-Yan (29 de junio de 2020). "Sobre la normalización de capas en la arquitectura del transformador". arXiv : 2002.04745 [ cs.LG ].
- ↑ Nguyen, Toan Q.; Chiang, David (2017). "Mejora de la elección léxica en la traducción automática neuronal". arXiv : 1710.01329 [ cs.CL ].
- ↑ Nguyen, Toan Q.; Salazar, Julian (2019-11-02). "Transformers without Tears: Improving the Normalization of Self-Attention". arXiv : 1910.05895 . doi : 10.5281/zenodo.3525484 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Henry, Alex; Dachapally, Prudhvi Raj; Pawar, Shubham Shantaram; Chen, Yuxuan (noviembre de 2020). Cohn, Trevor; He, Yulan; Liu, Yang (eds.). "Normalización de clave de consulta para transformadores" . Hallazgos de la Asociación para la Lingüística Computacional: EMNLP 2020. En línea: Asociación para la Lingüística Computacional: 4246–4253 . arXiv : 2010.04245 . doi : 10.18653/v1/2020.findings-emnlp.379 .
- ↑ Loshchilov, Ilya; Hsieh, Cheng-Ping; Sun, Simeng; Ginsburg, Boris (2024). "NGPT: Transformador normalizado con aprendizaje de representación en la hiperesfera". arXiv : 2410.01131 [ cs.LG ].
- ↑ Chen, Zhao; Badrinarayanan, Vijay; Lee, Chen-Yu; Rabinovich, Andrew (2018-07-03). "GradNorm: Normalización de gradiente para el equilibrio adaptativo de pérdidas en redes neuronales profundas multitarea" . Actas de la 35.ª Conferencia Internacional sobre Aprendizaje Automático . PMLR: 794–803 . arXiv : 1711.02257 .
Lecturas adicionales
- "Capas de normalización" . Implementaciones de artículos sobre aprendizaje profundo de labml.ai . Consultado el 7 de agosto de 2024 .
- Aprendizaje profundo
- Transformación de datos estadísticos
- Aprendizaje automático
- Redes neuronales