[Modelo PNL] Transformadores: mecanismo de autoenfoque de autoenfoque
Autoenfoque: compare la entrada con la entrada misma (calcule la similitud) y actualice el vector de palabras sin contexto de entrada a un vector de palabras sensible al contexto. Resuelve el problema de la memoria a corto plazo de RNN (es decir, un vector de palabra de entrada solo está relacionado con la entrada anterior).
Pensamiento y máquina son dos entradas (ciertas dos palabras) en el mismo conjunto de entradas (la misma oración), que son vectores de palabras libres de contexto.
Dónde están los parámetros a entrenar.
Calcule n puntuaciones de cada uno, es decir, el vector de puntuación de (1, n).
Entre ellos, se encuentra el hiperparámetro (tomado aquí como 64), para tener un gradiente estable en cálculos posteriores.
Para un vector de palabras, es decir, los pesos de todos los vectores de palabras con respecto al vector de palabras, estos pesos se multiplican por cada vector para obtener un nuevo vector. La operación es
Luego, finalmente podemos generar la matriz de peso directa entre las palabras en la oración de entrada, que es la matriz de atención.
El marco general de la estructura interna del transformador
El marco anterior se puede resumir en un codificador y un decodificador.
El codificador contiene seis codificadores y el decodificador contiene seis decodificadores.
El último codificador establece conexiones con seis decodificadores, lo que significa que algunas operaciones, como RNN, utilizan semántica intermedia como conexiones intermedias.
Tome la conexión entre el último codificador y uno de los decodificadores como ejemplo y continúe explorando el interior del codificador y el decodificador.
Tanto el codificador como el decodificador tienen capas de autoatención y capas de retroalimentación, y el decodificador también tiene una capa de atención codificador-decodificador. Tenga en cuenta que la capa de atención en el decodificador es en realidad autoatención enmascarada.
De manera similar, el cálculo de la autoatención requiere tres parámetros, Q, K y V, para calcular la matriz del mecanismo de atención. El método de cálculo se redefine aquí de la siguiente manera.
La matriz de atención obtenida mediante el autoenfoque es la misma que la anterior.
La matriz de atención que se obtiene enmascarando la autoatención es un poco diferente a la anterior. Enmascarado aquí es no mostrar información futura al modelo al realizar la traducción.
La atención de múltiples cabezales consiste en realizar el proceso de atención del producto escalado h veces y luego fusionar las salidas. El diagrama de estructura es el siguiente
Las salidas se combinan y multiplican por la matriz de parámetros utilizada para el entrenamiento conjunto.
Debido a que el modelo de atención no ignora la distancia entre entradas como RNN, no puede capturar la información de la secuencia. Por ejemplo, si K y V se codifican por fila, el resultado después de la atención será el mismo. Para preservar la información de secuencia, necesitamos agregar un vector que contenga información de secuencia al vector de palabras obtenido mediante incrustación, es decir, el vector obtenido mediante incrustación de posición.
Método de cálculo de incrustación de posición:
Elementos pares incrustados en posición.
Elementos impares incrustados en posiciones
Función de activación de Relu y dos transformaciones lineales