La arquitectura Transformer ha revolucionado el campo del procesamiento del lenguaje natural y otros dominios desde su introducción en el artículo "Attention Is All You Need" de Vaswani et al. en 2017. En el núcleo del Transformer se encuentra el codificador, que desempeña un papel crucial en el procesamiento de secuencias de entrada. En este blog, como proveedor de transformadores, profundizaré en el funcionamiento interno del codificador Transformer, explicando sus componentes clave y cómo interactúan para transformar los datos de entrada en representaciones significativas.
Estructura general del codificador de transformador
El codificador Transformer se compone de varias capas idénticas apiladas una encima de la otra. Cada capa consta de dos subcapas principales: un mecanismo de autoatención de múltiples cabezas y una red neuronal de retroalimentación. El codificador toma una secuencia de entrada de tokens, donde cada token se incrusta primero en una representación vectorial.
Comencemos mirando las incrustaciones de entrada. Los tokens de entrada suelen ser palabras o subpalabras en una tarea de procesamiento del lenguaje natural. Estos tokens se convierten en vectores de longitud fija a través de una capa de incrustación. La capa de incrustación asigna cada token a un vector en un espacio de alta dimensión, lo que permite que el modelo capture información semántica y sintáctica sobre los tokens.
Autoatención multicabezal
El mecanismo de autoatención de cabezales múltiples es la característica más distintiva del codificador Transformer. Permite que el modelo preste atención a diferentes partes de la secuencia de entrada en diferentes posiciones. El mecanismo de autoatención calcula una suma ponderada de los vectores de entrada en función de sus relaciones por pares.
Para comprender cómo funciona la atención personal, primero debemos introducir tres matrices: consulta (Q), clave (K) y valor (V). Para cada vector de entrada (x_i) en la secuencia de entrada, calculamos su consulta (q_i), clave (k_i) y valor (v_i) multiplicando (x_i) con tres matrices de peso diferentes (W^Q), (W^K) y (W^V) respectivamente.


La puntuación de atención entre dos posiciones (i) y (j) se calcula como el producto escalar entre la consulta (q_i) y la clave (k_j). Esta puntuación mide qué tan relevante es la (j) -ésima posición para la (i) -ésima posición. Para evitar que los productos escalares crezcan demasiado, dividimos el producto escalar por la raíz cuadrada de la dimensión de los vectores clave (\sqrt{d_k}), donde (d_k) es la dimensión de los vectores clave.
Luego, las puntuaciones de atención se pasan a través de una función softmax para obtener los pesos de atención. Estos pesos se utilizan para calcular una suma ponderada de los vectores de valores. La salida del mecanismo de autoatención para la (i) -ésima posición es un nuevo vector (z_i) que es una combinación de todos los vectores de valores en la secuencia, ponderados por los pesos de atención.
En la autoatención de múltiples cabezas, realizamos la operación de autoatención varias veces en paralelo, cada una con diferentes matrices de peso para (Q), (K) y (V). Las salidas de estas múltiples cabezas de autoatención luego se concatenan y proyectan a través de otra matriz de peso para obtener la salida final de la capa de autoatención de múltiples cabezas.
El mecanismo de autoatención de múltiples cabezas permite que el modelo capture diferentes tipos de relaciones en la secuencia de entrada. Por ejemplo, un director podría centrarse en las relaciones locales, mientras que otro podría captar las dependencias de largo alcance.
Feed: red neuronal directa
Después de la capa de autoatención de múltiples cabezales, la salida pasa a través de una red neuronal de alimentación directa. La red de avance consta de dos capas lineales con una función de activación ReLU en el medio.
La primera capa lineal asigna los vectores de entrada a un espacio de dimensiones superiores, y la función de activación ReLU introduce la no linealidad. La segunda capa lineal asigna la salida de ReLU a la dimensión original.
La red de retroalimentación ayuda al modelo a transformar aún más las representaciones obtenidas de la capa de autoatención. Puede aprender relaciones complejas no lineales entre las características de entrada, mejorando el poder expresivo del modelo.
Normalización de capas y conexiones residuales
Para mejorar la estabilidad del entrenamiento y el rendimiento del codificador Transformer, se utilizan dos técnicas importantes: normalización de capas y conexiones residuales.
La normalización de capas se aplica después de cada subcapa (red de autoatención y retroalimentación de múltiples cabezales). Normaliza los vectores de entrada en la dimensión de la característica, lo que hace que el proceso de entrenamiento sea más estable. Al normalizar la entrada, la normalización de capas ayuda a evitar que los gradientes desaparezcan o exploten durante el entrenamiento.
Las conexiones residuales, también conocidas como conexiones de salto, se utilizan para conectar la entrada de una subcapa a su salida. En lugar de pasar solo la salida de la subcapa a la siguiente capa, agregamos la entrada de la subcapa a su salida. Esto permite que el modelo aprenda más fácilmente las asignaciones de identidad y ayuda a aliviar el problema del gradiente que desaparece.
Aplicaciones y nuestras ofertas
El codificador Transformer se ha utilizado ampliamente en diversas aplicaciones, como traducción automática, resumen de texto y sistemas de respuesta a preguntas. Como proveedor de transformadores, ofrecemos una amplia gama de transformadores para satisfacer diferentes necesidades.
Por ejemplo, proporcionamosTransformador montado en plataforma tipo seco, que es adecuado para aplicaciones en exteriores donde la seguridad y la confiabilidad son cruciales. Estos transformadores están diseñados para funcionar en entornos hostiles y requieren un mantenimiento mínimo.
También ofrecemosTransformador sumergido, que se utilizan comúnmente en sistemas de distribución de energía. Los transformadores sumergidos están llenos de aceite aislante, que ayuda a disipar el calor y proporciona un mejor aislamiento eléctrico.
Contacto para compra y discusión
Si está interesado en nuestros productos de transformadores o tiene alguna pregunta sobre el codificador de transformador y sus aplicaciones, le recomendamos que se comunique con nosotros para conversar sobre la compra. Nuestro equipo de expertos está listo para ayudarlo a seleccionar el transformador más adecuado para sus requisitos específicos. Ya sea que esté involucrado en un proyecto energético a gran escala o en una aplicación industrial a pequeña escala, tenemos la solución adecuada para usted.
Referencias
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, AN, ... y Polosukhin, I. (2017). Atención es todo lo que necesitas. Avances en los sistemas de procesamiento de información neuronal , 30 .
