Surpreendentemente, isso não foi feito antes - pelo menos eu não encontrei nada além de algumas perguntas vagamente relacionadas.
Então, o que é uma rede neural recorrente e quais são suas vantagens em relação aos RNs regulares?
recurrent-neural-networks
olinarr
fonte
fonte
Respostas:
As redes neurais recorrentes (RNNs) são uma classe de arquitetura de rede neural artificial inspirada na conectividade cíclica de neurônios no cérebro. Ele usa loops de funções iterativas para armazenar informações.
Diferença com as redes neurais tradicionais usando imagens deste livro :
E uma RNN:
Observe a diferença - as conexões das redes neurais feedforward não formam ciclos. Se relaxarmos essa condição e permitirmos conexões cíclicas, obteremos redes neurais recorrentes (RNNs). Você pode ver isso na camada oculta da arquitetura.
Embora a diferença entre um perceptron de múltiplas camadas e uma RNN possa parecer trivial, as implicações para o aprendizado de sequência são abrangentes. Um MLP pode mapear apenas de vetores de entrada para vetores de saída , enquanto um RNN pode, em princípio, mapear de todo o histórico de entradas anteriores para cada saída . De fato, o resultado equivalente à teoria da aproximação universal para MLPs é que um RNN com um número suficiente de unidades ocultas pode aproximar qualquer mapeamento de sequência a sequência mensurável com precisão arbitrária.
Comida para levar:
As conexões recorrentes permitem que uma 'memória' de entradas anteriores persista no estado interno da rede e, assim, influencia a saída da rede.
Falar em termos de vantagens não é apropriado, pois ambos são de ponta e são particularmente bons em determinadas tarefas. Uma ampla categoria de tarefas nas quais a RNN se destaca é:
Rotulagem de sequência
O objetivo da identificação de sequências é atribuir sequências de etiquetas, desenhadas a partir de um alfabeto fixo, a sequências de dados de entrada.
Ex: transcreva uma sequência de recursos acústicos com palavras faladas (reconhecimento de fala) ou uma sequência de quadros de vídeo com gestos com as mãos (reconhecimento de gestos).
Algumas das subtarefas na rotulagem de sequência são:
Classificação de sequência
As sequências de etiqueta são limitadas a ter o comprimento um. Isso é chamado de classificação de sequência, pois cada sequência de entrada é atribuída a uma única classe. Exemplos de tarefas de classificação de sequências incluem a identificação de uma única obra falada e o reconhecimento de uma carta manuscrita individual.
Classificação por segmento
Classificação de segmento refere-se às tarefas em que as seqüências de destino consistem em vários rótulos, mas os locais dos rótulos - ou seja, as posições dos segmentos de entrada aos quais os rótulos se aplicam - são conhecidos antecipadamente.
fonte
Uma rede neural recorrente (RNN) é uma rede neural artificial que contém conexões reversas ou automáticas, em vez de apenas ter conexões diretas, como em uma rede neural feed-forward (FFNN). O adjetivo "recorrente" refere-se, portanto, a essas conexões reversas ou automáticas, que criam loops nessas redes.
Uma RNN pode ser treinada usando retropropagação através do tempo (BBTT), de modo que essas conexões reversas ou automáticas "memorizem" as entradas vistas anteriormente. Portanto, essas conexões são usadas principalmente para rastrear relações temporais entre elementos de uma sequência de entradas, o que torna os RNNs adequados para a previsão de sequência e tarefas semelhantes.
Existem vários modelos de RNN: por exemplo, RNNs com unidades LSTM ou GRU. LSTM (ou GRU) é uma RNN cujas unidades únicas realizam uma transformação mais complexa do que uma unidade em uma "RNN simples", que executa uma transformação linear da entrada seguida pela aplicação de uma função não linear (por exemplo, ReLU) a esta transformação linear. Em teoria, "RNN simples" são tão poderosos quanto RNNs com unidades LSTM. Na prática, eles sofrem com o problema dos "gradientes que desaparecem e explodem". Portanto, na prática, LSTMs (ou unidades recorrentes sofisticadas similares) são usadas.
fonte