¿Qué es el condicionamiento en el aprendizaje seq2seq?

El aprendizaje de secuencia a secuencia (seq2seq) se usa para modelar la probabilidad condicional p (y | x) de mapear una secuencia de entrada, x1,. . . , xn, en una secuencia de salida, y1,. . . , ym. Básicamente, todo lo que estamos diciendo es que la probabilidad de que la secuencia de salida haya sido influenciada estadísticamente por la secuencia de entrada.

Por lo general, usamos una red neuronal recurrente (RNN) como codificador que calcula una representación s de la secuencia de entrada. Condicionado por esa representación de entrada, un decodificador RNN genera una secuencia de salida, una unidad a la vez. En un modelo simple, podemos descomponer la probabilidad condicional como esta:

La información guardada en la representación de s puede variar según la arquitectura y los tipos de mecanismos de atención utilizados en el codificador. Por ejemplo, un codificador de memoria a corto plazo (LSTM) puede guardar en un estado oculto el género de una palabra determinada a medida que avanza a través de una secuencia de palabras y olvidar ese género cuando se trata de un tema nuevo.

Algunas investigaciones tienden hacia el uso de diferentes mecanismos de atención y estructuras de memoria complejas que ayudan al modelo a decidir qué información de la entrada es más útil para recuperar y transmitir para condicionar la salida.

Ej 1. Traducción de grupos de palabras juntas en lugar de individualmente (Neural Machine Translation by Jointly Learning to Align and Translate, Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio, 2014))

Ex. 2 Usando una red de memoria de extremo a extremo que puede leer la misma secuencia de entrada varias veces antes de hacer una salida para responder preguntas complejas. Redes de memoria de extremo a extremo (Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, Rob Fergus, 2015)

Finalmente, un interesante artículo reciente Sequence to Backward and Forward Sequences: A Approach-Introducing Approach to Generative Short-Text Conversation (Lili Mou, Yiping Song, Rui Yan, Ge Li, Lu Zhang, Zhi Jin, 2016) presenta un modelo donde un la respuesta se genera en dos pasos: (1) Primero, pronostique un nombre de palabra clave que refleje la esencia principal de la respuesta. (2) Use un modelo modificado de codificador-decodificador para sintetizar una oración que contenga la palabra clave con un nuevo modelo de secuencia a secuencia hacia adelante y hacia atrás de seq2BF. El modelo seq2BF decodifica una respuesta a partir de una palabra dada, y luego genera las palabras restantes anteriores y futuras.

En este enfoque, queremos predecir una oración de salida r = r1r2 · · · rm dada (condicionada por) una oración de entrada q = q1q2 · · · qn y la palabra clave predicha podría aparecer al principio (r1), el medio (r2 a rm − 1), o al final (rm) de la respuesta, por lo que debemos descomponer la probabilidad a partir de la palabra dada. La palabra clave predicha k divide la respuesta en dos subsecuencias:

Secuencia hacia atrás: rr − 1, · · ·, r1 y secuencia hacia adelante: rk + 1, · · ·, rm

Y la probabilidad conjunta de las palabras restantes se puede escribir como

donde p (- – – | rk, q) es la probabilidad de las palabras posteriores hacia adelante y hacia atrás dada la palabra dividida rk y una consulta codificada q. * El símbolo Π es la letra griega pi y representa aquí la suma de las probabilidades.