Transformador de redes neuronales en aprendizaje profundo: descripción general

En este artículo, vamos a aprender sobre los transformadores. Comenzaremos con una descripción general de Deep Learning y su implementación. En el futuro, veremos cómo se pueden procesar los datos secuenciales utilizando Deep Learning y la mejora que hemos visto en los modelos a lo largo de los años.  

Aprendizaje profundo

Entonces, ¿qué es exactamente el aprendizaje profundo? Pero antes de que entendamos qué es el aprendizaje profundo, repasemos rápidamente la cronología aquí, comenzando con la IA. AI o inteligencia artificial es básicamente todo. La IA es un área de la informática que enfatiza la creación de inteligencia dentro de la máquina para trabajar y reaccionar como seres humanos. En resumen, aquí estamos tratando de tener la capacidad de las máquinas para imitar la inteligencia del comportamiento humano. Luego tenemos el aprendizaje automático. ML es básicamente una ciencia de hacer que las computadoras actúen alimentándolas con datos anteriores. Entonces Deep Learning es un subconjunto de Machine Learning. Y aquí hacemos uso de algo llamado redes neuronales. Vemos que las redes neuronales son el conjunto de algoritmos y técnicas, 

Entonces, ¿qué es exactamente el aprendizaje profundo? Bueno, Deep Learning es parte de una amplia familia de métodos ML, que se basan en aprender patrones de datos en oposición a lo que hace un algoritmo de Machine Learning. En Machine Learning tenemos algoritmos para una tarea específica. Aquí, el algoritmo de aprendizaje profundo puede ser supervisado, semisupervisado o no supervisado. Como se mencionó anteriormente, Deep Learning está inspirado en el cerebro humano y cómo percibe la información a través de la interacción de las neuronas. Entonces, veamos qué podemos hacer exactamente con Deep Learning. Pero antes de ir allí, entonces, ¿por qué deberíamos elegir el aprendizaje profundo para, ya sabes, varias tareas? Entonces, la gran ventaja de usar Deep Learning es que podemos extraer más funciones y cuando tenemos más funciones y cuando podemos trabajar al mismo tiempo con una gran cantidad de datos, podemos percibir un objeto como lo hace un ser humano. Lo que significa es que, si desea realizar una tarea de clasificación entre un bolígrafo y un lápiz, obviamente sabrá como ser humano, ya sabe, la diferencia porque mira un bolígrafo y un lápiz contiene varias veces, y ahora, cuando intentas clasificarlo, puedes hacerlo con facilidad. Y la razón de esto es porque, ya sabes, las características de un bolígrafo, y ya sabes, las características de un lápiz. Del mismo modo, así es como funciona el Deep Learning. Más, los datos que alimentas más, las dimensiones, puede analizar más las dimensiones, puede aprender. Como ya se mencionó, una de las aplicaciones más populares de Deep Learning es la clasificación de imágenes. Y cuando se trata de clasificación de imágenes, puede ser algo tan simple como clasificar entre dos animales diferentes, hasta algo tan complicado como,  

Entonces, el siguiente tipo de aplicación que usa Deep Learning es usar datos secuenciales. Datos secuenciales, básicamente se refiere a algo así como datos de series de tiempo o tener que entender el lenguaje natural. Entonces, la razón por la que los llamamos datos secuenciales es que aquí la palabra anterior o la función anterior dependen de la función siguiente. Si digo ¿Qué hora es? Entonces, si solo digo ‘es’, aquí qué hora es y, básicamente aparece en la oración. Y para que puedas hacer una analogía o entender, obviamente tienes que saber lo que sucedió en el pasado. Entonces, para hacer esto, usamos algo llamado RNN. Y hay varias versiones de RNN.

Pasando a la siguiente aplicación que es GAN. GAN, que significa redes antagónicas generativas, es una parte no supervisada de una aplicación de aprendizaje profundo. Algunas aplicaciones comunes, que puede ver en los últimos días, no son más que falsificaciones profundas y muchas más. Finalmente, descendiendo a la clasificación de rendimiento y la tarea de regresión utilizando perceptrón multicapa. Si recuerda, o si conoce bien el aprendizaje automático para realizar la clasificación en ML, teníamos algoritmos como el árbol de decisión, el bosque aleatorio o algo muy simple como la regresión lineal o la regresión logística. Pero cuando tratamos de realizar la clasificación utilizando MLP o perceptrón multicapa, obtenemos una precisión muy alta incluso en comparación con SVM y árboles de decisión.  

Procesamiento del lenguaje natural (NLP) usando RNN

