Creo que necesitas valores objetivo. Entonces para la secuencia(X1,X2,X3), necesitarías objetivos correspondientes (t1,t2,t3). Como parece que desea predecir el próximo término de la secuencia de entrada original, necesitaría:
t1=X2, t2=X3, t3=X4 4
Necesitarías definir X4 4, así que si tuviera una secuencia de entrada de longitud norte para entrenar al RNN, solo podrás usar el primero norte- 1 términos como valores de entrada y el último norte- 1 términos como valores objetivo.
Si usamos un término de suma de error cuadrado para la función objetivo, ¿cómo se define?
Hasta donde sé, tienes razón: el error es la suma de toda la secuencia. Esto es porque los pesostu, v y w son los mismos en el RNN desplegado.
Entonces,
mi=∑tmit=∑t(tt-pagst)2
¿Se actualizan los pesos solo una vez que se examinó la secuencia completa (en este caso, la secuencia de 3 puntos)?
Sí, si utilizo la propagación inversa a través del tiempo, creo que sí.
En cuanto a los diferenciales, no querrá expandir toda la expresión para miy diferenciarlo cuando se trata de RNN más grandes. Entonces, alguna notación puede hacerlo más ordenado:
- Dejar zt denotar la entrada a la neurona oculta en el momento t (es decir z1= w s + vX1)
- Dejar yt denotar la salida de la neurona oculta en el momento t (es decir
y1= σ( w s + vX1) )
- Dejar y0 0= s
- Dejar δt=∂mi∂zt
Entonces, los derivados son:
∂mi∂tu∂mi∂v∂mi∂w=yt=∑tδtXt=∑tδtyt - 1
Dónde t ∈ [ 1 , T ] para una secuencia de longitud Ty:
δt=σ′(zt)(u+δt+1w)
Esta relación recurrente proviene de darse cuenta de que el tth la actividad oculta no solo afecta el error en tth salida, Et, pero también afecta el resto del error más abajo en el RNN, E−Et:
∂E∂zt∂E∂zt∂E∂ztδt=∂E∂zt=∂Et∂yt∂yt∂zt+∂(E−Et)∂zt+1∂zt+1∂yt∂yt∂zt=∂yt∂zt(∂Et∂yt+∂(E−Et)∂zt+1∂zt+1∂yt)=σ′(zt)(u+∂(E−Et)∂zt+1w)=σ′(zt)(u+δt+1w)
Además de hacerlo de esta manera, esto no me parece una propagación inversa, porque los mismos parámetros aparecen en diferentes capas de la red. ¿Cómo nos ajustamos para eso?
Este método se llama propagación inversa a través del tiempo (BPTT), y es similar a la propagación inversa en el sentido de que utiliza la aplicación repetida de la regla de la cadena.
Un ejemplo trabajado más detallado pero complicado para un RNN se puede encontrar en el Capítulo 3.2 de 'Etiquetado de secuencias supervisadas con redes neuronales recurrentes' por Alex Graves - ¡lectura realmente interesante!