Redes neurais recorrentes aprendem com dados de treinamento, assim como as redes neurais tradicionais, incluindo as redes neurais feedforward e as redes neurais convolucionais (CNNs). O diferencial das RNNs está na “memória”, pois elas utilizam informações dos inputs anteriores para influenciar as entradas e saídas atuais.
Enquanto as redes tradicionais de deep learning tratam entradas e saídas como elementos independentes, as redes neurais recorrentes dependem dos elementos anteriores na sequência. Embora eventos futuros pudessem ajudar na determinação da saída de uma sequência, as redes neurais recorrentes unidirecionais não conseguem incorporá-los em suas previsões.
Vamos tomar como exemplo a expressão “sentindo-se indisposto”, frequentemente usada para indicar que alguém está doente, para ilustrar o funcionamento das RNNs. Para que a expressão tenha sentido, as palavras devem ser organizadas nessa ordem específica. Por isso, as redes neurais recorrentes devem considerar a posição de cada palavra dentro da expressão e utilizar essa informação para prever a próxima palavra da sequência.
Cada palavra da expressão "sentindo-se indisposto" faz parte de uma sequência, na qual a ordem tem importância. A RNN mantém um estado oculto a cada etapa para acompanhar o contexto. O loop de feedback ocorre ao passar o estado oculto de um instante para o seguinte. O estado oculto funciona como uma memória que armazena informações das entradas anteriores. A cada etapa, a RNN processa a entrada atual (como uma palavra em uma frase) junto com o estado oculto da etapa anterior. Isso permite que a RNN "lembre" dados anteriores e utilize essa informação para influenciar a saída atual.
Outro aspecto que diferencia as redes recorrentes é o compartilhamento de parâmetros entre as camadas da rede. Enquanto as redes feedforward atribuem pesos diferentes a cada nó, as redes neurais recorrentes utilizam o mesmo parâmetro de peso em todas as camadas. No entanto, esses pesos são ajustados pelos processos de retropropagação e gradiente descendente para otimizar o aprendizado por reforço.
As redes neurais recorrentes utilizam algoritmos de propagação direta e retropropagação através do tempo (BPTT) para calcular os gradientes (ou derivadas), um processo semelhante à retropropagação tradicional, mas adaptado para dados sequenciais. Os princípios da BPTT são equivalentes aos da retropropagação tradicional, na qual o modelo se ajusta ao calcular erros da camada de saída até a camada de entrada. Esses cálculos permitem ajustar e definir os parâmetros do modelo de forma adequada. O BPTT se diferencia da abordagem tradicional porque ele soma os erros a cada etapa, enquanto as redes feedforward não precisam somá-los, já que não compartilham parâmetros entre as camadas.