Saltar al contenido

Modelado de idiomas – I

septiembre 23, 2021
1Jb1fPBc4bbFSiOnMD4MBVw

Modelado de idiomas – I

Mandar Deshpande

24 abr 2020·6 min de lectura

Esta es la Parte 1 de la serie de 5 partes sobre modelado de lenguaje.

Predicción de la siguiente palabra usando modelado de lenguaje en teclados (Mandar Deshpande)

Introducción

Como ya habrás adivinado, el modelado de lenguaje es un caso de uso que empleamos a diario y, aun así, es un concepto complicado de comprender. REALM (Pre-Entrenamiento del Modelo de Lenguaje Aumentado de Recuperación) es la última incorporación a la creciente investigación en este dominio. Es un gran paso adelante y es exactamente por eso que hace que este documento sea un desafío para leer y revisar.

Este blog asume que tiene una comprensión fundamental del aprendizaje profundo, los vectores de palabras y el espacio de incrustaciones, ya que estos son un requisito previo para dominar los modelos de lenguaje.

El principio metroEl método de entrenamiento (profundo) de modelos de visión por computadora también ha llegado gradualmente a las puertas del procesamiento del lenguaje natural. Estamos hablando de transferencia de aprendizaje.

Una vez que comprendamos el panorama del preentrenamiento de modelos en PNL, estaremos en un lugar cómodo pero confuso para comprender qué hace REALM y cómo.

Para guiarnos a través del campo del modelado del lenguaje y entender los conceptos relevantes, cubriremos lo siguiente en esta serie de blogs:

  • Transferir el aprendizaje y su relevancia para la formación previa al modelo
  • Respuesta a preguntas de dominio abierto (Open-QA)
  • BERT (transformadores bidireccionales para la comprensión del lenguaje)
  • Roberta (enfoque de preentrenamiento BERT robustamente optimizado)
  • Google T5
  • REALM: Pre-entrenamiento del modelo de lenguaje aumentado de recuperación

Esta publicación intentará explicar específicamente lo siguiente:

  • Transferir aprendizaje
  • Pre-formación del modelo de lenguaje

Transferir aprendizaje

Cuando tenemos un gran conjunto de datos de imágenes para las que queremos resolver una tarea de clasificación y / o localización de imágenes, utilizamos explícitamente los píxeles de la imagen como características. El entrenamiento de redes neuronales profundas para resolver tales tareas requiere que utilicemos cantidades enormes de poder de cómputo y datos. Por lo general, las grandes empresas de tecnología y los laboratorios de investigación que trabajan en este dominio ya han capacitado a muchas de estas redes desde cero y han lanzado sus pesos previamente entrenados en línea. ¿Cómo podemos utilizar esto?

1*itwiuj HVMA

Transferir aprendizaje mediante una red neuronal de convolución (Mandar Deshpande)

Consideremos una red neuronal convolucional simple (que se muestra arriba) con 4 capas de convolución (conv + relu + max pool) seguidas de una capa completamente conectada (FC) que termina con una función de pérdida como softmax o sigmoid. Estamos entrenando este modelo en el conjunto de datos ImageNet, que es una colección de más de ~ 1 millón de imágenes que pertenecen a ~ 1000 clases.

Ahora, la tarea de las redes neuronales profundas es extraer características progresivamente y combinar estas características para aprender características aún más complejas. Cada una de las capas que se muestran en la figura anterior realiza las siguientes tareas:

  • Conv1 – extrae bordes, curvas y líneas simples
  • Conv2 – utiliza estas funciones aprendidas para extraer formas y segmentos geométricos en la imagen
  • Conv3 – aprende a detectar texturas como patrones de malla o telas lisas o carreteras
  • Conv4 – aprende características aún más complejas como ojos, oídos, sillas, puertas y otras señales fundamentales que nos ayudan a comprender qué podría ser el objeto
  • Capa FC – utiliza las características aprendidas previamente para encontrar combinaciones que funcionen bien juntas para dar una imagen coherente del objeto a clasificar
  • Función de pérdida – esta combinación proporcionada por la capa FC se convierte en una puntuación y la clase de puntuación alta / probabilidad se devuelve como predicción

Ahora bien, si observamos de cerca, las características aprendidas por el modelo en las primeras capas son bastante genéricas para cualquier imagen y pueden verse como redundantes en una variedad de clases de imágenes. La única capa que nos ayuda a diferenciar explícitamente entre objetos es la capa completamente conectada con la función de pérdida.

