TELDAT Blog

Communicate with us

Transformers: Bert

m

ai-artificial-intelligence-bertNo es ningún secreto que en un futuro cercano, la Inteligencia Artificial,  se encontrará implementada en la mayoría de los dispositivos tecnológicos. Esto se debe a que los algoritmos de Inteligencia Artificial permiten predecir y tomar decisiones con un razonamiento similar al humano para tareas muy concretas, reduciendo considerablemente el error y el tiempo utilizado, y, por lo tanto, aumentando enormemente la eficiencia del sistema el cual implementa.

Existe una amplia variedad de campos de estudio donde debido a factores como necesidad de memorias y capacidades de procesamiento altas, entre otros limitantes tecnológicos, no se consigue avanzar. En muchos de estos campos podemos atravesar sin dificultades estos limitantes gracias a técnicas de Inteligencia Artificial.

[*] En esta ocasión vamos a hablar del campo de la Inteligencia Artificial que ayuda a las máquinas a entender, interpretar y manipular el lenguaje humano:  Natural Language Processing, por sus siglas, NLP.

Para llegar al estado del arte del NLP, ha sido necesario el desarrollo e innovación de algoritmos los cuales han permitido el rápido avance de tecnologías en el campo de la Inteligencia Artificial, hasta tal punto, que se han conseguido desarrollar aplicaciones las cuales, utilizando estos algoritmos, nos permiten experimentar conversaciones humano-máquina con una calidad de conversación bastante buena.

Estas tecnologías permiten identificar el sentimiento con el que se expresa una frase, predecir si dadas dos frases, la segunda tiene relación contextual con la primera, o incluso buscar una equivalencia semántica entre ambas frases.

Una de las tecnologías que, con mayor fiabilidad y precisión permite realizar estas tareas es el sistema BERT desarrollado por GOOGLE en 2018.

Proceso hasta BERT

En los inicios del NLP se utilizaban las Redes Neuronales Recurrentes, por sus siglas en inglés, RNN. Las RNN implementan técnicas de Deep Learning para introducir datos, como su nombre indica, de manera recurrente (es decir, uno detrás de otro) en una red neuronal.

Traslademos este sistema a nuestro campo, ¿Cómo funcionaría?

Supongamos que tenemos una frase completa, la frase será “Esto es una prueba”, y necesitamos que nuestra red neuronal procese la frase para que a la salida obtengamos, por ejemplo, una idea semántica de que quiere decir nuestra frase.

El primer paso que realiza nuestro sistema es separar las palabras de la frase. Una vez las palabras han sido separadas, iniciamos el proceso de recurrencia, es decir, introducimos únicamente la primera palabra como input en la red neuronal. Cuando obtenemos el resultado de la red neuronal a la palabra “Esto”, sumamos este resultado a la palabra siguiente “es” y lo introducimos de nuevo como entrada en la misma red neuronal. El nuevo resultado obtenido, como podemos predecir, tiene en cuenta las dos primeras palabras, “Esto es”. De esta forma continuamos el proceso de recurrencia hasta la ultima palabra, habiendo procesado entonces la frase entera, teniendo en cuenta todas y cada una de las palabras de la frase.

ai-artificial-intelligence-bert

A primera vista todo parece correcto, pero este tipo de red tiene dos grandes problemas:

  1. El primero es trivial, y es que, al ser un recurrente, como ya hemos visto, se necesita del procesamiento de la palabra “Esto” para comenzar a procesar la palabra “es”, y así sucesivamente, sumando una cantidad de tiempo al procesado final tan grande como palabras tenga la frase. Esto quiere decir que son algoritmos generalmente lentos.
  2. El segundo gran problema, es que estos sistemas “olvidan” las frases extensas, de forma que en el cálculo final, la red no tiene en cuenta las palabras iniciales. En este caso, y suponiendo que la frase fuera suficientemente larga, la red es incapaz de tener en cuenta la palabra “Esto” al llegar al cálculo final, por lo que hay una variación del significado final de la frase.

La solución a este problema vendría con el famoso paper “Attention is all you need”, donde se sustituyen completamente a las RNN por los mecanismos de atención.

¿Y que son los mecanismos de atención?

Son arquitecturas las cuales permiten procesar la frase palabra por palabra, en paralelo, solucionando el problema del tiempo de procesado y el problema de falta de memoria que tenían las RNN.

Esto se consigue de una manera muy simple. Cada palabra de una misma frase es introducida como input en dos redes neuronales diferentes. La primera red neuronal especifica cual es el significado de la palabra, y la segunda red neuronal con qué tipo de palabras busca tener relación. Por lo tanto, cada palabra de la frase va a contener dos valores. Su significado, llamado vector key, y sus necesidades, llamado vector query, de forma que en el ejemplo anterior quedaría de la siguiente manera.

