Recentemente, fiquei interessado em LSTMs e fiquei surpreso ao saber que os pesos são compartilhados ao longo do tempo.
Sei que, se você compartilhar os pesos ao longo do tempo, as seqüências de tempo de entrada poderão ter um comprimento variável.
Com pesos compartilhados, você tem muito menos parâmetros para treinar.
Pelo que entendi, a razão pela qual alguém se voltaria para um LSTM vs. outro método de aprendizado é porque você acredita que há algum tipo de estrutura / dependência temporal / seqüencial em seus dados que você gostaria de aprender. Se você sacrifica o comprimento variável 'luxo' e aceita um longo tempo de computação, um RNN / LSTM sem pesos compartilhados (ou seja, para cada etapa que você tem pesos diferentes) teria um desempenho muito melhor ou falta algo?
fonte
A perspectiva de 'pesos compartilhados' vem do pensamento sobre as RNNs como redes feedforward desenroladas ao longo do tempo. Se os pesos fossem diferentes a cada momento, isso seria apenas uma rede de feedforward. Mas, suponho que outra maneira de pensar sobre isso seria como uma RNN cujos pesos são uma função que varia no tempo (e isso pode permitir que você mantenha a capacidade de processar sequências de comprimento variável).
Se você fizesse isso, o número de parâmetros aumentaria linearmente com o número de etapas de tempo. Isso seria uma grande explosão de parâmetros para seqüências de qualquer tamanho apreciável. De fato, tornaria a rede mais poderosa se você tivesse recursos computacionais massivos para executá-la e dados massivos para restringi-la. Para sequências longas, provavelmente seria inviável em termos computacionais e você teria um super ajuste. De fato, as pessoas geralmente seguem na direção oposta executando a retropropagação truncada ao longo do tempo, que apenas desenrola a rede por um curto período de tempo, e não por toda a sequência. Isso é feito para viabilidade computacional. Curiosamente, as RNNs ainda podem aprender a estrutura temporal que se estende além do comprimento do truncamento, porque as unidades recorrentes podem armazenar memória de antes.
fonte
Eu acho que, como as RNNs com recorrências ocultas a ocultas (e pesos compartilhados no tempo) são equivalentes às Máquinas de Turing Universal, deixá-las ter pesos diferentes para diferentes etapas no tempo não as torna mais poderosas.
fonte