Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Semana 7 - Videoaula 20 - Redes Neurais - COM510

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 21

REDES NEURAIS

Redes recorrentes com memória


de longo prazo
TÓPICOS

1. Desaparecimento/explosão do
gradiente
2. Unidades com memória de Longo
Prazo:
• GRU e LSTM
3. Possíveis extensões
UNIDADE TRADICIONAL

Saída

at-1 tanh at

xt
PROBLEMAS COM O GRADIENTE

PROBLEMA COMUM AO UTILIZAR O MÉTODO DO


GRADIENTE DESCENDENTE E O ALGORITMO DE
RETROPROPAGAÇÃO: DESAPARECIMENTO OU
EXPLOSÃO

• Desaparecimento do gradiente (vanishing): o


gradiente se torna ínfimo, impossibilitando o ajuste
dos pesos

• Explosão do gradiente: dependendo da função de


ativação, o valor do gradiente pode se tornar muito
elevado saturando (estourando) as sinapses
PROBLEMAS COM O GRADIENTE

• Recordando o cálculo do gradiente nos neurônios


ocultos:

• O gradiente do neurônio j consiste na


multiplicação da derivada da função de ativação de
j pelo somatório das derivadas dos neurônios
posteriores k, camada a camada
PROBLEMAS COM O GRADIENTE

• Embora o problema não seja tão


aparente nas redes alimentadas
adiante, pode complicar o
treinamento das redes recorrentes
CONSIDERAÇÕES

• Visando resolver esse problema, o


modelo LSTM foi proposto em 1997
• A rede LSTM permite que tanto o sinal
na fase de propagação quanto o sinal
do gradiente na retropropagação
sejam preservados
• Resolvendo o problema do
desaparecimento/explosão do
gradiente
LONG-SHORT TERM MEMORY

• Proposta em 1997 pelos


professores Sepp Hochreiter e
Jürgen Schmidhuber
• Ampliada por Felix Gers em
2000
• Inclusão da porta de
esquecimento

Fontes: https://de.wikipedia.org/wiki/Sepp_Hochreiter
https://www.brainpreservation.org/team/juergen-schmidhuber/
LONG-SHORT TERM MEMORY

 Uma célula LSTM é composta por três gates:


entrada, saída e esquecimento (forget)
• Gate de entrada (ou de atualização): Gate U
• Gate de saída: Gate O
• Gate de esquecimento: Gate F

 A célula é capaz de recordar sinais arbitrários do


passado a partir da configuração dos gates –
controle do fluxo de informação

 Teoricamente, sinais podem ser mantidos por


longos períodos
LONG-SHORT TERM MEMORY

A célula LSTM possui dois sinais de memória


• ct – Sinal interno (estado da célula)
• at – Sinal externo (sinal de saída)

ct-1 * + ct tanh

*
c~t * at
F U tanh O

at-1

xt
LONG-SHORT TERM MEMORY-LSTM
LONG-SHORT TERM MEMORY-LSTM

ct-1 * + ct tanh

*
c~t * at
F U tanh O

at-1

xt
GATED RECURRENT UNIT-GRU

• Proposta por Kyunghyun Cho (2014)


Saída
• Versão Simplificada da LSTM
• Duas versões

at-1 * at

tanh

Fonte:
https://cims.nyu.edu/people/pr
ofiles/CHO_Kyunghyun.html xt
GRU (SIMPLIFICADA)

NEURÔNIO CONTÉM UM GATE DE ATUALIZAÇÃO

• Responsável por indicar quais sinais são


preservados ao longo do tempo
GRU (COMPLETA)

NEURÔNIO GRU (FULL): GATE DE RELEVÂNCIA


GRU x LSTM

GRU LSTM
• Um (ou dois) gates • Três gates
• Dois (ou três) • Quatro matrizes
matrizes de pesos de pesos
• Apenas um sinal • Dois sinais
interno internos (a e c)

Por possuir mais parâmetros, a LSTM


tem mais flexibilidade. Na prática, os
resultados são similares
REDES PROFUNDAS

y1 y2 y3 yt
• Geralmente
não se usa
C31 C32 C33 C3T
muitas
camadas
C21 C22 C23 C2T

• Excesso de
C11 C12 C13 C1T
parâmetros
dificulta o
x2 x3 xt
treinamento
x1
VARIAÇÕES
Redes LSTM (ou GRU)
Bidirecionais
• Precisamos avaliar a ativação
dos neurônios nos dois
→ ←
sentidos [𝒂, 𝒂] Fonte:
http://colah.github.io/posts/
2015-09-NN-Types-FP/
• A saída depende das ativações
calculadas nos dois sentidos:
̂ → ←
𝒚 = 𝒈 𝑾𝒚 [𝒂, 𝒂] + 𝒃

• Problema: precisamos avaliar a


sequência inteira antes de gerar
uma saída
VARIAÇÕES

• RNNs Convolucionais

• Redes Transformers etc.

Fonte: https://towardsdatascience.com/an-approach-towards-
convolutional-recurrent-neural-networks-a2e6ce722b19
O QUE VIMOS?

• Conhecemos o problema relacionado ao


desaparecimento ou explosão do
gradiente

• Aprendemos sobre as redes com


memória de Longo Prazo: GRU e LSTM
PRÓXIMA AULA

 Na nossa próxima aula, última videoaula,


iremos realizar alguns experimentos
práticos com a rede GRU em Pytorch

ATÉ A PRÓXIMA VIDEOAULA

Você também pode gostar