# Recurrent Neural Network: O que é rede neural recorrente

Recurrent Neural Network (RNN), ou rede neural recorrente em português, é uma rede que pode gerar feedbacks e, assim, criar uma espécie de memória. A técnica é especialmente aplicada ao lidar com dados sequenciais e exige um esforço de treinamento relativamente alto.

## O que é Recurrent Neural Network?

Uma rede neural recorrente é uma rede neural artificial capaz de **gerar feedbacks** e **reinserir informações de saída como entradas novamente**. Esse método é utilizado principalmente no processamento de dados sequenciais, nas áreas de [deep learning](https://www.ionos.com/digitalguide/online-marketing/search-engine-marketing/deep-learning/ "Deep Learning") e [inteligência artificial (IA)](https://www.ionos.com/pt-br/digitalguide/marketing-online/vender-na-internet/o-que-e-inteligencia-artificial-ia/). Em português, também é chamado de rede neural recorrente. Ao absorver informações de entradas anteriores, a rede neural recorrente desenvolve uma espécie de memória e altera a saída conforme os elementos anteriores dentro de uma sequência. Existem diferentes tipos de feedback, o que amplia as possibilidades, mas também torna o treinamento mais desafiador.

## Como funcionam as Recurrent Neural Networks?

À primeira vista, Recurrent Neural Networks também são estruturadas como outras redes neurais. Elas consistem em **pelo menos três camadas (layers) diferentes**, que contêm neurônios (nós) conectados entre si por arestas. Falamos da camada de entrada (Input Layer), uma camada de saída (Output Layer) e uma quantidade variável de camadas intermediárias, também chamadas de Hidden Layer.

- **Camada de entrada**: Nessa camada, as informações provenientes do ambiente externo são recebidas. Elas são então ponderadas e passadas para a camada superior.
- **Camada intermediária**: Estas são as Hidden Layers. Aqui, as informações são passadas e reponderadas. Isso acontece a cada camada adicional e de forma oculta, daí o nome de camadas ocultas.
- **Camada de saída**: A informação avaliada ou modificada é então passada pela camada de saída (Output Layer). Esse output pode ser o resultado ou ser usado como entrada para outros neurônios.

[![Imagem: Infográfico sobre redes neurais recorrentes](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/8/2/csm_2_Rekurrent_BR_5c5f27a3ef.webp "Infográfico sobre redes neurais recorrentes")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Schaubilder/2_Rekurrent_BR.png) Uma rede neural recorrente é capaz de gerar feedbacks. O que é especial em uma Recurrent Neural Network é a capacidade de determinar a **direção do fluxo de informações**. Por meio da retroalimentação, a saída de um neurônio não precisa necessariamente ser enviada para a camada seguinte, mas pode ser usada como entrada do mesmo neurônio, de um neurônio na mesma camada ou de um neurônio na camada anterior. O parâmetro de ponderação permanece o mesmo em cada camada. A retroalimentação é dividida em quatro categorias:

- **Retroalimentação direta**: Quando a saída do mesmo neurônio é usada como entrada.
- **Retroalimentação indireta**: Quando a saída de um neurônio é conectada a uma camada anterior.
- **Retroalimentação lateral**: Quando a saída de um neurônio é conectada à entrada de outro neurônio na mesma camada.
- **Retroalimentação total**: Quando as saídas de todos os neurônios são conectadas a outros neurônios.

## Como Recurrent Neural Networks são treinadas?

Treinar Recurrent Neural Networks é mais complicado, pois informações passadas frequentemente não são consideradas ou são mal interpretadas. Para resolver esse problema, frequentemente utiliza-se funções como a [Long Short-Term Memory (LSTM)](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/long-short-term-memory/), que permite que as informações sejam armazenadas por mais tempo. Com o treinamento adequado, uma Recurrent Neural Network pode **diferenciar informações importantes das não importantes** e reinseri-las na rede.

## Quais são as arquiteturas disponíveis para Recurrent Neural Networks?

Existem várias arquiteturas que diferenciam as Recurrent Neural Networks. As mais comuns são:

- **One to many**: Aqui, a Recurrent Neural Network recebe uma entrada e retorna várias saídas. Um exemplo prático disso é a legenda de imagens, onde uma frase é gerada a partir de uma palavra-chave.
- **Many to one**: Neste caso, várias entradas são associadas a uma única saída. Esse princípio é utilizado, por exemplo, na análise de sentimentos, onde o feedback é previsto com base em referências.
- **Many to many**: Aqui, várias entradas geram várias saídas. A quantidade não precisa ser igual. A técnica é usada, por exemplo, na tradução de um idioma para outro.

## Quais são as principais áreas de aplicação de Recurrent Neural Networks?

Redes neurais recorrentes são especialmente úteis quando o **contexto na análise de informações** é importante. Isso é particularmente relevante para lidar com **dados sequenciais**, que seguem uma determinada ordem ou sequência temporal. Em tais casos, as RNNs podem prever resultados com mais precisão usando o contexto de entradas anteriores. A técnica é, portanto, adequada para os seguintes campos de aplicação:

- **Previsões e dados de séries temporais**: RNNs são amplamente utilizadas para prever eventos ou valores com base em dados históricos, como na análise de mercado financeiro, previsão do tempo ou consumo de energia.
- **Processamento de Linguagem Natural (NLP)**: Na área de processamento de linguagem natural, ou [Natural Language Processing](https://www.ionos.com/digitalguide/online-marketing/online-sales/how-does-natural-language-processing-work/ "Como funciona o processamento de linguagem natural"), as redes neurais recorrentes são particularmente úteis. Elas são aplicadas em tarefas como tradução automática, modelagem de linguagem, reconhecimento de texto e geração automática de textos.
- **Reconhecimento de fala**: RNNs desempenham um papel crucial na tecnologia de reconhecimento de fala, onde são utilizadas para converter fala em texto. Essas aplicações são encontradas, por exemplo, em assistentes digitais e serviços de transcrição automática.
- **Análise de imagens e vídeos**: Embora redes neurais recorrentes sejam principalmente utilizadas para o processamento de dados sequenciais, elas também podem ser aplicadas na análise de imagens e vídeos, especialmente ao processar sequências de imagens ou vídeos, como em resumos de vídeos ou na detecção de atividades em vídeos de vigilância.

## Diferença entre Feedforward Neural Network e Recurrent Neural Network

Recurrent Neural Network é uma evolução da [Feedforward Neural Network (FNN)](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/feedforward-neural-network/), que **não permite retroalimentações**. Na FNN, as informações fluem sempre em uma única direção, para a camada seguinte, sem retornar para camadas anteriores. Assim, uma Feedforward Neural Network pode reconhecer padrões, mas não consegue reavaliar informações já processadas.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/recurrent-neural-network/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/recurrent-neural-network/) for AI/LLM consumption.