Red de conocimiento informático - Aprendizaje de programación - ELECTRA: Un mejor modelo discriminante generativo que BERT

ELECTRA: Un mejor modelo discriminante generativo que BERT

BERT utiliza un modelo de lenguaje enmascarado (MLM) durante el proceso de entrenamiento, que enmascara aleatoriamente algunas palabras y las predice, mientras que BERT requiere muchos cálculos para el entrenamiento. ELECTRA propone un nuevo método de preentrenamiento, la detección de tokens de reemplazo (RTD), que es similar a GAN y utiliza un generador para reemplazar palabras en una oración, y luego usa un discriminador para determinar qué palabras en la oración han sido reemplazadas.

La tarea previa al entrenamiento de BERT es un MLM, que selecciona aleatoriamente el 15% de las palabras en la oración de entrada, luego reemplaza el 80% de las palabras con [máscara], deja el 10% sin cambios y reemplaza aleatoriamente 10. % de palabras. BERT luego predice este 15% de palabras y las restaura a palabras reales. Por ejemplo, si la oración de entrada es "El artista vendió esta pintura", entonces MLM reemplazará la pintura con [máscara] y se convertirá en "El artista vendió [máscara]", y luego BERT debe predecir el valor verdadero de [máscara] ¿Qué es la palabra para.

Hay algunas fallas en la tarea de preentrenamiento de MLM:

ELECTRA resuelve estos problemas de BERT proponiendo la tarea de preentrenamiento de Detección de marcadores de reemplazo (RTD), que es similar a GAN, como se muestra en la siguiente figura Mostrar.

ELECTRA consta de dos partes. La primera parte es el generador, que se utiliza para reemplazar ciertas palabras en la oración, por ejemplo, la pintura en la imagen se reemplaza por el automóvil; que se utiliza para juzgar la oración si cada palabra ha sido reemplazada y predecir todas las palabras durante el entrenamiento. La segunda parte es el discriminador, que se utiliza para determinar si cada palabra de la oración ha sido reemplazada. Predice todas las palabras durante el proceso de entrenamiento, que es más eficiente que BERT.

Generador

Un reemplazo aleatorio simple en ELECTRA permite al discriminador determinar fácilmente si una palabra ha sido reemplazada. Por ejemplo, si en la oración "El pintor vendió el cuadro" La palabra. "pintura" se reemplaza aleatoriamente por "aire", entonces el discriminador puede determinar si la palabra ha sido reemplazada. Por ejemplo, si la palabra "pintura" en la oración "el artista vendió la pintura" se reemplaza aleatoriamente por "aire", entonces el discriminador determinará fácilmente que la palabra "aire" en "el artista vendió el aire" ha sido reemplazada. .

Por lo tanto, ELECTRA usa MLM para entrenar un generador que también [enmascara] aleatoriamente una parte de una palabra y luego reemplaza esa palabra con la predicción del generador, por ejemplo, el generador reemplaza una pintura con [enmascaramiento], Luego se predice la ubicación como un automóvil. Este error de predicción del generador es aún más confuso. El generador utiliza softmax para hacer predicciones como se muestra a continuación, donde hG representa el vector de codificación, e (x) representa la incrustación de la palabra x y t representa la posición.

Discriminador

El discriminador recibe las frases generadas por el generador y predice si cada palabra ha sido reemplazada. Este proceso predice todas las palabras de una oración y, por lo tanto, es más eficiente que BERT. La fórmula de predicción del discriminador es la siguiente:

Función de pérdida general

La función de pérdida general de ELECTRA consta de la función de pérdida del generador LMLM y la función de pérdida del discriminador LDisc. La función de pérdida de entrenamiento del generador sigue siendo una función de pérdida de MLM, principalmente porque el generador reemplaza palabras y las palabras son discretas, lo que provoca una interrupción en el gradiente del discriminador al generador. Por tanto, la función de pérdida de ELECTRA consta de la suma de estas dos partes.

Compartir parámetros

ELECTRA intenta compartir los parámetros del generador y discriminador, utilizando el mismo tamaño de generador y discriminador.

Sin ningún parámetro de ****-enjoy, la puntuación GLUE obtenida en el experimento es 83,6. Después de la capa de incrustación de palabras ****-enjoy, la puntuación GLUE obtenida después de todos los parámetros de ****-enjoy. La puntuación GLUE resultante es 84,4. Por lo tanto, el autor utiliza ****-disfrute para la incrustación de palabras. El autor cree que el generador puede aprender la incrustación mejor. La razón principal es que el generador puede aprender la incrustación mejor que el generador. discriminado.

Tamaño del generador

El autor también comparó el impacto de diferentes tamaños de generador y discriminador en el rendimiento del modelo.

En la figura, la abscisa es el tamaño del generador y la ordenada es la puntuación de GLUE. Podemos ver que cuando el generador es demasiado grande, afectará el rendimiento del modelo, y mejor. generación El tamaño del discriminador es 1/4-1/2 del tamaño del discriminador. Esto se debe principalmente a que el generador es demasiado potente, lo que dificulta el aprendizaje del discriminador.

Comparación de métodos de entrenamiento

El método de entrenamiento ELECTRA presentado en la sección anterior se centra en optimizar las funciones de pérdida del generador y discriminador. El autor también comparó otros dos métodos de entrenamiento en el artículo:

Se puede ver que el método de entrenamiento ELECTRA es relativamente mejor, mientras que el método de dos etapas tiene el peor efecto, pero sigue siendo mejor que BERT.

Comparación del monto de cálculo con BERT RoBERTa

La abscisa en la figura anterior es el número total de FLOP (operaciones de punto flotante), que representa la cantidad de cálculo, y la ordenada es la puntuación de PEGAMENTO. Puede ver que ELECTRA logra un rendimiento similar con solo 1/4 del esfuerzo computacional de RoBERTa.

Resultados experimentales

De la figura anterior podemos ver que para el modelo del mismo tamaño, ELECTRA funciona mejor que BERT.

En la figura anterior podemos ver que el rendimiento de ELECTRA es casi el mismo que el de RoBERTa, pero la cantidad de cálculo es solo 1/4 de RoBERTa.