1 votos

¿En qué se diferencia la RNN bidireccional de la RNN vainilla entrenada con copias originales e inversas de los datos?

Tengo varias preguntas sobre Bi-RNN. La RNN aquí puede ser LSTM o GRU también.

(1) ¿Cuál es la entrada de Bi-RNN cuando hace inferencias? Para RNN, si quiero predecir un $\hat{y}(t)$ para el objetivo $y(t)$ Necesito introducir $x(1), x(2)...x(t-1)$ una a una recursivamente para obtener el estado $h(t-1)$ entonces, junto con $x(t)$ puedo calcular $\hat{y}(t)$ . Por tanto, la entrada necesaria para la RNN es $$<x(1), x(2)...x(t-1), x(t)> \rightarrow y(t)$$ ¿Qué le parece BI-RNN? ¿La entrada requiere la secuencia $x(1)$ a $x(t)$ para el componente RNN con dirección normal, y la secuencia $x(t+n)$ a $x(t)$ para el componente RNN con sentido inverso?: $$<x(1), x(2)...x(t-1), x(t)>,<x(t), x(t+1)..., x(t+n)> \rightarrow y(t)$$

(2) Si también hago una copia inversa de los datos de la secuencia original, y la añado a los datos de la secuencia original, y luego utilizo el nuevo conjunto de datos (tamaño duplicado) como entrada para entrenar una RNN de vainilla, ¿cuál es la diferencia con Bi-RNN entrenada sólo con los datos originales? ? Porque me parece que los nuevos datos duplicados también contienen relaciones de contexto bidireccionales para cada valor de destino.

Lo que quiero decir es que si estamos entrenando para predecir $y(t)$ los datos de entrada pueden ser dos series separadas, como dos líneas de datos de entrada: $$<x(1), x(2)...x(t-1), x(t)> \rightarrow y(t)$$ $$<x(t+n), ..., x(t+1), x(t)> \rightarrow y(t)$$ Me parece que esto aún tiene sentido en términos del "ciclo de viaje en el tiempo".

Una diferencia que observo es que Bi-RNN no comparte los parámetros entre los dos componentes de la RNN. En cambio, la RNN vainilla sí lo hace. También, parece que la RNN con los datos duplicados se puede entrenar, pero no se puede utilizar para predecir con el contexto completo (contextos previos y posteriores)? Porque la entrada es unidireccional. No podemos introducir los contextos anterior y posterior al mismo tiempo para predecir. $y(t)$ . ¿Es esa la razón por la que no utilizamos la RNN vainilla con los datos duplicados (tanto los datos originales como los inversos) como datos de entrenamiento?

1voto

Dipstick Puntos 4869

Con la RNN que va de izquierda a derecha se modela la secuencia

$$ x(1), x(2), \dots, x(t-1), x(t) $$

con RNN de derecha a izquierda, retrocede en el tiempo

$$ x(t), x(t-1), \dots, x(2), x(1) $$

En la RNN bidireccional, calculamos ambos y los combinamos.

Lo que propones es modelar la secuencia

$$ x(1), x(2), \dots, x(t-1), x(t), x(t), x(t-1), \dots, x(2), x(1) $$

Si te fijas bien, ahora el "segundo" $x(t-1)$ depende de $x(t), x(t), x(t-1), \dots$ y esto no tiene mucho sentido, ya que está introduciendo algún tipo de ciclo de viaje en el tiempo desde el futuro al pasado y la dependencia de $x(t-1)$ sobre sí misma.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X