ai-artificial-intelligence-bert

Una vez con estos resultados, con un cálculo sencillo podemos obtener la correlación que tiene cada palabra con el resto de la frase. Esto lo podemos conseguir comparando lo que busca cada una de las palabras (vector query), con lo que son realmente el resto de palabras (vector key), dándose un ‘match’ cuando ambos sean compatibles. Para relacionar todas las palabras entre sí, se compara el vector query de una palabra con el vector key del resto de palabras, repitiendo este proceso por cada una de las palabras de la frase.

Cada uno de los resultados obtenidos en las comparaciones se almacenan en una matriz de resultados, siguiendo el ejemplo anterior el sistema de la siguiente manera (X será el valor de la correlación entre la palabra representada por la fila y por la columna a la que pertenece).

ai-artificial-intelligence-bert

Con esta matriz de resultados podemos considerar la importancia que tiene cada palabra con respecto al resto, permitiendo el entendimiento por parte de la máquina del contexto de la frase.

Por lo tanto, de este paper surgen los nuevos grandes sistemas de Inteligencia Artificial para NLP, los Transformers.

Fue cuestión de tiempo el desarrollo de Inteligencias Artificiales basadas en la tecnología Transformer, siendo BERT una de las más prometedoras.

BERT

Bidirectional Encoder Representations from Transformers, por sus siglas en inglés, BERT, se basa en la tecnología Transformer para funcionar. Su gran poder es la versatilidad que tiene, ya que puede usarse para la solución de muchas tareas, ¿a qué se debe esto?

Esto se debe a su arquitectura interna. BERT contiene dos grandes bloques. El primero es un bloque pre-entrenado general basado en las redes Transformer, el cual permite el entendimiento básico del lenguaje, y el segundo bloque, concatenado al anterior, permite afinar el funcionamiento del sistema mediante Deep Learning, siendo dependiente de la necesidad final. Este segundo bloque es el que permite esa gran versatilidad, ya que es un bloque pequeño y con gran potencial que se apoya en un bloque ya entrenado que soporta el reconocimiento básico del lenguaje.

ai-artificial-intelligence-bert

 

Para entender esto, nos podemos imaginar a un universitario en su primer año, el cual tiene que superar un examen de integración. Este alumno debe aprender a integrar, pero esta finalidad va a ser infinitamente más sencilla si tiene una base de derivación. En esta analogía el alumno es la Inteligencia Artificial, el aprendizaje de integración es el segundo bloque de afinamiento y la base de derivación corresponde con el bloque pre-entrenado base.

Es importante entender como con la misma base de derivación, ajustando el bloque de afinamiento podríamos hacer que el alumno aprendiese a calcular la aceleración de un sistema de movimiento (ya que es la derivada de la velocidad con respecto al tiempo) o a calcular intensidades de corriente en circuitos complejos (siendo la intensidad la derivada de la carga eléctrica respecto al tiempo).

En conclusión, podemos ver como la Inteligencia Artificial no defrauda en su promesa de cambiar el mundo tal como lo conocemos. Especialmente en el ámbito del NLP hemos visto como su avance en los últimos años ha permitido el desarrollo de algoritmos, que gracias a los Transformers son realizables con la tecnología que tenemos hoy en día.

BERT ya es implementado en grandes proyectos, tanto académicos como industriales, y solo basta con una búsqueda rápida por internet para entender la trascendencia de estos sistemas en nuestra sociedad, habilitando grandes comodidades y necesidades, desde permitir la comunicación a personas que por motivos médicos no pueden hablar, al más puro estilo Stephen Hawking, a la comodidad de nuestra casa, entablando una discusión con nuestro asistente de voz sobre si debería llevar hoy al trabajo ropa más o menos abrigada.

 

[*] Desde Teldat hemos pensado que sería interesante tener blogueros externos, y así ampliar el espectro de información que se transmite desde Teldat Blog. Esta semana, Ivan Castro, estudiante de Universidad Alcalá de Henares, nos escribe sobre BERT.

Iván Castro

Iván Castro

Estudiante de último curso de Ingeniería en Tecnologías de Telecomunicación con especialidad en Telemática en la Escuela Politécnica Superior de Alcalá de Henares (UAH) .Participación en proyectos de implementación de algoritmos de Machine Learning y Natural Language Processing

Tags: 

Nuestras Soluciones Relevantes

Our Relevant Solutions

Give us your opinion!

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada.

floating-i
Contact us
Copy link
Powered by Social Snap