Discusión sobre el artículo "Redes neuronales: así de sencillo (Parte 8): Mecanismos de atención"

 

Artículo publicado Redes neuronales: así de sencillo (Parte 8): Mecanismos de atención:

En artículos anteriores, ya hemos puesto a prueba diferentes variantes para organizar las redes neuronales, incluyendo las redes convolucionales, adoptadas de algoritmos de procesamiento de imágenes. En el presente artículo, les proponemos analizar los mecanismos de atención, cuya aparición impulsó el desarrollo de los modelos de lenguaje.

Analizando el gráfico de velas del movimiento de un instrumento, podemos destacar las tendencias y definir los rangos comerciales, es decir, podemos destacar algunos objetos en el cuadro general, para luego concentrar nuestra atención en ellos. Podemos entender intuitivamente que los objetos influyen en el futuro comportamiento de los precios en diversos grados. Para implementar tal enfoque, en septiembre de 2014 se propuso el primer algoritmo capaz de analizar y aislar las dependencias entre los elementos de las secuencias de entrada y salida [8]. El algoritmo propuesto se denominó "mecanismo de atención generalizada". Inicialmente, se propuso su utilización en modelos de traducción automática usando redes recurrentes y resolvió el problema de la memoria a largo plazo en la traducción de oraciones largas. Este enfoque superó significativamente los resultados de las redes neuronales recurrentes previamente analizadas, basadas en bloques de LSTM [4].

El modelo clásico de traducción automática con uso de redes recurrentes consta de dos bloques, Encoder y Decoder. El primero codifica la secuencia de entrada en el idioma de origen en un vector de contexto y el segundo decodifica el contexto resultante en una secuencia de palabras en el idioma de destino. Al aumentar la longitud de la secuencia de entrada, la influencia de las primeras palabras en el contexto final de la oración se reduce y, como consecuencia, también lo hace la calidad de la traducción. El uso de bloques de LSTM aumentó ligeramente las capacidades del modelo, pero aún así, permanecieron limitadas. 


Los autores del mecanismo de atención general propusieron entonces usar una capa adicional para acumular los estados ocultos de todos los bloques recurrentes de la secuencia de entrada. Además, durante la decodificación de la secuencia, el mecanismo debería valorar la influencia de cada elemento de la secuencia de entrada en la palabra actual de la secuencia de salida y sugerir al decodificador la parte más relevante del contexto.

Autor: Dmitriy Gizlyk

 
Masticar Transformers en grano es una habilidad de alto nivel, en mi opinión ) genial del autor del artículo
 
Los resultados del entrenamiento no se guardan. El valor del artículo es cercano a cero debido a esto.
 
Maxim Dmitrievsky:
Quemar transformadores en núcleos es de alto nivel, en mi opinión ) genial habilidad del autor del artículo
¿Celoso? P.2.
 
Aun así, los resultados de las pruebas son peores que en el artículo anterior. Me gustaría conocer los comentarios del autor a este respecto.
 
Maxim Dmitrievsky:
Quemar transformadores en núcleos es una habilidad de alto nivel, en mi opinión ) genial del autor del artículo

Totalmente de acuerdo. El primer artículo causó dudas vagas con todo tipo de 5S ), pero después de atornillar en núcleos sólo quiero alabar al autor implacablemente))))


Andriy Konovalov:
Aún así los resultados de las pruebas son peores que en el artículo anterior. Me gustarían los comentarios del autor al respecto.

Lo que se refleja en el artículo es menos del 5% de lo que el autor podía y probablemente quería decir con este artículo. Si sólo se ve ese 5% y no se ha intentado experimentar en otras tareas, de poco sirve.

Como mínimo, necesitas pruebas exhaustivas y polifacéticas.

 
Aleksey Mavrin:

Lo que se refleja en el artículo es menos del 5% de lo que el autor podría y probablemente quería decir con este artículo. Si sólo ves ese 5% y no has probado a experimentar en otras tareas, de poco sirve.

Como mínimo, necesitas pruebas exhaustivas y multifacéticas.

Eso es lo que intento provocar al autor con otro 0,5% de información. Al final de sus artículos anteriores, el autor comparaba sus resultados con los anteriores.

Para mí, el intento de utilizar mecanismos de atención para predecir señales de trading es lo que me interesa especialmente. Después de todo, si este enfoque es reconocido como el más eficaz para la generación de texto (y GPT realmente hace maravillas), podemos esperar que sea eficaz cuando se trabaja con otros tipos de secuencias: series numéricas de cotizaciones.

Y por la implementación multihilo de Self-Attention - por supuesto, gracias y respeto al autor.

 
Por último, un artículo con una implementación de bajo nivel del mecanismo de atención sin librerías de alto nivel y una implementación de 3 líneas.
Algunas cuestiones conceptuales son interesantes:
¿En qué se diferencia este sistema de autoatención de una simple capa totalmente conectada, porque en ella también la neurona siguiente tiene acceso a todas las anteriores? ¿Cuál es su ventaja clave? No consigo entenderlo, aunque he leído bastantes conferencias sobre este tema.
 
No soy el autor del artículo, pero aquí está la respuesta que he encontrado a sus preguntas:

Ключевое отличие механизма Self-attention от простого полносвязного слоя заключается в способности Self-attention динамически выделять различные части входных данных. В отличие от полносвязного слоя, который обрабатывает все входы одинаково, Self-attention присваивает различные веса разным частям входных данных, фокусируясь на более релевантных частях для выполнения задачи.

Esta ponderación dinámica proporciona la principal ventaja del mecanismo: mayor sensibilidad del modelo a las relaciones entre elementos de la secuencia de entrada, mejorando el rendimiento en tareas que requieren comprensión contextual

 
Rashid Umarov #:
No soy el autor del artículo, pero aquí está la respuesta que he encontrado a sus preguntas:
También he visto esta traducción automática, pero sigue siendo algo incorrecta.
Si lo reformulamos en lenguaje humano, el significado es el siguiente: "el mecanismo SA es un desarrollo de una red neuronal totalmente conectada, y la diferencia clave con PNN es que el elemento elemental que PNN analiza es la salida de una sola neurona, mientras que el elemento elemental que SA analiza es un cierto vector de contexto"? ¿Estoy en lo cierto, o existen otras diferencias clave?
 
DeadMorose777 #:
También he visto esta traducción automática, pero sigue siendo algo incorrecta.
Si lo reformulamos en lenguaje humano, el significado es el siguiente: "el mecanismo SA es un desarrollo de una red neuronal totalmente conectada, y la diferencia clave con PNN es que el elemento elemental que PNN analiza es la salida de una sola neurona, mientras que el elemento elemental que SA analiza es un cierto vector de contexto"? ¿Estoy en lo cierto, o hay alguna otra diferencia clave?

El vector es de redes recurrentes, porque se alimenta una secuencia de letras para traducir el texto. PERO SA tiene un codificador que traduce el vector original en un vector de longitud más corta que lleva tanta información sobre el vector original como sea posible. Después, estos vectores se descodifican y se superponen en cada iteración del entrenamiento. Es decir, se trata de una especie de compresión de la información (selección del contexto), es decir, en opinión del algoritmo se mantiene lo más importante y se le da más peso a lo principal.

De hecho, es sólo una arquitectura, no busques ahí un significado sagrado, porque no funciona mucho mejor en series temporales que las NN o LSTM habituales.