Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Como Funciona uma RNN? | Introdução às RNNs
Introdução a RNNs

bookComo Funciona uma RNN?

Note
Definição

Redes neurais recorrentes (RNNs) são projetadas para lidar com dados sequenciais ao reter informações de entradas anteriores em seus estados internos. Isso as torna ideais para tarefas como modelagem de linguagem e previsão de sequências.

Medidas de distância
  • Processamento sequencial: a RNN processa os dados passo a passo, acompanhando o que já foi apresentado;
  • Completação de sentença: dada a sentença incompleta "My favourite dish is sushi. So, my favourite cuisine is _____." a RNN processa as palavras uma a uma. Após ver "sushi", ela prevê a próxima palavra como "Japanese" com base no contexto anterior;
  • Memória nas RNNs: a cada etapa, a RNN atualiza seu estado interno (memória) com novas informações, garantindo que mantenha o contexto para etapas futuras;
  • Treinamento da RNN: as RNNs são treinadas usando retropropagação no tempo (BPTT), onde os erros são propagados para trás em cada etapa temporal para ajustar os pesos e melhorar as previsões.

Propagação Direta

Durante a propagação direta, a RNN processa os dados de entrada passo a passo:

  1. Entrada no instante de tempo tt: a rede recebe uma entrada xtx_t em cada instante de tempo;

  2. Atualização do estado oculto: o estado oculto atual hth_t é atualizado com base no estado oculto anterior ht1h_{t-1} e na entrada atual xtx_t utilizando a seguinte fórmula:

    ht=f(W[ht1,xt]+b)
    • Onde:
      • WW é a matriz de pesos;
      • bb é o vetor de bias;
      • ff é a função de ativação.
  3. Geração da saída: a saída yty_t é gerada com base no estado oculto atual hth_t utilizando a fórmula:

    yt=g(Vht+c)

    • Onde:
      • VV é a matriz de pesos de saída;
      • cc é o bias de saída;
      • gg é a função de ativação utilizada na camada de saída.

Processo de Retropropagação

A retropropagação em RNNs é fundamental para atualizar os pesos e aprimorar o modelo. O processo é modificado para considerar a natureza sequencial das RNNs por meio da retropropagação no tempo (BPTT):

  1. Cálculo do erro: o primeiro passo na BPTT é calcular o erro em cada instante de tempo. Esse erro geralmente é a diferença entre a saída prevista e o alvo real;

  2. Cálculo do gradiente: em Redes Neurais Recorrentes, os gradientes da função de perda são calculados diferenciando o erro em relação aos parâmetros da rede e propagados para trás no tempo, do passo final ao inicial, o que pode levar a gradientes que desaparecem ou explodem, especialmente em sequências longas;

  3. Atualização dos pesos: uma vez que os gradientes são calculados, os pesos são atualizados utilizando uma técnica de otimização como o gradiente descendente estocástico (SGD). Os pesos são ajustados de modo que o erro seja minimizado em iterações futuras. A fórmula para atualização dos pesos é:

    W:=WηLossW

    • Onde:
      • η\eta é a taxa de aprendizado;
      • LossW é o gradiente da função de perda em relação à matriz de pesos.

Em resumo, as RNNs são poderosas porque conseguem memorizar e utilizar informações passadas, tornando-as adequadas para tarefas que envolvem sequências.

question mark

Qual é o papel da função gg na equação de saída yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain the difference between RNNs and other neural networks like CNNs?

What are some common applications of RNNs in real-world scenarios?

Can you elaborate on the vanishing and exploding gradient problems in RNNs?

Awesome!

Completion rate improved to 4.55

bookComo Funciona uma RNN?

Deslize para mostrar o menu

Note
Definição

Redes neurais recorrentes (RNNs) são projetadas para lidar com dados sequenciais ao reter informações de entradas anteriores em seus estados internos. Isso as torna ideais para tarefas como modelagem de linguagem e previsão de sequências.

Medidas de distância
  • Processamento sequencial: a RNN processa os dados passo a passo, acompanhando o que já foi apresentado;
  • Completação de sentença: dada a sentença incompleta "My favourite dish is sushi. So, my favourite cuisine is _____." a RNN processa as palavras uma a uma. Após ver "sushi", ela prevê a próxima palavra como "Japanese" com base no contexto anterior;
  • Memória nas RNNs: a cada etapa, a RNN atualiza seu estado interno (memória) com novas informações, garantindo que mantenha o contexto para etapas futuras;
  • Treinamento da RNN: as RNNs são treinadas usando retropropagação no tempo (BPTT), onde os erros são propagados para trás em cada etapa temporal para ajustar os pesos e melhorar as previsões.

Propagação Direta

Durante a propagação direta, a RNN processa os dados de entrada passo a passo:

  1. Entrada no instante de tempo tt: a rede recebe uma entrada xtx_t em cada instante de tempo;

  2. Atualização do estado oculto: o estado oculto atual hth_t é atualizado com base no estado oculto anterior ht1h_{t-1} e na entrada atual xtx_t utilizando a seguinte fórmula:

    ht=f(W[ht1,xt]+b)
    • Onde:
      • WW é a matriz de pesos;
      • bb é o vetor de bias;
      • ff é a função de ativação.
  3. Geração da saída: a saída yty_t é gerada com base no estado oculto atual hth_t utilizando a fórmula:

    yt=g(Vht+c)

    • Onde:
      • VV é a matriz de pesos de saída;
      • cc é o bias de saída;
      • gg é a função de ativação utilizada na camada de saída.

Processo de Retropropagação

A retropropagação em RNNs é fundamental para atualizar os pesos e aprimorar o modelo. O processo é modificado para considerar a natureza sequencial das RNNs por meio da retropropagação no tempo (BPTT):

  1. Cálculo do erro: o primeiro passo na BPTT é calcular o erro em cada instante de tempo. Esse erro geralmente é a diferença entre a saída prevista e o alvo real;

  2. Cálculo do gradiente: em Redes Neurais Recorrentes, os gradientes da função de perda são calculados diferenciando o erro em relação aos parâmetros da rede e propagados para trás no tempo, do passo final ao inicial, o que pode levar a gradientes que desaparecem ou explodem, especialmente em sequências longas;

  3. Atualização dos pesos: uma vez que os gradientes são calculados, os pesos são atualizados utilizando uma técnica de otimização como o gradiente descendente estocástico (SGD). Os pesos são ajustados de modo que o erro seja minimizado em iterações futuras. A fórmula para atualização dos pesos é:

    W:=WηLossW

    • Onde:
      • η\eta é a taxa de aprendizado;
      • LossW é o gradiente da função de perda em relação à matriz de pesos.

Em resumo, as RNNs são poderosas porque conseguem memorizar e utilizar informações passadas, tornando-as adequadas para tarefas que envolvem sequências.

question mark

Qual é o papel da função gg na equação de saída yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2
some-alt