El aprendizaje por transferencia es un método de aprendizaje en el campo del aprendizaje automático que transfiere los conocimientos aprendidos de un caso de uso a otro similar. Inicialmente, esta tecnología se utilizaba principalmente para el análisis de imágenes, pero en los últimos años el aprendizaje por transferencia también ha adquirido cada vez más importancia en el campo del procesamiento de textos / procesamiento del lenguaje natural (PLN). En 2018, Bidirectional Encoder Representations from Transformers (BERT) fue lanzado por Google y se considera la base de un nuevo tipo de procesamiento de texto. Este artículo tiene como objetivo explicar los fundamentos del aprendizaje de transferencia y cómo funciona Google BERT.
El comportamiento de búsqueda de la gente en Google ha cambiado enormemente en los últimos 15 años. Especialmente desde la introducción de asistentes virtuales como Siri, Alexa o Google Assistant, la complejidad de las preguntas ha aumentado. La tendencia de las consultas de búsqueda se está moviendo fuertemente de preguntas de cola corta a preguntas de cola larga. Al diseñar el modelo de aprendizaje neuronal por transferencia BERT, Google mejoró la forma en que se entienden las consultas de los usuarios. De este modo, se pueden ofrecer los mejores resultados posibles en función de sus consultas de búsqueda. Los modelos lingüísticos como BERT son un ejemplo de cómo la información aprendida de un conjunto de datos puede transferirse a otros conjuntos de datos para tareas específicas.
Inhaltsverzeichnis
Utilización y ventajas del aprendizaje por transferencia
Generalmente basado Métodos de aprendizaje automático Esto se debe a que los datos de entrenamiento y de prueba proceden del mismo espacio de características y de la misma distribución. Sin embargo, si la distribución cambia debido a un nuevo caso de uso, estos modelos estadísticos tienen que construirse desde cero utilizando datos de entrenamiento recién recogidos. Sin embargo, ampliar los datos de entrenamiento necesarios o construir nuevos modelos resulta en muchos casos demasiado caro, si no imposible. Para reducir el esfuerzo de recopilación de nuevos datos de entrenamiento, el aprendizaje por transferencia es un método especialmente útil. El aumento de nuevos datos de formación que se agregan en el curso del aprendizaje por transferencia también permite que el modelo aprenda rápidamente y reconozca así una conexión entre cuestiones complejas.
Por tanto, los datos de entrenamiento son esenciales para el desarrollo posterior de un modelo de aprendizaje automático. El aprendizaje por transferencia ofrece la ventaja de que Se necesitan menos datos de entrenamiento para resolver un sistema ser utilizados. Si se puede acceder a nuevos datos de entrenamiento de un modelo ya completado mediante el aprendizaje por transferencia, bastará con disponer de muchos menos datos existentes para seguir desarrollándolo. La razón es que un modelo ya puede aprender características de otro conjunto de datos mediante el aprendizaje por transferencia. Además, el aprendizaje por transferencia permite acortar el tiempo de entrenamiento. Supongamos que se quiere desarrollar un modelo que reconozca gatos domésticos en imágenes y que ya existe un modelo preentrenado que reconoce gatos depredadores en imágenes. Con el aprendizaje por transferencia, se puede intentar adaptar el modelo para el reconocimiento de gatos domésticos con la ayuda de los datos de los gatos depredadores. Esto ayuda a que muchas estructuras o patrones de los datos sean similares y no tengan que aprenderse de nuevo.
Conceptos básicos Google Bert
BERT significa Bidirectional Encoder Representations from Transformers (representaciones codificadoras bidireccionales a partir de transformadores) y Google la considera una de las actualizaciones más significativas de los últimos años. Es una aplicación especial del aprendizaje por transferencia y se considera la piedra angular de un nuevo tipo de Procesamiento del lenguaje natural. La PNL es un área de la IA que se ocupa del análisis y procesamiento de textos en lenguaje natural. El ordenador debe ser capaz de entender la forma en que las personas se comunican de forma natural. El sitio Modelo de algoritmo BERT basado en redes neuronalesque hasta ahora funcionaba exclusivamente como estándar en el tratamiento de imágenes. Google permite así mostrar respuestas más específicas a las consultas de búsqueda. Una diferencia significativa con respecto a su predecesor RankBrain es que BERT mejora el contenido de las consultas de búsqueda y, especialmente, la comprensión de las palabras individuales en el contexto general en las llamadas consultas de búsqueda de cola larga. Esto es gracias a un modelo de cálculo llamado Transformer.
Un transformador no sólo rastrea el significado de cada palabra de una frase, sino que además relaciona una palabra con todas las demás de esa frase. También mejora el reconocimiento del significado de palabras de relleno como "para", "en" o "a". Esto ayuda a Google a comprender la intención real de Entender mejor las búsquedas de cola larga. Tras la actualización del BERT, es posible plantear una pregunta como si se pidiera consejo a un buen amigo.
Especialmente desde la introducción de asistente virtual como Siri, Alexa o Google Assistant y la consiguiente mayor popularidad de las "búsquedas por voz", las consultas de búsqueda más largas son cada vez más importantes. El servicio estadístico Comscore lo ilustra con una estadística. Se espera que la cuota de búsquedas por voz alcance el 50 por ciento a finales de 2020. El BERT quiere que los fragmentos destacados sean más prominentes. Se trata de entradas destacadas tras introducir una búsqueda en Google, que sirven al usuario para encontrar respuestas de forma más rápida y clara.
Cómo funciona BERT Transformer
Mediante el desarrollo de modelos denominados transformadores, el equipo de investigación de Google puede entrenar el propio sistema de respuesta a preguntas de última generación de BERT. Para comprender la intención que subyace a una consulta de búsqueda, el Palabras procesadas en relación con todas las demás palabras de una fraseen lugar de uno tras otro en secuencia. Así, el transformador BERT puede representar con mayor precisión modelos recurrentes y muy complejos, como la calidad de la traducción. Además, el transformador BERT también es mucho más adecuado para el hardware de aprendizaje automático moderno, ya que requiere menos cálculos para entrenar los modelos de traducción.
Cuando se utilizan transformadores, en cada paso se aplica un mecanismo que modela las relaciones directas entre las palabras independientemente de su posición en la frase. Para calcular la relación de una palabra concreta, como "escuela de gramática", el transformador la compara con todas las demás palabras de la frase. El resultado de esta comparación se denomina "puntuación de atención". Determina así la relación con todas las demás palabras de la frase. Por tanto, la palabra "Gymnasium" puede recibir una Puntuación de Atención alta si el modelo determina una conexión con universidad.
La puntuación de atención de cada palabra se utiliza en el paso siguiente para obtener una media ponderada de todas las palabras. A continuación, se introducen en una red totalmente conectada para crear una nueva conexión entre las palabras "Gymnasium" y "Universität" que refleje el orden cronológico de los dos institutos. El transformador BERT es el punto intermedio entre la entrada y la salida de texto, y utiliza un denominado codificador para la entrada de texto y un descodificador para la salida de texto.
La siguiente ilustración muestra que el componente codificador es una serie de codificadores individuales y el componente decodificador es una serie de decodificadores individuales. Los codificadores se dividen en Red neuronal Feed Forward y la capa de autoatención. Aquí, la entrada del codificador pasa primero por la capa de Autoatención, que se utiliza para mirar todas las palabras mientras el codificador codifica una palabra específica. A continuación, la salida de la capa de autoatención se transfiere a la capa de red neuronal de alimentación directa, que se aplica de forma independiente a cada elemento. El mismo proceso se lleva a cabo en el descodificador, con la única diferencia de la capa de Atención, que ayuda al descodificador a centrarse en las palabras relevantes de la frase de entrada.
Cada palabra se transforma en un vector de 512 bytes mediante un algoritmo de incrustación. El algoritmo de incrustación es una técnica de modelización del lenguaje natural en la que las palabras o expresiones del vocabulario se convierten en vectores de números reales. La incrustación de los vectores se realiza exclusivamente en el codificador más bajo.
Procedimiento en el codificador
Todos los codificadores reciben una lista de vectores de 512 bytes cada uno. Después de incrustar las palabras en la entrada, cada palabra fluye primero por la autoatención y luego por la capa Feed Forward del codificador. Una ventaja particular del transformador BERT es que cada palabra en cada posición por su propio camino fluye en el codificador. La capa de autoatención calcula la ponderación de una palabra dentro de la frase mediante vectores. Para cada palabra introducida, se crean primero tres vectores ya preentrenados:
- Vector de consultas (consultas): 64 bytes
- Vector de claves (Keys): 64 bytes
- Vector de valores (Valores): 64 bytes
A continuación se calcula la puntuación de Autoatención. En la siguiente imagen, las dos palabras "Pensar" y "Máquinas" se dan como ejemplo.
La puntuación determina el grado de atención que debe prestarse a otras palabras del conjunto de entrada cuando se codifica una palabra en una posición determinada. La puntuación de la palabra evaluada se calcula multiplicando el vector de consulta q1 y el vector clave k1. Al procesar la autoatención para la palabra "pensar", la puntuación 112 resulta de q1 y k1. La segunda puntuación con un valor de 96 resulta de q1 y k2. Para normalizar los valores de un resultado positivo, los dos pasos siguientes consisten en dividir las dos puntuaciones por 8 (la raíz cuadrada de los bytes - 64) y, a continuación, ejecutar una operación softmax.
Softmax normaliza las puntuaciones para que todas sean positivas y sumen 1. En este caso, el número Softmax es 0,88 para la puntuación 112 y 0,12 para la 96. Esto significa que q1 multiplicado por k1 tiene un valor de reconocimiento mayor que q1 multiplicado por k2. El quinto paso consiste en multiplicar el vector de valores individuales por el valor Softmax. El sexto paso consiste en combinar los vectores de valores ponderados, lo que da como resultado la salida de la capa de autoatención. El vector resultante se pasa a la red neuronal feed-forward.
Procedimiento en el descodificador
El codificador procesa inicialmente la palabra de entrada. Como se puede ver en la siguiente figura, la salida del último codificador se convierte en un conjunto de vectores de atención K y V. Cada decodificador los utiliza en su "capa de atención codificador-decodificador" para ayudar al decodificador a centrarse en los lugares adecuados de la secuencia de entrada. La figura también muestra que, una vez completada la fase de codificación, comienza la fase de descodificación. Cada paso de la fase de descodificación produce un elemento de la palabra de salida, como en este caso la traducción de "I" a la palabra inglesa "I".
En los pasos siguientes, el proceso de traducción de cada palabra se repite hasta que se completa la traducción de "Estudio Ciencia de Datos" a "Estudio Ciencia de Datos". A continuación, aparece un icono que indica la salida completada del Decodificador Transformador. Para el último paso tras la salida del decodificador, se utilizan la capa lineal y la capa Softmax. La capa lineal es una red neuronal simple, totalmente conectada, que proyecta el conjunto de salida del decodificador en un vector mayor llamado vector logístico.
Como ejemplo, se muestra un modelo con 100.000 palabras únicas en inglés que ya se conocen de un conjunto de datos de entrenamiento. Por tanto, el vector logístico tendría, en consecuencia, 100.000 celdas de ancho, ya que cada celda corresponde a la puntuación de una palabra única. A continuación, la capa Softmax convierte las puntuaciones en probabilidades. La celda con la probabilidad más alta se selecciona para que la palabra conectada se represente como registro de salida.
Por esta razón, el modelo BERT preentrenado con los nuevos componentes del transformador puede predecir con relativa exactitud si la traducción de la frase alemana a la frase inglesa es correcta y si el orden de las palabras dentro de la frase está estructurado lógicamente. Una vez que el modelo ha sido entrenado durante un tiempo suficientemente largo en un conjunto de datos suficientemente grande, los resultados de las distribuciones de probabilidad pueden verse en la siguiente figura.
La distribución de probabilidad de cada palabra se representa mediante un vector. En la primera distribución de probabilidad (posición 1), la celda asociada a la palabra "I" tiene la probabilidad más alta. En la segunda distribución de probabilidad (posición 2), la celda asociada a la palabra "estudio" tiene la probabilidad más alta. Este procedimiento se repite hasta que el final de la frase se marca con el símbolo "eos". En el mejor de los casos, cada posición tendría una distribución de probabilidad de 1,0, pero esto no se corresponde con la realidad. En comparación con otras redes neuronales, el nivel de precisión de BERT es muy bueno.
El Stanford Question Answering Dataset (SQuAD) muestra un factor de precisión medio de 93,16 % para Bert. Llama la atención que BERT solo aparezca en la posición 7 de este ranking. Esto se debe al hecho de que BERT fue catalogado en 2018 como uno de los hitos más importantes en la historia del aprendizaje de transferencia y, desde entonces, ha servido como modelo predecesor para muchos otros modelos.
Este artículo del blog ha seguido el trabajo de Maximilian Linner y Timo Müller sobre el tema "Utilización de enfoques basados en el aprendizaje por transferencia para el análisis de textos".
0 comentarios