Entonces, ahora que sabemos qué es exactamente el aprendizaje profundo y por qué lo usamos, avancemos para comprender cómo podemos procesar datos en lenguaje natural usando RNN. Entonces, ¿qué son los RNN? Significa Red Neuronal Recurrente. Y generalmente usamos esto para tratar con datos secuenciales. Los datos secuenciales pueden ser algo así como una serie de tiempo, algunos datos o datos textuales de cualquier formato. Entonces, ¿por qué debería uno usar RNN? Esto se debe a que aquí hay un concepto de memoria interna. RNN puede recordar cosas importantes sobre la entrada que ha recibido, lo que les permite ser muy precisos al predecir cuál puede ser el próximo resultado. Entonces, esta es la razón por la que se realizan o se prefieren en un algoritmo de datos secuenciales. Y algunos de los ejemplos de datos de secuencia pueden ser algo como tiempo, serie, voz, texto, datos financieros, audio, video, clima y muchos más. Aunque RNN era el algoritmo de última generación para manejar datos secuenciales, tienen sus propios inconvenientes y algunos inconvenientes populares aquí pueden deberse a la complicación o la complejidad del algoritmo. La red neuronal es bastante lenta de entrenar. Y como hay una gran cantidad de dimensiones aquí, el entrenamiento es muy largo y difícil de hacer. Aparte de esa característica más decisiva para RNN o para la mejora en RNN, ¿está fuera del gradiente de fuga? ¿Qué es este degradado desaparecido? Cuando profundizamos más y más en nuestra red neuronal, los datos anteriores se pierden. Esto se debe a un concepto, un ingrediente que se desvanece. Y hace esto, no podemos trabajar en una secuencia de datos grande o más larga. vienen con sus propios inconvenientes y algunos inconvenientes populares aquí pueden deberse a la complicación o la complejidad del algoritmo. La red neuronal es bastante lenta de entrenar. Y como hay una gran cantidad de dimensiones aquí, el entrenamiento es muy largo y difícil de hacer. Aparte de esa característica más decisiva para RNN o para la mejora en RNN, ¿está fuera del gradiente de fuga? ¿Qué es este degradado desaparecido? Cuando profundizamos más y más en nuestra red neuronal, los datos anteriores se pierden. Esto se debe a un concepto, un ingrediente que se desvanece. Y hace esto, no podemos trabajar en una secuencia de datos grande o más larga. vienen con sus propios inconvenientes y algunos inconvenientes populares aquí pueden deberse a la complicación o la complejidad del algoritmo. La red neuronal es bastante lenta de entrenar. Y como hay una gran cantidad de dimensiones aquí, el entrenamiento es muy largo y difícil de hacer. Aparte de esa característica más decisiva para RNN o para la mejora en RNN, ¿está fuera del gradiente de fuga? ¿Qué es este degradado desaparecido? Cuando profundizamos más y más en nuestra red neuronal, los datos anteriores se pierden. Esto se debe a un concepto, un ingrediente que se desvanece. Y hace esto, no podemos trabajar en una secuencia de datos grande o más larga. Aparte de esa característica más decisiva para RNN o para la mejora en RNN, ¿está fuera del gradiente de fuga? ¿Qué es este degradado desaparecido? Cuando profundizamos más y más en nuestra red neuronal, los datos anteriores se pierden. Esto se debe a un concepto, un ingrediente que se desvanece. Y hace esto, no podemos trabajar en una secuencia de datos grande o más larga. Aparte de esa característica más decisiva para RNN o para la mejora en RNN, ¿está fuera del gradiente de fuga? ¿Qué es este degradado desaparecido? Cuando profundizamos más y más en nuestra red neuronal, los datos anteriores se pierden. Esto se debe a un concepto, un ingrediente que se desvanece. Y hace esto, no podemos trabajar en una secuencia de datos grande o más larga. 

Para superar esto, se nos ocurrieron algunas nuevas o actualizaciones a las redes neuronales de registro actuales o RNN. Comenzando con una red neuronal recurrente bidireccional. La red neuronal recurrente bidireccional conecta dos capas ocultas de dirección opuesta en la misma salida con esta forma de generar aprendizaje profundo, la salida puede obtener información del estado pasado y futuro simultáneamente. Entonces, ¿por qué necesitamos una red neuronal recurrente bidireccional? Bueno, duplica la string de procesamiento RNN, de modo que la entrada procesa tanto el orden de tiempo hacia adelante como hacia atrás, lo que permite que una red neuronal recurrente bidireccional también observe el contexto futuro. La siguiente es la memoria a corto plazo, la memoria a corto plazo, o también a veces denominada LSTM, es una arquitectura de red neuronal recurrente artificial utilizada en el campo del aprendizaje profundo. Esta red neuronal de avance estándar en LSTM tiene una conexión de retroalimentación. No solo puede procesar un solo punto de datos, sino también toda la secuencia de datos. Con LSTM o memoria a corto plazo, tiene algo como, ya sabes, podemos alimentar una secuencia más larga en comparación con lo que era con RNN o RNN bidireccionales.  

