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?