Quanto tempo uma rede recorrente lembra de uma extrassístole?

Três redes com o mesmo número de unidades ocultas (16) receberam a mesma tarefa: ler 8 segundos de ECG e dizer, apenas nos últimos 0,2 s da janela, se houve uma extrassístole ventricular em algum momento. Afaste o batimento anômalo do fim da janela e veja quem ainda se lembra dele. Os modelos foram pré-treinados e rodam aqui no seu navegador.

ECG sintético, derivação única, 50 amostras por segundo
Probabilidade de extrassístole lida a cada instante RNNLSTMGRU
A faixa escura no fim marca onde os modelos foram cobrados no treino. Antes dela, a curva mostra o que cada um responderia se a janela terminasse ali.
RNN no fim
–
LSTM no fim
–
GRU no fim
–

Dentro de cada célula

As três arquiteturas leem a mesma amostra e o mesmo estado anterior. A diferença está no caminho que a memória percorre de um instante para o outro. Os diagramas e a notação seguem o livro Dive into Deep Learning, redesenhados aqui com os valores do modelo no instante analisado.

Camada totalmente conectada com ativação Operador elemento a elemento Cópia Concatenação

Equações

Notação do d2l: Xt é a entrada (aqui, uma amostra de ECG, d = 1), Ht tem h = 16 unidades, ⊙ é o produto elemento a elemento. O d2l escreve com vetores-linha (XtW); a implementação usa vetores-coluna (Wxt), o que é a mesma conta com as matrizes transpostas.

Ativações ao longo do tempo, uma linha por unidade

Até onde o erro consegue voltar

Para aprender, cada rede precisa enviar o erro da resposta de volta até o instante em que a pista apareceu. O gráfico mostra quanto o logit da saída aτ (o valor antes da sigmoide), no instante analisado τ, é sensível aos estados e às amostras anteriores, em escala logarítmica. Cada linha de grade é um fator de 10.

O gradiente da perda que chega a cada instante é essa mesma curva multiplicada por um único número, (ŷτ − yτ), que não depende de t. Por isso, a forma do decaimento ao longo do tempo é a mesma que o treino enfrenta.

RNNLSTMGRU

O que cada modelo aprendeu

Os números abaixo vêm de 1.600 janelas de teste que nenhum modelo viu no treino. Antes de olhar, faça uma aposta.

A extrassístole aconteceu entre 4 e 5 segundos antes do fim da janela. Quem a detecta na maioria das vezes?

Parâmetros da RNN
321
h(h + x + 2) + h + 1
Parâmetros da GRU
929
cerca de 3 vezes a RNN
Parâmetros da LSTM
1.233
cerca de 4 vezes a RNN

Quando usar cada uma

RNN simples

Todo o passado passa por uma multiplicação por Whh e por uma tanh a cada passo. Como o gradiente é multiplicado sucessivamente pela matriz recorrente e pela derivada da tanh, ele pode diminuir ou crescer exponencialmente ao voltar no tempo; na prática, o desaparecimento é um problema frequente em dependências longas. Funciona bem quando a informação relevante está a poucas dezenas de amostras, como a morfologia de um único batimento. É a mais barata e a mais rápida.

LSTM

Cria um caminho aditivo para o estado da célula. Ao longo desse caminho, a memória é atualizada principalmente por multiplicações elemento a elemento e somas, sem uma multiplicação pela matriz recorrente a cada passo (as portas e o candidato continuam sendo calculados com matrizes). Com a porta de esquecimento perto de 1, o erro atravessa centenas de passos quase intacto. É a escolha clássica para ritmos, tendências e eventos raros em janelas longas.

GRU

Funde célula e estado oculto e usa duas portas em vez de três. A porta de atualização interpola entre manter o estado e reescrevê-lo, o que cria o mesmo atalho para o gradiente. Neste experimento, a GRU teve desempenho semelhante ao da LSTM com cerca de 25% menos parâmetros.

Referências