Colección de citas famosas - Slogan de motivación - BERT: modelo de lenguaje preentrenado bidireccional profundo

BERT: modelo de lenguaje preentrenado bidireccional profundo

Título de la tesis: Bert: Preentrenamiento profundo del transformador direccional para la comprensión del lenguaje.

Enlace del artículo: https://arxiv.org/abs/1810.04805

Bert (Representaciones de codificador bidireccional de Transformers) aprende representaciones bidireccionales profundas en datos sin etiquetar mediante un entrenamiento previo, y por al ajustarlo agregando una capa de salida adicional después del entrenamiento previo, finalmente logra SOTA en múltiples tareas de PNL.

La práctica ha demostrado que los modelos de lenguaje previamente entrenados pueden mejorar eficazmente muchas tareas de procesamiento del lenguaje natural, incluidas tareas a nivel de oración, como el razonamiento y la paráfrasis en lenguaje natural, y tareas a nivel de token, como el reconocimiento de entidades nombradas y las preguntas. respondiendo.

Existen dos métodos para aplicar representaciones de modelos de lenguaje previamente entrenados en tareas posteriores: métodos basados ​​en características y métodos de ajuste fino. Por ejemplo, el modelo de lenguaje previamente entrenado ELMo usa un método basado en características, y la representación previamente entrenada de ELMo se ingresa en el modelo específico de la tarea como una característica adicional. GPT usa un método de ajuste fino, introduciendo un pequeño número; de parámetros específicos de la tarea para entrenar todas las tareas posteriores al entrenamiento.

Los modelos de lenguaje preentrenados Token anteriores de BERT eran todos unidireccionales, incluidos GPT y ELMo. Este método no es óptimo para tareas a nivel de oración y es muy perjudicial para tareas a nivel de token, como preguntas y respuestas. BERT utiliza el método del modelo de lenguaje enmascarado (MLM) para el entrenamiento previo, que puede entrenar un modelo de lenguaje direccional. Además del método de preentrenamiento del modelo de lenguaje enmascarado, BERT también utiliza el método de preentrenamiento de predicción de la próxima emoción.

BERT se puede utilizar en dos etapas: preentrenamiento y ajuste fino. El modelo de la etapa de preentrenamiento entrena datos sin etiquetar a través de dos tareas de preentrenamiento diferentes. En la fase de ajuste, el modelo se inicializa con parámetros previamente entrenados y luego se ajusta utilizando datos anotados de tareas posteriores.

Una característica notable de BERT es que tiene una arquitectura unificada para diferentes tareas, que se puede utilizar simplemente conectando la estructura de las tareas posteriores detrás de BERT.

La arquitectura del modelo de BERT es un codificador transformador bidireccional multicapa. Denotamos el número de capas del modelo (cada capa es un bloque transformador) como , el tamaño oculto del modelo como y el número de cabezas de autoatención como . Dos arquitecturas BERT comunes son BERT y BERT.

En comparación con GPT, BERT utiliza una arquitectura de autoenfoque bidireccional, mientras que GPT usa un autoenfoque limitado, es decir, cada token está limitado al token a su izquierda.

La representación de entrada de BERT puede ser una oración o un par de oraciones. Esto es para permitir que BERT haga frente a diversas tareas posteriores. La entrada de BERT es una secuencia que contiene los tokens de una oración o los tokens de una combinación de dos oraciones.

Específicamente, convertiremos las oraciones de entrada en lenguaje natural en secuencias simbólicas mediante incrustaciones de bloques de palabras. El token especial [CLS] se agrega al comienzo de esta secuencia de tokens, y la incrustación del token de salida final [CLS] puede considerarse como la incrustación de la oración. Esta incrustación se puede utilizar para tareas de clasificación.

Debido a que los pares de oraciones están empaquetados juntos, debemos distinguirlos en la secuencia de tokens, lo que requiere dos formas:

① Entre los tokens de las dos oraciones en la secuencia de tokens Agregue un token especial [SEP];

②Agregamos una incrustación a cada token para distinguir si el token pertenece a la oración A o a la oración B. Esta incrustación se llama incrustación de segmento.

Específicamente, la entrada de BERT consta de tres partes: incrustación de marcas, incrustación de segmentos e incrustación de posiciones. Como se muestra en la siguiente figura:

BERT utiliza dos tareas no supervisadas para el entrenamiento previo, a saber, LM enmascarado y predicción del siguiente sentimiento (NSP). Como se muestra en la figura siguiente, definimos la incrustación de la entrada como, la incrustación de [CLS] finalmente emitida por BERT como y la incrustación del primer token finalmente generada como.

Tenemos razones para creer que el modelo bidireccional profundo es más poderoso que el modelo de izquierda a derecha y el modelo de conexión simple de izquierda a derecha y de derecha a izquierda. Desafortunadamente, el modelo de lenguaje condicional estándar puede hacerlo. solo aprenda de la izquierda, entrene de derecha a izquierda, debido a que la condición bidireccional hará que cada token se "vea a sí mismo" indirectamente, el modelo puede simplemente predecir la palabra objetivo en múltiples capas de contexto.

Para entrenar modelos de lenguaje en ambas direcciones, BERT simplemente enmascara una cierta proporción de tokens de entrada (reemplazando estos tokens con tokens especiales [MASK]) y luego predice estos tokens enmascarados. Este método es LM enmascarado (MLM), que equivale a una tarea de cierre. Las palabras eliminadas por la máscara se ingresarán en un clasificador softmax y la dimensión de la salida del clasificador corresponde al tamaño del diccionario. En el preentrenamiento, para cada máscara de secuencia, normalmente se descarta el 15% de las fichas. A diferencia de los codificadores automáticos que eliminan el ruido, solo predecimos tokens enmascarados sin reconstruir la entrada completa.