Entonces, ¿por qué LSTM es mejor que RNN? Podemos decir que cuando pasamos de RNN a LSTM, estamos introduciendo más y más control sobre la secuencia de los datos que podemos proporcionar. Por lo tanto, LSTM nos brinda más capacidad de control y obtiene mejores resultados.  

Entonces, el siguiente tipo de red neuronal recurrente es la red neuronal recurrente cerrada, también conocida como GRU. Es un tipo de red neuronal recurrente que en ciertos casos es ventajoso sobre la memoria a corto plazo. GRU usa menos memoria y también es más rápido que LSTM. Pero la cuestión es que los LSTM son más precisos cuando se usan conjuntos de datos más largos. Entonces, la tendencia aquí es, ya sabes, los modelos deberían ser capaces de recordar y tomar una secuencia de entrada más larga.  

Transformadores

La parte revolucionaria de los datos del secuenciador se desarrolló cuando se nos ocurrió algo llamado Transformers y este documento se basó en un concepto llamado Atención lo es todo. Así que echemos un vistazo a esto. El documento ‘La atención es todo lo que necesita’ presenta una arquitectura llamada últimos transformadores. Al igual que LSTM, Transformers es una arquitectura para transformar una secuencia en un antídoto mientras ayuda a otras dos partes, que son codificadores y decodificadores, pero difiere de la secuencia descrita anteriormente, su modelo de secuencia, porque no funciona como GRU. Por lo tanto, no implementa redes neuronales recurrentes. La red neuronal recurrente hasta ahora era una de las mejores formas de capturar la pequeña dependencia de una secuencia. Sin embargo, El equipo que presenta este documento que es ‘La atención es todo lo que necesita’ demuestra que la arquitectura con solo un mecanismo de atención que no usa RNN puede mejorar su resultado en la tarea de traducción y otras tareas de NLP. Un ejemplo de ello podría ser el BERT de Google.

Entonces, ¿qué es exactamente este transformador? Tanto el codificador como el decodificador se componen de módulos que pueden comunicarse uno encima del otro varias veces. Entonces, lo que sucede es que las entradas y las salidas se integran primero en el espacio de n dimensiones, ya que no podemos usar esto directamente. Entonces, obviamente, tenemos que codificar nuestras entradas, lo que sea que estemos proporcionando. Una parte ligera, pero importante, de este modelo es la posición y la codificación de diferentes palabras. Dado que no tenemos una red neuronal recurrente que pueda recordar cómo se introduce la secuencia en el modelo, debemos dar a cada palabra o parte de una secuencia una posición relativa, ya que una secuencia depende del orden de los elementos. Estas posiciones se agregan a la representación incrustada de cada palabra. Así que esto fue un resumen sobre Transformers.

Modelos de lenguaje

Avancemos y veamos algunos modelos de idiomas populares que están disponibles en el mercado. Comenzaremos por comprender el GPT3 de OpenAI. El sucesor de GPT y GPT2 es el GPT3, y es uno de los modelos preentrenados más controvertidos, por OpenAI, el modelo de lenguaje basado en transformadores a gran escala ha sido entrenado en 175 mil millones de parámetros, que es 10 veces más que cualquier anterior no -Modelo de lenguaje disperso. El modelo ha sido entrenado para lograr un rendimiento sólido en gran parte del conjunto de datos de NLP, incluida la traducción de tareas, la respuesta a preguntas, así como varias otras tareas. 

Luego tenemos el BERT de Google. Es sinónimo de representaciones de codificador bidireccional de Transformers. Es un modelo de NLP preentrenado, desarrollado por Google en 2018 con esto, cualquier persona en el trabajo y entrena su propio módulo de respuesta a preguntas con hasta 30 minutos en una sola TPU en la nube o algunas horas usando una sola GPU. Luego, la compañía mostró el desempeño de 11 tareas de PNL, incluidas preguntas muy competitivas de conjuntos de datos de Stanford. A diferencia de otros modelos de lenguaje, BERT solo ha sido entrenado previamente en 250 millones de palabras de Wikipedia y 800 millones de palabras del corpus de libros y se ha utilizado con éxito como modelo preentrenado en una red neuronal profunda, según los investigadores, pero ha logrado 93 % de precisión, que ha suprimido cualquier modelo de lenguaje anterior.  

A continuación, tenemos ELMO. ELMO también se conoce como incrustación para el modelo de lenguaje, es una representación de palabras de contextualización profunda que modela la sintaxis y las palabras semánticas, así como el contexto logístico. El modelo desarrollado por Alan LP se ha entrenado previamente en un corpus de texto enorme y aprende funciones de modelos bidireccionales. Eso es de LM. ELMO se puede agregar fácilmente al modelo existente, lo que mejora drásticamente las características de las funciones en grandes problemas de NLP, incluida la respuesta a preguntas, el sentimiento textual y el análisis del sentimiento. 

Publicación traducida automáticamente

Artículo escrito por ankit_kumar_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *