¿Qué significa ‘alineado suavemente’ en un contexto de aprendizaje profundo?

La primera vez que leí acerca de la alineación suave fue probablemente en el famoso artículo de Bahdanau en el que un modelo de codificador-decodificador utiliza un mecanismo de atención para la traducción automática neural.

Acerca de la alineación suave: un ejemplo de traducción automática neural

En este contexto, la alineación de la atención es bastante intuitiva. En cada paso de decodificación, es decir, al predecir una nueva salida, observamos la secuencia de entrada y determinamos cuál es la más importante. Esta opción es, de hecho, una matriz ponderada que brinda una probabilidad de atención entre cada token fuente y el paso de decodificación.

Una alineación dura sería como:

poner atención en el tercer token

y de hecho sería un vector con identificación de token para cada paso de decodificación.

Una matriz de alineación suave es más como:

presta un 10% de atención a la primera ficha, un 5% a la segunda, un 25% a la tercera, un 50% a la cuarta, … (con suma = 100% de c)

Y es una matriz, que es interesante visualizar:

(fuente: Bahdanau 2014)

Es una matriz de alineación suave de atención en una traducción inglés-francés. Vemos que logra capturar propiedades interesantes sobre la traducción en-fr. Por ejemplo, el orden de las palabras es ligeramente diferente en esos idiomas:

Consideremos las siguientes traducciones: (fr -> en)

  • área = zona
  • económico = economía
  • europeo = européenne

pero “área económica europea” = “zona económica europea”, es decir, se invierte el orden. Es por eso que hay un patrón diagonal en la dirección opuesta alrededor de esas palabras.

Además, puede ver una especie de cuadrado que traduce “fue firmado” (pretetit) a “a été signé” (passé composé), que es una buena traducción.


Alineación suave para resumen

Lo mismo se aplica para el resumen automático de texto, donde el objetivo no es cambiar el idioma, sino generar una versión más pequeña. Intuitivamente tiene sentido usar la atención también, ¿verdad?

(fuente: Rush et al (2014): https://arxiv.org/pdf/1409.0473.pdf))

Tenga en cuenta que también se conoce explícitamente como “alineación suave”.


Otro ejemplo: interruptor suave

Aún más en general, cuando lees en voz baja, piensa que estamos hablando de mapear algo con probabilidades. Lo mismo se aplica con el llamado interruptor suave: en lugar de considerar el interruptor binario 0–1, da una probabilidad en [0, 1]. Encontré esto generalmente cuando hablamos de la red de generador de punteros , por ejemplo, en See (2017) – Sección 2.2:

Esto es en particular para el modelo de aprendizaje profundo basado en secuencia a secuencia.

El modelo simple seq2seq funciona de manera similar a la red de codificador y decodificador: tiene una secuencia de módulos LSTM que codifican la secuencia y luego la salida se alimenta a otra secuencia de módulos LSTM que predicen la secuencia de salida deseada. En esta configuración, la unidad de decodificación cuando realiza la predicción no tiene una idea de qué partes de la entrada son importantes para su predicción. Lo que tiene es solo la salida de la red del codificador.

Para resolver mejor este problema, se introdujo la idea de atención . Este módulo de atención es una red neuronal (puede ser una sola neurona) cuya entrada es toda la secuencia de entradas y la salida se alimenta al decodificador LSTM. Este nuevo decodificador LSTM tiene dos entradas, una es la “salida de la red del codificador” y la “salida de este módulo de atención”. Este módulo de atención proporciona un esquema de pesaje (utilizando la función softmax) en las entradas que son más importantes para la predicción.
En otras palabras, para predecir la salida: se alinea (pesa) a la entrada que es importante usando un softmax.

¡Se trata de evitar el dilema de las grietas que puede presentar un verborrea complejo y ni siquiera tiene que ser largas oraciones!

En nuestro cerebro humano estamos constantemente haciendo el “enlace suave”. ¡Siempre!

Sin embargo, las computadoras luchan horriblemente haciendo un cambio de enlace duro a este enlace suave.

Alineación suave AFAIK y he leído, propone profundizar un poco más en el bucle del mecanismo de atención, pero proporciona alguna forma de puntuación en la probabilidad de que una palabra se alinee con otra en el bucle RNN codificador-decodificador.

More Interesting

¿Cuáles son los mejores algoritmos para el conjunto de datos de preservación de la privacidad?

¿Hay algún paquete de código abierto para aplicar ML a las publicaciones de Twitter?

Cómo implementar el análisis de sentimientos en proyectos de retroalimentación de clientes

¿Cuáles son algunas buenas ideas de proyectos o ejemplos para un proyecto de curso de Visión de Computadora basado en Aprendizaje Automático?

¿Mi reproductor de caja de ritmo aprendió qué canción tocar a continuación?

Cómo manejar múltiples funciones usando SVM en visión artificial

¿Cuál es el minimizador de [matemáticas] H [f] = \ sum ^ {N} _ {i = 1} \ | y ^ {(i)} - f (x_i) \ | ^ 2_ {2} + \ lambda \ | Pf \ | ^ 2 [/ math] cuando la salida es un vector?

Serie temporal: ¿Existe un enfoque para la detección de anomalías que no se base en datos de entrenamiento anteriores?

Cómo escribir un buen artículo sobre aprendizaje profundo o reforzar el aprendizaje sin la ayuda de un supervisor profesional

¿Cuáles son las máquinas CNC más vendidas en todo el mundo?

¿Cuáles son los problemas de investigación 'hardcore' en visión artificial, aprendizaje automático y arquitectura informática?

¿Cuáles son algunos proyectos que puedo hacer mientras aprendo aprendizaje automático?

Cómo lidiar con un conjunto de datos duro que no me da buenos resultados en la validación del modelo

¿Cuáles son los mejores recursos disponibles en línea para aprender a pensar en diseño?

¿Qué piensa la gente del siguiente documento que señala los límites del aprendizaje de extremo a extremo?