Recientemente me interesé en los LSTM y me sorprendió saber que los pesos se comparten a lo largo del tiempo.
Sé que si comparte los pesos a lo largo del tiempo, sus secuencias de tiempo de entrada pueden ser de longitud variable.
Con los pesos compartidos tiene muchos menos parámetros para entrenar.
Según tengo entendido, la razón por la que uno recurriría a un LSTM frente a algún otro método de aprendizaje es porque cree que hay algún tipo de estructura / dependencia temporal / secuencial en sus datos que le gustaría aprender. Si sacrifica el 'lujo' de longitud variable y acepta un tiempo de cálculo prolongado, ¿un RNN / LSTM sin pesos compartidos (es decir, para cada paso de tiempo que tenga pesos diferentes) funcionaría mucho mejor o hay algo que me falta?
fuente
La perspectiva de los 'pesos compartidos' proviene de pensar en los RNN como redes de avance desplegadas a través del tiempo. Si los pesos fueran diferentes en cada momento en el tiempo, esto sería solo una red de avance. Pero, supongo que otra forma de pensarlo sería como un RNN cuyos pesos son una función que varía en el tiempo (y eso podría permitirle mantener la capacidad de procesar secuencias de longitud variable).
Si hiciera esto, el número de parámetros crecería linealmente con el número de pasos de tiempo. Eso sería una gran explosión de parámetros para secuencias de cualquier longitud apreciable. De hecho, haría que la red fuera más poderosa si tuviera los recursos computacionales masivos para ejecutarla y los datos masivos para restringirla. Para secuencias largas, probablemente sería computacionalmente inviable y obtendría un sobreajuste. De hecho, las personas generalmente van en la dirección opuesta al ejecutar la propagación hacia atrás truncada a través del tiempo, que solo desenrolla la red durante un corto período de tiempo, en lugar de a lo largo de toda la secuencia. Esto se hace por viabilidad computacional. Curiosamente, los RNN aún pueden aprender la estructura temporal que se extiende más allá de la longitud de truncamiento, porque las unidades recurrentes pueden almacenar memoria de antes.
fuente
Creo que, dado que las RNN con recurrencias ocultas u ocultas (y pesos compartidos en el tiempo) son equivalentes a las Máquinas Turing universales, dejarlas tener diferentes pesos para diferentes pasos de tiempo no las hace más poderosas.
fuente