O que é uma rede neural recorrente (RNN)?

Uma rede neural recorrente (RNN) é uma rede neural de aprendizado profundo treinada para converter entradas sequenciais em saídas sequenciais específicas. As redes neurais tradicionais não conseguem lembrar dados passados, o que torna a RNN muito útil.

Demonstração da IA
Fatos importantes sobre redes neurais recorrentes
Introdução à RNN Quais são os diferentes tipos de RNNs? Qual a diferença entre redes neurais recorrentes e redes neurais feedforward? Quais são algumas variantes da arquitetura de RNN? Aplicações da RNN Quais são os desafios da RNN? Quais são as vantagens da RNN? Como a RNN funciona? Como implementar a RNN ServiceNow como uma alternativa eficaz às redes neurais recorrentes

Uma rede neural é um sistema computacional inspirado na estrutura do cérebro humano, composto por neurônios artificiais. Essas redes são desenvolvidas para replicar processos de tomada de decisões humanas. As redes neurais tradicionais, no entanto, normalmente processam cada entrada de forma independente, sem a capacidade de considerar a sequência ou o contexto dos dados. Por exemplo, ao processar as palavras "maçã vermelha", uma rede neural padrão não reconheceria "vermelho" como um atributo que descreve a maçã, desconsiderando totalmente o vínculo contextual entre as duas palavras.

Essa é uma limitação importante e que poderia facilmente impedir que as máquinas desenvolvessem qualquer coisa próxima ao que poderia ser considerado inteligência. Para lidar com essa lacuna, os pesquisadores desenvolveram redes neurais recorrentes (RNNs). Ao contrário dos modelos tradicionais, as RNNs incorporam mecanismos para reter informações ao longo de períodos, permitindo que eles mantenham uma memória de entradas anteriores. Essa capacidade permite que as RNNs entendam sequências e contextos dos dados, o que as torna particularmente úteis para tarefas em que a ordem é crucial, como o processamento de linguagem ou a análise de séries temporais.

 

Expandir tudo Recolher tudo Introdução à RNN

Uma rede neural recorrente é projetada como uma forma de tomada de decisões de IA capaz de reconhecer e reter a sequência na qual os dados são exibidos. Esse é um recurso crítico para processar informações sequenciais, tais como texto, números ou dados de série temporal. Ao contrário das redes neurais tradicionais, que tratam cada entrada de forma independente, as RNNs podem conectar informações anteriores às entradas atuais, permitindo um entendimento mais completo das sequências de dados.

Embora o conceito de rede neural recorrente tenha sido um grande divisor de águas quando introduzido, estabelecendo a base para a criação de modelos de aprendizado profundo, ele está sendo substituído pela inteligência artificial baseada em transformadores e por modelos de linguagem grandes (LLMs). Esses novos desenvolvimentos são mais eficientes no processamento de dados sequenciais.

Conheça o Now Intelligence Descubra como a ServiceNow está tirando a IA e a análise dos laboratórios para transformar a maneira como as empresas trabalham e acelerar a transformação digital. Receba o eBook
Quais são os diferentes tipos de RNNs?

As RNNs são distinguidas pela capacidade de processar sequências de dados ao reconhecer relacionamentos e dependências entre elementos individuais. Ainda que todas as RNNs compartilhem essa caraterística fundamental, cada uma das categorias a seguir são projetadas para lidar com tipos específicos de desafios de processamento de dados. Estes são os quatro tipos principais:

  • Um para um
    A forma mais simples de RNN, "um para um" descreve redes em que uma entrada é processada para gerar uma saída. Esse modelo serve como base para arquiteturas RNN mais complexas.

  • Um para muitos
    Nesta configuração, uma única entrada gera várias saídas. Este tipo de RNN é ideal para tarefas em que uma entrada pode acionar uma série de saídas relacionadas, mas distintas. Por exemplo, gerar uma frase a partir de uma única palavra descritiva ou produzir uma melodia a partir de uma nota musical.

  • Muitos para um
    O modelo "muitos para um" processa vários pontos de dados de entrada para produzir uma única saída. Ele é comumente usado em aplicações como análise de sentimento, onde várias palavras (entradas) contribuem para determinar o sentimento geral (saída) de uma frase ou documento

  • Muitos para muitos
    Esta última variação processa sequências tanto nas entradas como nas saídas. Ela é adequada para tarefas como tradução de idiomas, em que uma sequência de entrada de palavras em um idioma é convertida em uma sequência de saída em outro idioma. Esse modelo também pode lidar com situações em que as sequências de entrada e de saída têm tamanhos diferentes.

