Estoy tratando de entender cómo se pueden usar los rnn para predecir secuencias trabajando con un ejemplo simple. Aquí está mi red simple, que consta de una entrada, una neurona oculta y una salida:
La neurona oculta es la función sigmoidea, y se considera que la salida es una salida lineal simple. Entonces, creo que la red funciona de la siguiente manera: si la unidad oculta comienza en estado s
, y estamos procesando un punto de datos que es una secuencia de longitud, , entonces:
En el momento 1
, el valor predicho,, es
En el momento 2
, tenemos
En el momento 3
, tenemos
¿Hasta aquí todo bien?
El rnn "desenrollado" se ve así:
Si usamos un término de suma de error cuadrado para la función objetivo, ¿cómo se define? En toda la secuencia? En cuyo caso tendríamos algo como?
¿Se actualizan los pesos solo una vez que se examinó la secuencia completa (en este caso, la secuencia de 3 puntos)?
En cuanto al gradiente con respecto a los pesos, necesitamos calcular , Intentaré hacerlo simplemente examinando las 3 ecuaciones para arriba, si todo lo demás parece correcto. Además de hacerlo de esa 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?
Si alguien puede ayudarme a guiarme a través de este ejemplo de juguete, estaría muy agradecido.