Como Funciona a RNN?
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.
- Processamento sequencial: a RNN processa os dados passo a passo, acompanhando o que já foi apresentado;
- Completação de sentença: dada a frase incompleta
"My favourite dish is sushi. So, my favourite cuisine is _____."
, a RNN processa as palavras uma a uma. Após identificar"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 utilizando 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:
-
Entrada no instante de tempo t: a rede recebe uma entrada xt em cada instante de tempo;
-
Atualização do estado oculto: o estado oculto atual ht é atualizado com base no estado oculto anterior ht−1 e na entrada atual xt utilizando a seguinte fórmula:
- Onde:
- W é a matriz de pesos;
- b é o vetor de bias;
- f é a função de ativação.
- Onde:
-
Geração da saída: a saída yt é gerada com base no estado oculto atual ht utilizando a fórmula:
- Onde:
- V é a matriz de pesos de saída;
- c é o bias de saída;
- g é a função de ativação utilizada na camada de saída.
- Onde:
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):
-
Cálculo do erro: o primeiro passo na BPTT é calcular o erro em cada passo de tempo. Esse erro geralmente é a diferença entre a saída prevista e o alvo real;
-
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;
-
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 forma que o erro seja minimizado em iterações futuras. A fórmula para atualização dos pesos é:
- Onde:
- η é a taxa de aprendizado;
- é o gradiente da função de perda em relação à matriz de pesos.
- Onde:
Em resumo, as RNNs são poderosas porque podem memorizar e utilizar informações passadas, tornando-as adequadas para tarefas que envolvem sequências.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.55
Como Funciona a RNN?
Deslize para mostrar o menu
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.
- Processamento sequencial: a RNN processa os dados passo a passo, acompanhando o que já foi apresentado;
- Completação de sentença: dada a frase incompleta
"My favourite dish is sushi. So, my favourite cuisine is _____."
, a RNN processa as palavras uma a uma. Após identificar"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 utilizando 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:
-
Entrada no instante de tempo t: a rede recebe uma entrada xt em cada instante de tempo;
-
Atualização do estado oculto: o estado oculto atual ht é atualizado com base no estado oculto anterior ht−1 e na entrada atual xt utilizando a seguinte fórmula:
- Onde:
- W é a matriz de pesos;
- b é o vetor de bias;
- f é a função de ativação.
- Onde:
-
Geração da saída: a saída yt é gerada com base no estado oculto atual ht utilizando a fórmula:
- Onde:
- V é a matriz de pesos de saída;
- c é o bias de saída;
- g é a função de ativação utilizada na camada de saída.
- Onde:
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):
-
Cálculo do erro: o primeiro passo na BPTT é calcular o erro em cada passo de tempo. Esse erro geralmente é a diferença entre a saída prevista e o alvo real;
-
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;
-
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 forma que o erro seja minimizado em iterações futuras. A fórmula para atualização dos pesos é:
- Onde:
- η é a taxa de aprendizado;
- é o gradiente da função de perda em relação à matriz de pesos.
- Onde:
Em resumo, as RNNs são poderosas porque podem memorizar e utilizar informações passadas, tornando-as adequadas para tarefas que envolvem sequências.
Obrigado pelo seu feedback!