Generalmente, cuando hablamos de entrenar una red neuronal profunda, queremos decir que vamos a congelar los pesos de la mayoría de las capas de convolución («marcadas en rosa») y simplemente modificar los pesos de las capas completamente conectadas con la función de pérdida (`marcado en verde`). Básicamente, podemos cambiar toda la red después de las capas congeladas y adaptarla a una tarea de aprendizaje similar basada en imágenes. Solo la parte de las ponderaciones que pueden cambiar se modifica mediante el entrenamiento en nuevos datos específicos de casos de uso. Esta actualización de los pesos de un modelo previamente entrenado se llama sintonia FINA.

Por ejemplo, tenemos un modelo preentrenado para clasificación de imágenes con una función de pérdida particular y queremos resolver la tarea de segmentación de imágenes. Por lo tanto, congelamos las capas de conv y modificamos las capas de FC para optimizar la función de pérdida relevante para la segmentación, de modo que nuestro modelo aprenda a predecir el cuadro delimitador (ubicación) junto con la predicción de la clase de objeto.

El uso de modelos entrenados en un dominio particular de tareas de aprendizaje y la reutilización de los pesos aprendidos para resolver otra tarea de aprendizaje similar se llama transferencia de aprendizaje.

Dado que el modelo entrenado mediante el aprendizaje por transferencia no necesita aprender desde cero, se puede entrenar fácilmente con una métrica de rendimiento igual o superior (por ejemplo, precisión) sin mucho costo ni tiempo computacional.

Pre-formación del modelo de lenguaje

Cuando trabajamos con un gran corpus de datos textuales, es útil conocer la probabilidad con la que una secuencia de palabras se sucederá y qué características particulares se necesitan para comprender esta dependencia.

Modelado de lenguaje es la tarea de comprender esta distribución de probabilidad sobre una secuencia de palabras. Esto nos ayuda a crear características que pueden distinguir entre oraciones y frases, según el contexto en el que aparecen.

Comparación con incrustaciones de Word
Siempre que queremos utilizar palabras o datos textuales como características en nuestro modelo, generalmente los convertimos en vectores dispersos como codificación one-hot o vectores densos llamados incrustaciones. Aunque las incrustaciones previamente entrenadas también se han utilizado ampliamente en tareas de PNL, la novedad de la preentrenamiento del modelo de lenguaje es el hecho de que están ajustadas para una tarea posterior en particular y no tan generalizadas como las incrustaciones para los textos. Las incrustaciones como word2vec y GloVe son una representación vectorial de palabras u oraciones que capturan el contexto y las características semánticas de cada palabra. Los modelos de lenguaje previamente entrenados destilan aún más estas incorporaciones a la representación específica de la tarea, de modo que el objetivo específico se logra a través de la capacitación en conjuntos de datos específicos de tareas.

1*NmM9J 34HWvNt2idYEkGMQ

Canalización de uso del modelo de lenguaje previamente entrenado (Mandar Deshpande)

En efecto, alimentamos un enorme corpus (Wikipedia, Quora) de textos sin etiquetar / sin anotar a un modelo de lenguaje y esperamos que aprenda las relaciones inherentes a nivel de palabra y oración entre diferentes contextos y sujetos. Una vez que se entrena el modelo, esto esencialmente significa que el modelo ha aprendido la estructura del lenguaje, es decir, el lenguaje se ha modelado en algún vector latente / espacio de incrustación. Una vez que tenemos un modelo de lenguaje previamente entrenado, podemos utilizarlo para cualquier tarea posterior, como clasificación de texto, generación de texto y clasificación de sentimientos.

El uso de modelos de lenguaje previamente entrenados ha sido la noticia más emocionante en el procesamiento del lenguaje natural en mucho tiempo y muchas de las próximas investigaciones se basan en este concepto. Este dominio se puede destacar a través de los siguientes trabajos seminales en modelos de lenguaje previamente entrenados:

  1. ULMFiT : Método de ajuste fino del modelo de lenguaje universal
  2. ELMo: Inserciones de modelos lingüísticos
  3. Transformador: Atención es todo lo que necesitas
  4. BERT: Representaciones de codificador bidireccional de transformadores

Revisaremos algunos de estos y continuaremos nuestra discusión sobre el modelado de lenguaje específicamente para REALM en las publicaciones de seguimiento.

Enlace a la Parte I: Modelado de lenguaje I
Enlace a la Parte II: Modelado de lenguaje II: ELMo y ULMFiT
Enlace a la parte III: El transformador: un repaso rápido

close