Qual a diferença entre redes neurais recorrentes e redes neurais feedforward?

Uma rede neural que não tem nós em loop é chamada de rede neural feedforward. Esse tipo de rede é semelhante à RNN, na medida em que ambos os modelos tentam processar dados de forma humana com muitos nós interconectados. No entanto, uma rede neural feedforward só passa as informações para frente, e o modelo não consegue se lembrar de nenhuma informação de entrada passada. Usando o exemplo acima, esse modelo não se lembraria da palavra vermelho assim que processasse a palavra maçã.

Em vez disso, a rede neural feedforward funciona movendo informações da camada de entrada para a camada de saída, incluindo quaisquer camadas ocultas. Esse tipo de modelo funciona bem para a classificação de imagens, onde a entrada e a saída são independentes. Ainda assim, essa rede difere das RNN porque não é capaz de lembrar a sequência como uma rede recorrente.

Quais são algumas variantes da arquitetura de RNN?

A arquitetura de RNN tem três variantes principais, cada qual adaptada a partir da estrutura básica para melhorar a funcionalidade e o desempenho para tarefas específicas. Essa flexibilidade no design ajuda a atender às demandas exclusivas de várias tarefas de processamento de sequência de dados. As seguintes variantes modificam a forma como os dados são processados e gerados, permitindo aplicações mais especializadas em uma variedade de campos:

Redes neurais recorrentes bidirecionais

Uma rede neural recorrente bidirecional (BRNN) processa sequências de dados para frente e para trás. A camada para frente funciona de forma muito semelhante à primeira camada da RNN, mas a camada para trás é diferente, para mover as informações em uma segunda direção. A combinação das duas camadas aumenta a precisão da previsão.

Memória de curto prazo longa

Memória de longo e curto prazo (LSTM) é um modelo desenvolvido para transportar memória mais longa. Uma RNN básica só pode lembrar a última entrada imediata. LSTMs podem usar entradas de sequências anteriores para melhorar a precisão das previsões. Considere este exemplo simplificado de entrada de dados: A maçã é vermelha. Ana só gosta de maçãs vermelhas. Uma LSTM lembraria que a maçã é vermelha ao processar informações sobre quais tipos de maçãs são importantes nesta situação. Uma RNN não se lembraria que a maçã é vermelha, porque essa informação foi apresentada em uma sequência anterior.

Unidades recorrentes controladas

Uma unidade recorrente controlada (GRU) é uma variante sofisticada da rede neural recorrente padrão, desenvolvida para abordar algumas das limitações relacionadas à retenção de memória. GRUs incorporam portas – mecanismos que regulam o fluxo de informações. Isso inclui a porta de atualização, que define quantas informações passadas (das etapas anteriores) devem ser mantidas, e a porta de redefinição, que decide quanto das informações passadas devem ser esquecidas. Isso permite que as GRUs retenham ou descartem as informações de forma seletiva, o que as torna altamente eficazes para tarefas em que entender o contexto ou a sequência de eventos é crucial.

Aplicações da RNN

As RNN são altamente versáteis no tratamento de dados que envolvem sequências, o que as torna adequadas para uma ampla gama de aplicações. Estes são alguns dos usos mais comuns:

  • Modelagem de linguagem e geração de texto 
    As RNNs podem prever a próxima palavra em uma frase com base nas palavras anteriores, o que é crucial para tarefas como a conclusão automática em mecanismos de pesquisa ou a geração automática de texto legível.

  • Reconhecimento de fala 
    Essas redes podem processar dados de áudio ao longo do tempo, o que as torna ideais para reconhecer palavras faladas em tempo real e convertê-las em texto, como visto em assistentes virtuais e aplicativos móveis de voz para texto.

  • Tradução de máquina 
    AS RNNs podem analisar sequências de palavras em uma língua e convertê-las em outra, mantendo a precisão gramatical e contextual no processo de tradução.

  • Reconhecimento de imagens 
    Embora não sejam tão comuns quanto outros modelos como CNNs para esta tarefa, a RNNs podem ser usadas para analisar sequências em imagens, como ler textos escritos à mão ou processar quadros de vídeo sequencialmente.

  • Previsão de séries de tempo 
    As RNNs são adequadas para prever valores futuros em uma série com base em dados históricos, e são aplicáveis em campos como previsão do mercado de ações, previsão do tempo e previsão de demanda no varejo.

