Los modelos de transformadores son un gran éxito entre la amplia gama de diferentes tareas de PNL. Esto hizo que los transformadores reemplazaran en gran medida la antigua arquitectura de red neuronal recurrente autorregresiva en muchas arquitecturas de última generación. En el núcleo de este transformador, la arquitectura utiliza un método llamado Atención de producto de puntos Query-Key. El éxito de esta arquitectura transformadora se atribuye principalmente al mecanismo de autoatención.
El sintetizador denso aleatorio factorizado es un tipo de modelo de atención que se propone en el artículo ‘SYNTHESIZER: RETHINKING SELF-ATENTION FOR TRANSFORMER MODELS’ de Google Research. La motivación detrás de esto es reducir la complejidad temporal de la operación de la arquitectura al proponer las alternativas de autoatención del producto punto.
La única importancia de la autoatención del producto punto en la arquitectura del transformador es la autoalineación, es decir, calcular la importancia relativa de un solo token con respecto a todos los demás tokens en la secuencia. Este artículo propone un sintetizador, un modelo que aprende la array de autoalineación en lugar de calcularla manualmente. Por lo tanto, hacer la autoalineación no solo sin la autoatención del producto punto, sino también eliminar por completo la autoatención basada en el contenido de la memoria.
Arquitectura:
Hay cuatro tipos de modelos de sintetizador proporcionados por los autores en el documento, la mitad de ellos son modelos factorizados.
- sintetizador denso
- sintetizador aleatorio
- Sintetizador denso modelo factorizado
- Sintetizador aleatorio modelo factorizado
En este artículo, discutiremos el sintetizador denso y su modelo factorizado.
sintetizador denso
El sintetizador denso acondicionó el modelo en cada entrada. Esto acepta una entrada X ∈ R l*d y produce la salida Y tal que Y ∈ R l*d , donde l se refiere a la longitud de la secuencia y d se refiere al vector de dimensionalidad. Ahora, usamos una función paramétrica llamada F(x) que proyecta la entrada X i de d dimensiones a l dimensiones.
donde F(x) es una operación de proyección y se puede definir como:
Donde, \sigma_R es la función de activación de ReLU, W_1 ∈ R d*d y W_2 ∈ R d*l . Ahora el dominio de B se convierte en R l*l . Ahora, podemos calcular Y con las siguientes relaciones:
donde G es otra función parametrizada similar al V(valor) en la autoatención en la arquitectura Transformer. Este enfoque elimina el producto punto de Key-Query reemplazando QK T con la función parametrizada F.
Sintetizador denso factorizado
El sintetizador denso definido anteriormente agrega la sobrecarga de d*l al modelo, incluso después de eliminar el producto punto y guardar algunos parámetros, el modelo anterior será engorroso para entrenar el modelo cuando l es grande. Para resolver este desafío, el autor propone otro modelo llamado Sintetizador denso factorizado. En este modelo, simplemente factorizaron la salida del modelo y entrenaron posteriormente. Reduce ligeramente el número de parámetros y también evita el sobreajuste. Se puede expresar de la siguiente manera:
donde, F A proyecta la entrada X i a una dimensión y F B proyecta Xi a b dimensiones tales como a*b = l. La salida de los modelos factorizados se puede derivar de las siguientes ecuaciones:
donde, C = H A (A)* H B (B), donde H A y H B son funciones de mosaico que simplemente duplican el vector k veces, es decir, l -> l*k. En este caso, HA hace la proyección de R a -> R a*b y H B es la proyección de R b -> R b*a .
Mezclas de Sintetizadores
Podemos combinar todas las variantes de atención sintética propuestas de forma aditiva. Esta expresión para esto es:
donde S es la función de parametrización, a es un parámetro tal que \sum a =1 que es el peso entrenable.
En el caso de mezclar síntesis aleatoria factorizada y densa estándar, la expresión se convierte en:
Complejidad del tiempo:
La complejidad temporal de la atención propia es \theta = 2d^{2} mientras que para el sintetizador denso, la complejidad temporal se convierte en \theta(\theta(d^{2] +d*l) y el sintetizador denso factorizado, la complejidad temporal es \theta (d(d+ k_1 + k_2)). Donde l se refiere a la longitud de la secuencia, d es la dimensionalidad del modelo y k 1 ,k 2 es la factorización.