Este enfoque nos permite entrenar previamente un modelo de lenguaje bidireccional, pero tiene la desventaja de que crea una falta de coincidencia entre el entrenamiento previo y el ajuste fino, ya que la marca [MASK] no aparece durante el entrenamiento fino. -afinación. Para aliviar esto, tomamos las siguientes medidas: al generar datos de entrenamiento, el 15% de los tokens se seleccionan aleatoriamente para su reemplazo. El token seleccionado tiene un 80% de posibilidades de ser reemplazado por [MASK] y un 10% de posibilidades de ser reemplazado por otro. token aleatorio. 10 % de probabilidad de que el token no se cambie. Luego, se utilizará la pérdida de entropía cruzada para predecir el token original.

Algunas tareas importantes de procesamiento del lenguaje natural, como la respuesta a preguntas (QA) o la inferencia del lenguaje natural (NLI), requieren comprender las relaciones entre oraciones, que generalmente no pueden capturarse directamente mediante modelos de lenguaje. Para permitir que el modelo comprenda las relaciones entre oraciones, entrenamos una tarea binaria de predicción de la siguiente oración cuyos datos de entrenamiento se pueden generar a partir de cualquier corpus monolingüe. Específicamente, cuando se seleccionan las oraciones A y B como datos de entrenamiento, la oración B tiene un 50% de posibilidades de ser la siguiente oración de la oración A (etiquetada como IsNext) y un 50% de posibilidades de ser una oración seleccionada aleatoriamente del corpus (etiquetada como IsNext ). Utilice el último vector de salida de capa oculta correspondiente a [CLS] para entrenar la tarea NSP. Esta incrustación es equivalente a la incrustación de oraciones. Aunque esta tarea de preentrenamiento es simple, de hecho, muestra buenos resultados en las tareas de control de calidad y NLI durante el ajuste fino. En trabajos anteriores, solo se transfirieron incrustaciones de oraciones a tareas posteriores, y BERT transfirió todos los parámetros para inicializar el modelo de tareas posteriores.

El mecanismo de autoenfoque de Transformer permite a BERT modelar una variedad de tareas posteriores. Para tareas que involucran pares de oraciones, es una práctica común codificar primero las oraciones del par de forma independiente y luego aplicar atención cruzada bidireccional. BERT utiliza el mecanismo de autoatención para unificar estos dos procesos, porque la autoatención de pares de oraciones empalmadas incluye efectivamente atención cruzada bidireccional entre las dos oraciones.

Para cada tarea, solo necesitamos insertar las entradas y salidas específicas de la tarea en BERT y ajustarlas de un extremo a otro. Por ejemplo, la oración de entrada A y la oración B previas al entrenamiento de BERT se pueden comparar con:

①El par de oraciones en la tarea de volver a contar;

②El par de premisas de hipótesis en la tarea de inferencia;< /p >

③Pares de pregunta-párrafo en tareas de respuesta de preguntas;

(4)④¿Tareas de clasificación de texto o anotación de secuencia en texto? Sí (solo ingresa un texto, no necesariamente dos oraciones).

Para la salida de BERT, para algunas tareas a nivel de token, la representación del token de BERT se ingresará en una capa de salida, como el etiquetado de secuencia o las tareas de preguntas y respuestas para tareas como el análisis de implicaciones o sentimientos; ingrese la representación correspondiente de [CLS] en la capa de salida.

Utilizamos el vector de capa oculta de la última capa del token [CLS] como representación de agregación, que puede considerarse como incrustación de oraciones. En el ajuste fino, solo se introduce un nuevo peso, donde representa el número de etiquetas, y luego se calcula la pérdida de clasificación estándar. La siguiente imagen muestra el efecto de Burt sobre el pegamento:

En este conjunto de datos, concatenamos preguntas y párrafos en una secuencia de entrada (con [SEP] en ​​el medio). Introduzca un vector inicial y un vector final en el ajuste fino, calcule el producto escalar de la suma y luego use la función como la probabilidad de la posición inicial del intervalo de la respuesta como palabra. La posición final de la respuesta también se maneja de la misma manera que arriba. Registre las puntuaciones de los intervalos candidatos desde hasta y seleccionamos el intervalo de puntuación máxima como resultado de la predicción. La siguiente imagen muestra el efecto de Burt en el equipo v1.1:

Algunas preguntas en v2.0 no se responden en los párrafos proporcionados.

Al realizar el ajuste fino, establecemos las posiciones inicial y final del intervalo de preguntas sin respuesta en el token [CLS], es decir, los espacios de posibilidad inicial y final se incluyen en las posiciones de [CLS]. En la predicción, comparamos puntuaciones de intervalo sin respuestas y puntuaciones de respuestas óptimas. En ese momento predijimos que esta sería una pregunta de respuesta para elegir la mejor en el conjunto de desarrolladores. La siguiente figura muestra el efecto de BERT en SQuAD v2.0:

En el ajuste fino, construimos cuatro secuencias de entrada para BERT, cada secuencia es una oración determinada (oración A) y una posible continuación (oración B). Luego se introduce un vector y el producto escalar de este vector y la incrustación [CLS] correspondiente a cada entrada se pasa a través de una capa para obtener la puntuación de cada elección. La siguiente figura muestra el impacto de BERT en SWAG: