Justificativa matemática para o uso de redes neurais recorrentes em redes feed-forward

7

Eu estava pensando e tentando entender se existe alguma razão matemática por trás da superioridade das RNNs sobre as redes Feed-forward ao lidar com dados sequenciais. Por exemplo, ao modelar séries temporais, HMMs, etc. Suponha que o comprimento da sequência seja fixo, mas muito grande.

Intuitivamente, está claro que os RNNs são capazes de lembrar as informações relevantes até o instante atual de tempo na variável de estado e usá-lo para atualizar seu estado para base na entrada atual . Por exemplo, se queremos modelar usando uma rede Feed-forward, devemos ter um nó de entrada para cada e somar para obtê-lo enquanto que com a RNN apenas precisa de um único nó de entrada para e o estado se lembra da soma .tht1htxtYt=Xt+Xt1++X0XiYtXtXt1++X0

Embora o exemplo acima seja bastante elementar, ele destaca que a complexidade do RNN (número de nós, profundidade) é muito menos comparada à de um feed-forward.

Alguém pode fornecer um exemplo de famílias de funções que não podem ser capturadas pelo Feed-forward, mas podem ser bem aproximadas pelas RNNs? Qualquer referência direcionada para o mesmo também é apreciada.

pikachuchameleon
fonte

Respostas:

2

Não acho que essa seja uma resposta muito satisfatória, porque é uma prova por definição, mas acredito que seja correta mesmo assim (embora não muito matemática ).

Alguém pode fornecer um exemplo de famílias de funções que não podem ser capturadas pelo Feed-forward, mas podem ser bem aproximadas pelas RNNs?

Não. Pelo menos não se aceitarmos essa definição de função;

... uma relação entre um conjunto de entradas e um conjunto de saídas permitidas com a propriedade em que cada entrada está relacionada exatamente a uma saída. [ Wikipedia ]

Se imaginarmos alguma função hipotética que opere em algum vetor de entradas e ainda não possa ser expressa por nenhuma rede neural de feed forward, poderíamos simplesmente usar como uma função de transferência e, voila , podemos agora construa um perceptron simples que executa um superconjunto da funcionalidade de ;ψ(x)xψ(x)ψ(x)

f(x)=ψ(b+wx)

Vou deixar como um exercício para o leitor descobrir quais valores precisamos para o vetor de viés, peso, , a fim de fazer com que nossa saída de perceptron imite a de nossa função misteriosa !bwf(x)ψ(x)

A única coisa que uma RNN pode fazer que uma rede de encaminhamento de feed não pode é reter o estado. Em virtude do requisito de que uma entrada mapeie apenas uma única saída, as funções não podem reter o estado. Portanto, pelo exemplo acima distorcido, podemos ver que uma rede de feed forward pode fazer qualquer coisa (mas não mais) do que qualquer função (contínua ou não).

Nota : acho que respondi à sua pergunta, mas acho que vale a pena destacar uma pequena ressalva; embora não exista uma função que não possa ser mapeada por uma rede de feed-forward, certamente existem funções que são mais adequadas para RNNs do que redes de feed-forward. Qualquer função organizada de tal maneira que os conjuntos de recursos dentro da função sejam prontamente expressos como transformações de resultados anteriores pode ser mais adequada a uma RNN.

Um exemplo disto pode ser encontrar o N ° número da sequência de Fibonacci, sse as entradas são apresentados sequencialmente;

F(x)=F(x1)+F(x2)

Um RNN pode aproximar essa sequência efetivamente usando apenas um conjunto de funções de transformação linear, enquanto uma função sem estado, ou rede neural de avanço, precisaria aproximar a solução funcional da sequência de Fibonacci:

F(x)=ϕnψn5

onde é a proporção áurea e .ϕψ1.618

Como você pode imaginar, a primeira variante é muito mais fácil de aproximar-se, dada a matriz usual de funções de transferência disponíveis para o projetista de uma rede neural.

quant
fonte