Quais são os desafios da RNN?

Há alguns desafios que surgem com o uso das RNNs, que é parte da lógica por trás de substituí-los por novas redes neurais e variações. Estes são quatro dos maiores obstáculos ao usar redes neurais recorrentes: 

  • Explosão de gradiente
    O gradiente refere-se à sensibilidade da taxa de erro correspondente aos parâmetros do modelo. Se o gradiente aumentar exponencialmente, ele pode se tornar instável. Quando isso acontece, considera-se que uma explosão de gradiente ocorreu. Esse tipo de erro pode causar um ajuste excessivo, que é um fenômeno no qual o modelo consegue prever com precisão usando dados de treinamento, mas não com dados do mundo real.

  • Desvanecimento de gradiente
    Esse problema surge quando os valores do gradiente diminuem para quase zero durante o treinamento, o que retarda significativamente o processo de aprendizado ou o interrompe completamente. Um desvanecimento de gradiente dificulta que a RNN capture e aprenda com os dados de treinamento de forma eficaz, muitas vezes levando a um encaixe insuficiente, onde o modelo não pode fazer boas previsões.

  • Dificuldade em processar sequências longas
    As RNNs podem ter dificuldades com sequências de dados longas. Essa limitação surge porque as informações relevantes podem se diluir em sequências longas, prejudicando a capacidade do modelo de aprender com eficácia com esses dados.

  • Tempo de treinamento lento.
    Como uma RNN processa dados sequencialmente, ela não pode processar grandes quantidades de informações de forma simultânea. Esse processamento sequencial se reflete em tempos de treinamento mais longos, tornando a RNNs menos eficientes em comparação com outros modelos capazes de processar dados em paralelo, como transformadores.

Quais são as vantagens da RNN?

Além da capacidade de processar informações em sequência, há algumas outras vantagens principais de se confiar em uma rede neural recorrente:

  • As RNNs são equipadas com estruturas como unidades de memória de curto e longo prazo (LSTM) que tornam possível lembrar de informações por períodos estendidos. Esse recurso é crucial para tarefas em que o entendimento do contexto já apresentado é necessário para as previsões precisas sobre eventos futuros.

  • As RNNs podem ser combinadas com redes neurais convolucionais (CNNs) para melhorar a capacidade de processar dados espaciais, como imagens e vídeos. Essa combinação permite que as RNNs não somente reconheçam padrões ao longo do tempo, mas também ampliem seu "campo de visão" em termos de dados de pixels, melhorando a análise de sequências em entradas visuais.

  • Ao contrário de muitas outras arquiteturas de rede neural, as RNNs podem lidar com sequências de entrada de tamanhos diferentes sem remodelar ou redimensionar. Isso as torna altamente versáteis para aplicações como reconhecimento de fala, onde a duração dos dados de entrada pode variar significativamente.

  • As RNNs são inerentemente desenvolvidas para processar sequências em que o tempo entre eventos é crucial. Isso as torna excepcionalmente boas para aplicações como previsão de preços de ações, composição musical e outras análises sensíveis ao tempo, onde a sequência e o tempo dos pontos de dados históricos são essenciais para prever o futuro.

Como a RNN funciona?

Como mencionado, as RNNs são compostas por neurônios artificiais projetados para imitar a tomada de decisões humanas. Esses neurônios artificiais são nós de processamento de dados que trabalham juntos para realizar tarefas complexas. Os neurônios são organizados em várias camadas principais: entrada, saída e camadas ocultas. A camada de entrada recebe as informações que serão processadas, e a camada de saída fornece o resultado. O processamento, a análise e a previsão de dados ocorrem na camada oculta.

Camada oculta

Uma RNN funciona passando os dados sequenciais que recebe através das camadas ocultas, uma etapa por vez. Há, no entanto, um fluxo de trabalho recorrente ou recurso de loop automático na camada oculta. A camada oculta pode lembrar e usar entradas anteriores para previsões futuras na memória de curto prazo. A entrada atual será armazenada na memória para previsão na próxima sequência.

Por exemplo, considere a sequência: A chuva molha. Os usuários querem que uma RNN preveja a ideia "molhar" ao receber a entrada "chuva". A camada oculta processa e armazena a ideia de chuva. Uma cópia é armazenada na memória. Então, quando aparece a palavra "molhar", a RNN lembra da chuva na memória e cria uma sequência completa. Essas informações podem ser usadas para aumentar a precisão. Essa função é o que torna uma RNN útil para reconhecimento de fala, tradução e outras tarefas de modelagem de linguagem.

Sem custos desnecessários

Os engenheiros de aprendizado de máquina costumam treinar redes neurais, tais como RNNs, alimentando os dados de treinamento do modelo e refinando seu desempenho. Os neurônios em modelos neurais recebem "pesos" que sinalizam o quão influentes certas informações aprendidas no treinamento são ao prever as saídas. Cada camada em uma RNN inicialmente compartilha o mesmo peso.

Em seguida, os engenheiros ajustam os pesos à medida que o modelo aprende a definir a precisão da previsão. Para fazer isso, eles dependem de uma técnica chamada backpropagation through time (BPTT) para calcular o erro do modelo e ajustar o peso de acordo. Os engenheiros podem fazer isso para identificar qual estado oculto na sequência está causando um erro significativo e reajustar o peso para reduzir a margem de erro.

Como implementar a RNN

Os engenheiros de aprendizado de máquina criam uma rede neural recorrente usando as linguagens de programação que quiserem, como Python. Independentemente de como optem por fazer isso, estas são as etapas gerais para implementar uma RNN:

  • Criar a camada de entrada
    A primeira etapa é criar uma camada que possa coletar dados de entrada. Esta camada é composta por neurônios artificiais.

  • Criar estados ocultos
    Os modelos de RNN podem ter várias camadas ocultas que fazem o processamento real da rede neural. Essas camadas também são compostas de neurônios artificiais que estão interconectados. Isso ajuda a imitar as habilidades de previsão humanas, bem como possibilita o sequenciamento.

  • Criar a camada de saída
    Essa camada final prevê os resultados. Alguns modelos também podem conter camadas adicionais a jusante.

  • Treinar com pesos
    Os parâmetros exatos e as margens de erro são criados depois que os engenheiros treinam o modelo com dados. Pode levar tempo para ajustar os pesos exatamente e para evitar o desvanecimento ou a explosão de gradiente.

Preços da ServiceNow A ServiceNow oferece pacotes de produtos competitivos que se adaptam ao crescimento e às necessidades em constante mudança da sua empresa. Acessar preços
ServiceNow como uma alternativa eficaz às redes neurais recorrentes

As redes neurais recorrentes estabeleceram uma base sólida para o processamento de dados sequenciais. No entanto, elas têm limitações que levaram muitas empresas a depender da inteligência artificial e de modelos mais recentes e avançados para suas necessidades. É por isso que a Now Platform® da ServiceNow usa aprendizado de máquina avançado e IA generativa. Isso inclui estruturas de aprendizado de máquina, compreensão de linguagem natural, pesquisa e automação e análise e mineração de processos, tecnologias de IA inovadoras e de ponta que trabalham juntas para expandir seus negócios.

Faça uma demonstração da ServiceNow hoje mesmo para ver como as novas soluções de rede neural podem ser o próximo passo do seu caminho para o sucesso.

Conheça melhor a IA generativa Acelere a produtividade com o Now Assist: a IA generativa integrada diretamente à Now Platform. Explore a IA Fale conosco
Recursos Artigos O que é IA? O que é IA generativa? O que é um LLM? Relatórios dos analistas IDC InfoBrief: Maximize AI Value with a Digital Platform (Maximize o valor da IA com uma plataforma digital) Generative AI in IT Operations (IA generativa em operações de TI) Implementação da IA generativa no setor de telecomunicações Folhas de dados AI Search (Pesquisa com IA) Preveja e evite indisponibilidades com a AIOps preditiva da ServiceNow® eBooks Modernize IT Services and Operations with AI (Modernize serviços e operações de TI com a IA) GenAI: Is it really that big of a deal? (IA generativa: é tudo isso mesmo?) Libere a produtividade em toda a empresa com a GenAI White Papers Enterprise AI Maturity Index (Índice de maturidade da IA empresarial) GenAI for Telco (IA generativa para telecomunicações)